baitang36 发表于 2023-10-8 16:14:08

[原创]bricsCAD的加密lisp文件des格式初探

本帖最后由 baitang36 于 2023-10-10 09:33 编辑

在bricsCAD中,lisp源码可以加密成des文件,这种格式是bricsCAD独有的,它是直接把lsp源码进行加密,据说是用了blowfish加密算法。

用winhex打开,显示是这样的:

Offset         0   1   2   3   4   5   67    8   910 11 12 13 14 15
00000000   42 57 46 20 50 52 4F 5445 43 54 45 44 20 4C 49   BWF PROTECTED LI
00000016   53 50 0D 0A 79 D5 FA 5859 59 D8 3F BA 14 C1 DF   SPy怔XYY??吝
00000032   B2 5D 9D 5C B7 E7 73 073B C3 37 4B FB C6 25 3B   瞉 \风s ;?K%;
00000048   8D 5A 53 2A 94 11 E4 81CD 9A DF 92 14 B1 7F A8    ZS*??蜌邟 ??
00000064   6C 12 6C F0 E7 4B 43 6241 40 D4 ED 85 1F D0 56   l l痃KCbA@皂?蠽
00000080   47 0C E9 59 1E 75 45 402F C8 20 A5 C1 F8 62 9B   G 閅 uE@/?チ鴅?
00000096   DA 3A 4B A6 CD FA 19 87C5 73 6D 53 CB 77 A5 F2   ?Kν?嚺smS藈ヲ
00000112   44 84 0B 74 D3 5A 03 0BA9 F1 D7 F3 7D 70 29 5A   D?t覼左}p)Z
00000128   87 BA 05 5F C9 95 78 D8F5 81 3C 0E 5D 32 6F 11   嚭 _蓵x仵 < ]2o
00000144   3C 70 30 63 B6 D9 6E 2BD2 7F D5 51 11 FE F8 50   <p0c顿n+?誕 P
00000160   91 DD 56 27 6D E8 7A 49E1 C8 D0 EE 12 B5 78 81   戄V'm鑪I崛蓄 祒
00000176   A4 85 34 A7 5B 6B 3F 85C0 14 47 0A B7 E7 73 07   4k?吚 G 风s
00000192   3B C3 37 4B 4A 5C 77 32AA F3 14 C1 6C B4 02 15   ;?KJ\w2 羖?
00000208   12 96 A7 AF 22 DE E7 B19D 1D E0 3F 17 9B 0A 3A    枾?掮? ? ?:

它的文件头占用20个字节
BWF PROTECTED LISP后带0d 0a
后面就是加密数据。

bricsCAD提供了加密工具,DEScoder
它可以把lsp源码加密成des
它还支持独立名称空间,可以把dcl txt等资源文件加进去,很好奇它是怎么实现的。研究了一下,原来是用注释存放。
格式是这样的:

;#RES:TXT:新建文本文档.txt
;#g_ofn OPENFILENAME <?>
;#g_hInstance    HINSTANCE ?
;#g_hWndMain    HANDLE ?
;#g_szFileSpec   db c_BufLen dup (?)
;#
;#buffer db 512 dup(?)
;#ENDRES


可以看出,新建文本文档.txt 在资源中的开头是;#RES:TXT:新建文本文档.txt
文件的结尾是 ;#ENDRES
每一行的开始都是;#

文本文件开头是;#RES:TXT:
dcl文件开头是;#RES:DCL:
结尾都是;#ENDRES



magicheno 发表于 2023-10-8 16:17:32

感谢大佬的付出

mokson 发表于 2023-10-10 08:31:09

大佬又找到好活干了!膜拜。
页: [1]
查看完整版本: [原创]bricsCAD的加密lisp文件des格式初探