明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2389|回复: 10

[经验] lisp读写专业加密锁的几种方法

[复制链接]
发表于 2021-12-8 09:40:51 | 显示全部楼层 |阅读模式
本帖最后由 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组合成一个的也能加密。

点评

大神,牛!  发表于 2021-12-10 14:16
赞赞赞赞赞+5  发表于 2021-12-9 08:47

评分

参与人数 3明经币 +3 金钱 +24 收起 理由
vista228 + 1 + 10 很给力!
e2002 + 2 + 9
ssyfeng + 5 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2021-12-9 01:13:42 来自手机 | 显示全部楼层
厉害。技术狂人,站在编译和反编译的山峰。
 楼主| 发表于 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编写程序,程序写入锁内,相当于锁的固件。送数据给锁,让锁去计算,返回结果。由于锁内程序只能写入和执行,无法读出,因此是最安全的。锁就像一个黑箱,送入什么数据,返回对应计算结果。复杂一点的算法是没法猜的,因此是非常安全的。 锁内程序的开发,需要专用开发工具。
 楼主| 发表于 2021-12-9 09:22:09 | 显示全部楼层
yanshengjiang 发表于 2021-12-9 01:13
厉害。技术狂人,站在编译和反编译的山峰。

过奖,只是凭兴趣在玩。能为lisp爱好者做点事,自己也开心。
 楼主| 发表于 2021-12-9 10:26:18 | 显示全部楼层
常用加密工具介绍
pfas2.x是对抗反编译的,是每个fas指令分别加密处理。如果只是为了保护源码,pfas2.x足够了。但对于不需要源码也能破解的高手,它还是有可乘之机的,特别是你的注册程序不够强大的情况下。
lockfas是第二道防线,它是在pfas的基础上,计算fas文件的hash值,数值不对就不加载。这样可以防止对程序的修改,改一个字节就不能用了。lockfas对文件检查很严格,只能加密pfas加密过的单纯的fas
第三道防线是shellfas,它是对整个fas文件加密,包一层壳,也可以像滚雪球一样包好多层。加了壳,就看不到原来文件的任何字节了,不脱壳是无法破解的。shellfas的兼容性很好,可以加密任何能加载的fas,包括用猫工具加密过的。多个fas组合成一个的也能加密。
发表于 2021-12-10 10:33:21 | 显示全部楼层
Love you so much, my dear friend :">
 楼主| 发表于 2021-12-10 16:05:03 | 显示全部楼层
ketxu 发表于 2021-12-10 10:33
Love you so much, my dear friend :">

i love you too
发表于 2021-12-11 17:21:24 | 显示全部楼层
厉害。技术狂人
 楼主| 发表于 2022-3-5 16:24:21 | 显示全部楼层
实验过几种加密锁,都可以的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-14 14:47 , Processed in 0.385474 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表