baitang36 发表于 2021-12-8 09:40:51

lisp读写专业加密锁的几种方法

本帖最后由 baitang36 于 2021-12-9 10:25 编辑

很多工具箱作者用U盘当加密锁来用,好处是成本低,缺点是U盘理论上就是可以复制的。常用的硬件序列号等都能用量产程序来设定,每个扇区都可以复制。软的序列号更是可以方便改写。因此,U盘只能用于便宜软件的加密,聊胜于无。
专业的加密锁加密强度高,有唯一的硬件序列号,有专业的加密算法,有的还可以在锁内运行程序,用好了是无法复制的。
用lisp读写专业加密锁一般有以下几种方法:
1.用外部的exe
用vc vb等高级语言写一个exe程序读写加密锁,lisp用startapp调用exe,用文件或注册表与lisp传递数据。缺点是exe和lisp在不同的进程中,文件和注册表数据容易被破解者监听。
2.用com
用vc vb等高级语言写一个com接口程序来读写加密锁。lisp用vlax-get-or-create-object打开com,用vlax-invoke-method来调用接口函数。缺点是com需要注册,遇到权限不够的电脑会注册失败,导致加密锁无法操作。
3.用arx
用arx读写加密锁,功能上没有限制。缺点是失去了lisp可以跨版本的能力,对开发者要求高,维护麻烦。如果能用arx熟练操作加密锁,好像也就没有再用lisp编程的理由了。
4.用lisp直接操作加密锁。
需要用fas的保留隐藏函数来实现。lisp可以调用加密锁厂家提供的dll文件,是扩展了lisp的功能,与acad.exe同属于同一个进程,传递数据方便。这方法我研究了很久,目前已经成熟,唯一缺点就是专业加密锁的成本较高,适合于比较贵的软件。感兴趣者可以联系我 5520971@qq.com

专业加密锁基本知识
1.加密锁是什么?
你可以认为,加密锁就是插在usb口上的另一台电脑。
2.加密锁中有什么?
它里面有cpu,便宜的锁是八位的cpu,好一点的是32位的arm cpu,和手机中的cpu是一个系列的。
它里面还有 ROM、RAM,有全球唯一的硬件序列号。还有很多专业加密算法,如MD5 RSA 3DES 国密SM2 SM3等等。
ROM叫数据区,它里面的数据写入后可以长久保存,掉电不消失。但有寿命限制,写入一般不超过10万次,读没限制。写的速度也慢,因此不能频繁进行写入操作。
RAM叫共享内存区,它的读写速度很快,但数据不能永久保存,掉电会消失。拔下再插上,数据就清零了。它没有寿命限制,因此可以随时进行写入操作,可以当程序的变量来使用。但一般锁的内存都不大,典型的是32个字节。
3.通常的用法有哪些?
a.可以用lisp去读取锁唯一的硬件序列号,变换后作为注册标记。在程序中检验这个标记,来判断是否正版。
b.可以在数据区写入大量数据,用这些数据的运算结果来区分用户类型、软件版本。甚至把软件运行过程中的某些重要常数放到这里,没锁就不能运行。
c.可以调用专业加密算法来对重要信息加密、解密、身份验证。
d.可以随机写入锁内存数据,然后读出来检验,判断是否正版。随机的数据是对抗解密的最有效方式之一,有些针对锁的监听程序,遇到随机数据就傻了,每次都不同,无法模拟。
e.更高级一点的做法,可以给锁内ARM cpu编写程序,程序写入锁内,相当于锁的固件。送数据给锁,让锁去计算,返回结果。由于锁内程序只能写入和执行,无法读出,因此是最安全的。锁就像一个黑箱,送入什么数据,返回对应计算结果。复杂一点的算法是没法猜的,因此是非常安全的。 锁内程序的开发,需要专用开发工具。


