浅谈注册码破解和保护思路
本帖最后由 不死猫 于 2022-4-8 15:16 编辑论坛上有一些公开的注册保护代码,不过大部分都很容易被破解,浅谈一下关于保护的方法,如有错漏请指正。
注册类代码的基本思路(单机版):
获取用户唯一标识信息→用户发申请码给开发者→开发者电脑计算出注册码→发给用户注册→主程序根据用户信息计算出相同注册码比对确认是否注册成功。
注册类代码破解的几种基本方法:
1. 完整反编译VLX或Fas,直接根据源码修改或删除注册限制实现破解;
2. 函数重定义,拦截参数信息;
3. 内存跟踪,在关键信息“请注册”附近下断点,抓取注册码的实际值;
4. 内存跟踪或编码解读,在关键信息“请注册”附近找到跳转语句,修改跳转地址,改(if 真 注册成功)为(if 假 注册成功),输入任意错误注册码即可;
5. (if 假 (exit)) 这类的可以直接删除、覆盖、替换(exit);
6. 分析注册码转换的代码,提取后编写注册机;
7. 模拟硬件信息(复刻优盘、虚拟机等),实现一个注册码注册多台。
针对破解方法的保护方法:总体原则是增加复杂度,假设一个注册流程破解要一百元,100个不同的注册码破解可能需要一万元。
1. 修改编码实现抗反编译(这个有一定难度,论坛我们一些先行者零散发了一些方法,但商用产品建议购买成熟的加密产品。另外Lsp源码编写就能够抗反编译不需要手工改编码的技术,待发布)
2. 利用不定参数或对函数是否被重定义进行判断。
3. 除了开始的验证位置之外,程序其他地方也加多次判断,但是不要提示,更不要程序退出。
4. 编码保护、文件自校验、更多的判断
5. 更换退出方式,比如设置开关变量,更多的判断
6. 多算法、多判断
根据上述的一些情况描述,现在做一套注册类代码的思路如下:
1. 编写一个申请注册码程序,用于获取用户的唯一标识信息。常用的包括用户的电脑硬件、优盘、加密狗、QQ号等。
但是单一的优盘、加密狗序列号可以被刷新修改,制作复刻版,形成一码多用,所以单机注册不建议使用单一硬件验证。虽然有些高级的加密狗复刻成本较高,但是对开发者来说购买成本也更高。所以为了避免破解者通过申请程序知道选用的硬件信息,因此在获取用户信息时可以获取尽量多的硬件信息(可以获取几十种),并且把获取的信息进行转换,这样破解者不知道我们要注册的硬件是哪个,也方便观察是否在虚拟机环境,拒绝注册。
2. 计算注册码时,需要采用不同的算法对多个硬件进行计算,并形成复合运算,例如生成数百个上千个注册码。
3. 用户注册后,主程序的验证部分,需要增加抗函数重定义、文件自校验、分散注册码验证(在功能中间增加几十处验证)、静默验证、非正常报错、增加非If验证、用= /=之外的函数判断、编译后增加抗反编译编码、增加编码校验、抗拆分处理等。
4. 如果非要用单一信息注册,还想针对硬件或环境模拟实现抗破解,建议采用BS(服务器架构)模式,在服务器上放置部分代码以及计算过程,这样本地代码不完整,拿到源码也必须依赖于服务器提供代码和计算服务,可以通过服务器限定同一时间仅一台电脑工作,并对时间、次数、IP、注册验证等进行全面管理。
5. 产生多注册码和分布式代码纯手写难度较大,维护成本太高,有两种解决方案,一种是通过编写自动加密软件自动添加相关代码,一种是利用代码自动生成代码,自动生成验证代码便于维护。
6. 如果没有做变量替换的程序,一些关键变量名称不要写的太明显了,统一替换掉,像 zhuce,reg,year,注册,这些变量一看就知道和注册有关系。
7. 注册验证部分写一个函数返回真假很容易破解,计算过程或变量应放到验证中。
8. 注册部分代码可用相似代码作为干扰(参与执行)
本帖最后由 wzg356 于 2022-3-23 20:16 编辑
自己的故事
曾经写的一个工具,自认为还可以编译fas发布
主要参考baitang36 猫老师的加密经验
以下自编小工具解决不难
N多子fas串联整合
1函数1子fas,有时单1行码也1子fas
函数加壳,局部乱码
N多假函数乱插,随机插
未设单独函数的注册代码
同样结果的注册代码多套多款
注册代码多处插随机插
多处多款文件验证
关键信息不明码+局部代码验证
设自毁码
最终似乎没成功
小小的希翼变成一地鸡毛
发布没多时
就有人没问问题却贴出局部代码,文本及款式与源码一样 学习了,还是直接用猫老师和baitang36的加密工具比较好,两位老师的加密程序已经很强了,专业的事情交给专业的人,自己写好适用于自己工作的小程序就好,在这里也感谢老师们的付出。 wzg356 发表于 2022-3-24 17:31
用了,公开推的那种
自己先半手工处理--最后用
还以为你是付费也被PK了
公开免费的可能保不住啊
猫老师的提供的思路很不错,值得借鉴 点赞 很全面了,值得学习 谢谢猫老师总结共享 思路不错,就是会的不多。 很全面哦! 本帖最后由 流氓兔 于 2022-3-24 11:02 编辑
让他摸不着加密的出处 要用baitang的加密
页:
[1]
2