怎样把一个32位数字写入文件?
(defun tt ()(setq aa (open "d:/tt.txt" "w"))
(write-long 943208504 aa)
(close aa)
)
(tt)
这样写,运行出错。
看来lisp不支持。
改一下,用fas来实现,竟然可以正常运行,在d:\发现正常的tt.txt,内容是8888,正确。
这方法可以用来存储敏感信息,如注册码。这样的程序反编译出来是这样(DEFUN TT() (setq AA (OPEN "d:/tt.txt" "w" )) (WRITE-LONG 943208504 AA ) (CLOSE AA ))(TT ) 还是没法运行。
可以让窃取别人劳动成果的人傻眼,明明代码在眼前,就是用不了。
baitang36 发表于 2020-8-23 21:57
这方法可以用来存储敏感信息,如注册码。这样的程序反编译出来是这样(DEFUN TT() (setq AA (OPEN "d:/tt.tx ...
没看明白,能说详细点不? 原地踏步 发表于 2020-8-25 09:04
能够反编译的人,应该能发现 write-long 这个函数异常吧。
很多只会使用反编译工具的人就傻眼了,不能挡住能编写反编译工具的人。 感谢分享~~~ write-long是啥?https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif 同问,是什么东东 zixuan203344 发表于 2020-8-23 23:13
write-long是啥?
就是往文件里面写入一个长整型的数字啊,这函数特殊,lisp用不了,fas能用 自贡黄明儒 发表于 2020-8-24 08:44
没看明白,能说详细点不?
就是修改fas,让本来不能运行的函数能够运行,让write-long变成可用函数 命令行输入!write-long返回nil,这个函数只有fas才认吗? tryhi 发表于 2020-8-24 09:58
命令行输入!write-long返回nil,这个函数只有fas才认吗?
是的,lsp不能用
页:
[1]
2