常用加密工具介绍
pfas2.x是对抗反编译的,是每个fas指令分别加密处理。如果只是为了保护源码,pfas2.x足够了。但对于不需要源码也能破解的高手,它还是有可乘之机的,特别是你的注册程序不够强大的情况下。
lockfas是第二道防线,它是在pfas的基础上,计算fas文件的hash值,数值不对就不加载。这样可以防止对程序的修改,改一个字节就不能用了。lockfas对文件检查很严格,只能加密pfas加密过的单纯的fas
第三道防线是shellfas,它是对整个fas文件加密,包一层壳,也可以像滚雪球一样包好多层。加了壳,就看不到原来文件的任何字节了,不脱壳是无法破解的。shellfas的兼容性很好,可以加密任何能加载的fas,包括用猫工具加密过的。多个fas组合成一个的也能加密。

yanshengjiang 发表于 2021-12-9 01:13:42

厉害。技术狂人,站在编译和反编译的山峰。

baitang36 发表于 2021-12-9 09:17:29

专业加密锁基本知识
1.加密锁是什么?
你可以认为,加密锁就是插在usb口上的另一台电脑。
2.加密锁中有什么?
它里面有cpu,便宜的锁是八位的cpu,好一点的是32位的arm cpu,和手机中的cpu是一个系列的。
它里面还有 ROM、RAM,有全球唯一的硬件序列号。还有很多专业加密算法,如MD5 RSA 3DES 国密SM2 SM3等等。
ROM叫数据区,它里面的数据写入后可以长久保存,掉电不消失。但有寿命限制,写入一般不超过10万次,读没限制。写的速度也慢,因此不能频繁进行写入操作。
RAM叫共享内存区,它的读写速度很快,但数据不能永久保存,掉电会消失。拔下再插上,数据就清零了。它没有寿命限制,因此可以随时进行写入操作,可以当程序的变量来使用。但一般锁的内存都不大,典型的是32个字节。
3.通常的用法有哪些?
a.可以用lisp去读取锁唯一的硬件序列号,变换后作为注册标记。在程序中检验这个标记,来判断是否正版。
b.可以在数据区写入大量数据,用这些数据的运算结果来区分用户类型、软件版本。甚至把软件运行过程中的某些重要常数放到这里,没锁就不能运行。
c.可以调用专业加密算法来对重要信息加密、解密、身份验证。
d.可以随机写入锁内存数据,然后读出来检验,判断是否正版。随机的数据是对抗解密的最有效方式之一,有些针对锁的监听程序,遇到随机数据就傻了,每次都不同,无法模拟。
e.更高级一点的做法,可以给锁内ARM cpu编写程序,程序写入锁内,相当于锁的固件。送数据给锁,让锁去计算,返回结果。由于锁内程序只能写入和执行,无法读出,因此是最安全的。锁就像一个黑箱,送入什么数据,返回对应计算结果。复杂一点的算法是没法猜的,因此是非常安全的。 锁内程序的开发,需要专用开发工具。

baitang36 发表于 2021-12-9 09:22:09

yanshengjiang 发表于 2021-12-9 01:13
厉害。技术狂人,站在编译和反编译的山峰。

过奖,只是凭兴趣在玩。能为lisp爱好者做点事,自己也开心。

baitang36 发表于 2021-12-9 10:26:18

常用加密工具介绍
pfas2.x是对抗反编译的,是每个fas指令分别加密处理。如果只是为了保护源码,pfas2.x足够了。但对于不需要源码也能破解的高手,它还是有可乘之机的,特别是你的注册程序不够强大的情况下。
lockfas是第二道防线,它是在pfas的基础上,计算fas文件的hash值,数值不对就不加载。这样可以防止对程序的修改,改一个字节就不能用了。lockfas对文件检查很严格,只能加密pfas加密过的单纯的fas
第三道防线是shellfas,它是对整个fas文件加密,包一层壳,也可以像滚雪球一样包好多层。加了壳,就看不到原来文件的任何字节了,不脱壳是无法破解的。shellfas的兼容性很好,可以加密任何能加载的fas,包括用猫工具加密过的。多个fas组合成一个的也能加密。

ketxu 发表于 2021-12-10 10:33:21

Love you so much, my dear friend :">

baitang36 发表于 2021-12-10 16:05:03

ketxu 发表于 2021-12-10 10:33
Love you so much, my dear friend :">

i love you too

czb203 发表于 2021-12-11 17:21:24

厉害。技术狂人

baitang36 发表于 2022-3-5 16:24:21

实验过几种加密锁,都可以的
页: [1]
查看完整版本: lisp读写专业加密锁的几种方法