baitang36 发表于 2020-8-23 21:42:34

怎样把一个32位数字写入文件?

(defun tt ()
(setq aa (open "d:/tt.txt" "w"))
(write-long 943208504 aa)
(close aa)
)
(tt)

这样写,运行出错。
看来lisp不支持。
改一下,用fas来实现,竟然可以正常运行,在d:\发现正常的tt.txt,内容是8888,正确。

baitang36 发表于 2020-8-23 21:57:21

这方法可以用来存储敏感信息,如注册码。这样的程序反编译出来是这样(DEFUN TT() (setq AA (OPEN "d:/tt.txt" "w" )) (WRITE-LONG 943208504 AA ) (CLOSE AA ))(TT ) 还是没法运行。
可以让窃取别人劳动成果的人傻眼,明明代码在眼前,就是用不了。

自贡黄明儒 发表于 2020-8-24 08:44:41

baitang36 发表于 2020-8-23 21:57
这方法可以用来存储敏感信息,如注册码。这样的程序反编译出来是这样(DEFUN TT() (setq AA (OPEN "d:/tt.tx ...

没看明白,能说详细点不?

baitang36 发表于 2021-1-25 11:03:25

原地踏步 发表于 2020-8-25 09:04
能够反编译的人,应该能发现 write-long 这个函数异常吧。

很多只会使用反编译工具的人就傻眼了,不能挡住能编写反编译工具的人。

angel066499 发表于 2020-8-23 23:12:31

感谢分享~~~

zixuan203344 发表于 2020-8-23 23:13:57

write-long是啥?https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif

nijiea123 发表于 2020-8-23 23:53:28

同问,是什么东东

baitang36 发表于 2020-8-24 07:57:46

zixuan203344 发表于 2020-8-23 23:13
write-long是啥?

就是往文件里面写入一个长整型的数字啊,这函数特殊,lisp用不了,fas能用

baitang36 发表于 2020-8-24 08:45:56

自贡黄明儒 发表于 2020-8-24 08:44
没看明白,能说详细点不?
就是修改fas,让本来不能运行的函数能够运行,让write-long变成可用函数

tryhi 发表于 2020-8-24 09:58:47

命令行输入!write-long返回nil,这个函数只有fas才认吗?

baitang36 发表于 2020-8-24 10:10:37

tryhi 发表于 2020-8-24 09:58
命令行输入!write-long返回nil,这个函数只有fas才认吗?

是的,lsp不能用
页: [1] 2
查看完整版本: 怎样把一个32位数字写入文件?