baitang36 发表于 2020-6-25 00:07:35

FAS格式研究 (七) 秘密保存一个变量

本帖最后由 baitang36 于 2020-6-25 00:45 编辑

程序运行中的敏感信息,如注册码,如果保存在全局变量中是不安全的,能不能保存在一个秘密的地方,让破解者找不到,自己想用时随时拿出来呢?经过多次实验,初步获得成功。本实验程序定义了两个函数(syz-set1(x))和(syz-get1)其中syz-set1是保存变量,syz-get1取出变量。
详细用法:
先加载syzt-new.fas,然后调用这两个函数。
(load “syzt-new.fas”)
(syz-set1 8888) ;秘密保存数字8888
(setq b (syz-get1)) ;取出保存的8888,放到变量b中,b的值变成8888
这变量也可以保存字符串和浮点数。
这程序是手工改出来的,变量放到acad.exe进程的某个地方了,lsp是无法操作它的。破解者如果想找到它,是有相当难度的。

syzt-new.fas是解码过的,里面的函数名可以自己随意改,不一定叫syz-set1,可以改成任意你自己喜欢的。

baitang36 发表于 2020-6-25 13:06:14

masterlong 发表于 2020-6-25 12:49
这个方法或许可以应用到注册机里?

算出注册码秘密保存,用到时取出来。可以多次验证,速度比直接计算快很多。(syz-set1 (计算注册码函数))

lisperado 发表于 2020-6-28 20:11:56

不是符号变量而是字串?

(defun syz-set2 ( x )
(vl-bb-set "变量" x)
)

(defun syz-get2 ( )
(vl-bb-ref "变量")
)



(syz-set2 8888) ;秘密保存数字8888
(setq b (syz-get2) ) ;取出保存的8888,放到变量b中,b的值变成8888

会被找到吗?
还有类似vlax-ldata-put get 等等函数行吗?

clinber 发表于 2020-6-25 00:14:52

那a那个8888不是被找到了

baitang36 发表于 2020-6-25 00:17:59

clinber 发表于 2020-6-25 00:14
那a那个8888不是被找到了

可以直接(syz-set1 8888),不经过a

tryhi 发表于 2020-6-25 00:37:45

本帖最后由 tryhi 于 2020-6-25 00:55 编辑

厉害了。。虽然不知道什么原理,但是也许用得到,打包进vlx里面调用

baitang36 发表于 2020-6-25 01:01:10

tryhi 发表于 2020-6-25 00:37
厉害了。。虽然不知道什么原理,但是也许用得到,打包进vlx里面调用

原理我们可以私下探讨,暂时不想说太明白。因为还没研究太清楚,说错了会误导别人

烟盒迷唇 发表于 2020-6-25 08:33:16

这么改国产的浩辰CAD就没法用了。

baitang36 发表于 2020-6-25 09:33:04

烟盒迷唇 发表于 2020-6-25 08:33
这么改国产的浩辰CAD就没法用了。

你试验一下,看浩辰能识别吗?

baitang36 发表于 2020-6-25 09:38:27

加长或缩短函数名的方法看这个贴子http://bbs.mjtd.com/thread-178539-1-1.html

masterlong 发表于 2020-6-25 12:49:02

这个方法或许可以应用到注册机里?
页: [1] 2
查看完整版本: FAS格式研究 (七) 秘密保存一个变量