明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 革天明

如何使用LISP生成和读取自定义后缀名的文件?

  [复制链接]
发表于 2012-11-24 20:30:56 | 显示全部楼层
caoyin 发表于 2011-12-23 16:48
1.你的文件是需要程序来读取和写入的。
只提供一个数据文件,而不提供fas、vlx程序文件,鬼才会猜得到。 ...

是否只有vlx 文件也能翻编译出来?
发表于 2012-11-24 20:34:25 | 显示全部楼层
革天明 发表于 2011-12-23 14:19
caoyin,zzxxqq试试能不能知道我这个文件里写的什么?测试一下加密的好不好!UltraEDIT我打开会看不出来什么 ...

你的这个.CX2文件可以写入文字和读出吗?
 楼主| 发表于 2012-11-26 08:17:34 | 显示全部楼层
328302216 发表于 2012-11-24 20:34
你的这个.CX2文件可以写入文字和读出吗?

可以,但你用记事本打开就什么都看到了,起不到加密作用,想用的话还是用DOSLIB中的一个函数吧,先存成任意格式,再用DOSLIB中的函数加密后写入,读取时先读取,再解密,这样别人打开时会显示乱码
发表于 2012-11-27 14:42:59 | 显示全部楼层
楼主  能否把源码发上来给小弟学习学习!因为这个对于我来说也是很有帮助而且很实用的!  先感谢楼主了
发表于 2012-11-27 14:43:41 | 显示全部楼层
QQ328302216
发表于 2012-11-27 14:47:49 | 显示全部楼层
caoyin 发表于 2011-12-23 16:48
1.你的文件是需要程序来读取和写入的。
只提供一个数据文件,而不提供fas、vlx程序文件,鬼才会猜得到。 ...

曹版 是不是已经把他的vlx破解了
 楼主| 发表于 2012-11-27 18:28:53 | 显示全部楼层
;;;晓东空间上讨论的结果。
;;; ==================================================================
;;; 求随机数(0~1)--by 狂刀
(defun xl:th-rnd ()                        ; 随机数种子
   (* (rem (getvar "cputicks") 1e3) 1e-3)
)
;;; 求n个a-b随机数列表----by 狂刀
(defun xl:th-rndx1-list        (a b n / c lst)        ; 随机数表
   (setq c (- b a))
   (repeat n
     (setq lst (cons (+ a (* (xl:th-rnd) c)) lst))
   )
)

(defun c:t2 ()
   (print
     (xl:rndstrjm_r
       (getstring)
       "HIJa5yKL6lUV13W9XYZ0bgj+opnMhiNcdexf8OPrvzQRSsuA?=wBq4C2DmE7kFG/tT"
     )
   )
)

(defun c:t1 ()
   (print
     (xl:rndstrjm
       (getstring)
       "HIJa5yKL6lUV13W9XYZ0bgj+opnMhiNcdexf8OPrvzQRSsuA?=wBq4C2DmE7kFG/tT"
     )
   )
)

;;注:KEY值中不能带“\”字符,长度应>42个字符,且不能重复

;;字符串随机数法加密
;;s:被加密字串
;;key:密钥,KEY值中不能带“\”字符
;;返回:加密后的字符串
;;      当S或KEY为空时,返回NIL
(defun xl:rndstrjm (S KEY / N nk I J buff outs temp k m)
   (IF (AND S KEY)
     (IF        (or (= (SETQ N (STRLEN S)) 0) (= (SETQ Nk (STRLEN key)) 0))
       NIL
       (PROGN
        ;;主程序
        (setq buff (vl-string->list s)        ;将字符串转换为ASC II码
              i           0
              outs ""
        )
        (repeat        n
          (setq j (fix (car (xl:th-rndx1-list 0 6 1))))
                                        ;产生0-5之间的随机数
          (setq        temp (boole 6 (nth i buff) j)
                k    (rem temp nk)
                m    (fix (/ temp nk))
                m    (+ (* m 8) j)
                temp (strcat (substr key (+ k 1) 1) (substr key (+ m 1) 1))
                outs (strcat outs temp)
          )
          (setq i (1+ i))
        )
        ;;end 主程序
        outs
       )
       ;;END (PROGN
     )
     ;;END (IF (or (= (SETQ N (STRLEN S)) 0)
   )
   ;;END (IF (AND S KEY)
)
;;

;;字符串随机数法解密
;;s:被解密字串
;;key:密钥,KEY值中不能带“\”字符
;;返回:解密后的字符串
;;      当S或KEY为空时,返回NIL
(defun xl:rndstrjm_r (S KEY / N nk I J buff T1 T2 k m outs)
   (IF (AND S KEY)
     (IF        (or (= (SETQ N (STRLEN S)) 0) (= (SETQ Nk (STRLEN key)) 0))
       NIL
       (PROGN
        (setq i 1)
        (repeat        (/ n 2)
          (SETQ        T1   (SUBSTR S I 1)
                T2   (SUBSTR S (+ I 1) 1)
                k    (vl-string-search t1 key)
                m    (vl-string-search t2 key)
                j    (fix (/ m (expt 2 3)))
                m    (- m (* j (expt 2 3)))
                temp (+ (* j nk) k)
                buff (append buff (list (boole 6 temp m)))
          )
          (setq i (+ i 2))
        )
        ;;(vl-list->string  buff)
        (setq i        0
              outs ""
        )
        (repeat        (length buff)
          (setq temp (nth i buff))
          (if (= temp 92)
            (setq temp "\\")
            (setq temp (chr temp))
          )
          (setq        outs (strcat outs temp)
                i    (1+ i)
          )
        )
        ;;end (repeat (length
        Outs
       )
       ;;END (PROGN
     )
     ;;END (IF (or (= (SETQ N (STRLEN S)) 0)
   )
   ;;END (IF (AND S KEY)
)
;;


主要函数见上面,现在我已经不采用这种方式了,我采用的就是我上面说的,使用DOSLIB中的函数,我关注自定义文件格式已有6年了,但不是软件专业,所以目前没有好的解决手段,只能使用这种伪文件格式了
发表于 2012-11-27 19:28:15 来自手机 | 显示全部楼层
向楼主学习。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-6-5 22:07 , Processed in 0.175765 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表