[原创]中望CAD的zelx格式文件初探
本帖最后由 baitang36 于 2023-8-1 10:34 编辑中望CAD有个compile命令,可以把lsp文件编译成zelx文件。相当于(compile-zelx"xxxx.lsp" "xxxx.zelx")
这个命令也可以直接加密lsp,相当于(compile-lisp"xxxx1.lsp" "xxxx2.lsp"),把lsp变成ENC_FILE_ZW_AES开头的加密lsp文件。
这两种文件哪一种更安全呢?
ENC_FILE_ZW_AES文件是直接加密,cpu是不认识加密文件的,在运行的过程中,它必然要解密成原始的样子,然后才能被加载。也就是说加密算法和密钥都在内存中,理论上讲,可以用od跟踪,获取到原始的lsp源码,只要找到合适的断点。
因此,ENC_FILE_ZW_AES文件是不安全的,一旦被解密,拿到的就是带注释的源码。
zelx文件能见到的有两种,一种是用fas直接转换成的,它的版本号可能是1.4(猜测,不确定)格式和fas差不多,指令系统也和fas有对应关系,因为它是由fas转换来的,转换程序只能处理标准的fas文件,因此它的安全性也不高,估计可能有高手能转换回去,zelx2fas的编写难度并不太高。转换成的fas是可以被反编译的。另一种zelx是直接用compile命令生成的,它的版本号可能是2.2(猜测,不确定),目前看它是最安全的。
版本号2.2的zelx有几个特点:
1.zelx是个压缩文件,压缩算法不是常见的算法。(princ “0”)和(princ “0000000000000000000000000000”)编译出来的文件是几乎一样大的,压缩效率还挺高。
2.zelx有crc校验,任意改一个字节,就会提示:非法vlx文件。相当于程序加密后又加了壳。
3.一个zelx中包含多个加密压缩块,相当于一个文件包。
4.zelx结构比fas复杂,了解它的人更少。
如果想反编译zelx,难度比fas高很多。
现在市面上很多流行的第三方文档加密软件很low,基本都把钥匙和锁都放在一起,加密只是一种增加的额外工作:把dwg加密后 cad软件不认,最后还是解密了传递给cad软件。最令人烦躁的时候,他们会和cad本身抢道。什么意思呢,比如你开图纸的时候,cad在尝试打开某个dwg,加密软件也很自觉的开始解密,这时候就容易出现冲突,电脑越老越容易出现这个问题;或者当你保存dwg的时候,他跳得比谁都欢,然后cad软件提示你无法保存,因为他要加密操作和cad的保存操作冲突,然后你会多出来一个.tmp一类的临时文件。对重要资料来说,这类加密软件没有一丝一毫的作用。 本帖最后由 baitang36 于 2023-8-1 11:45 编辑
飞雪神光 发表于 2023-8-1 11:28
大佬牛逼那这个命令怎么能启用呢2023直接在命令栏使用不行呢
命令: compile-zelx
未知命令"compile-z ...
compile-zelx这是lsp函数。命令是compile
用命令需要选文件和参数
中望之前搞这个加密的时候,他们不知道独立空间,我们跟他们对接后,才一点一点的了解独立空间的,至于未来是否支持,一起期待,不过,从目前我们跟他们的沟通来看,似乎更愿意搞vlx的独立空间,lisp文件的独立空间似乎没有兴趣 站前排,,,,,, 本帖最后由 ssyfeng 于 2023-8-1 11:29 编辑
楼主一直走在探索CAD的道路上
希望国产CAD越来越强大,最终可以不用AUTOCAD 国产有望,发扬光大 为大佬的探索精神点赞!
觉得全都不安全 给力! 紫苏炒黄瓜 发表于 2023-8-1 10:46
为大佬的探索精神点赞!
觉得全都不安全
安全都是相对的。中望应该能做得更好。 大佬牛逼那这个命令怎么能启用呢2023直接在命令栏使用不行呢
命令: compile-zelx
未知命令"compile-zelx"。按 F1 查看帮助。
不支持独立空间,交叉风险大
页:
[1]
2