ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
**0x0:什么是重启验证** 重启验证顾名思义就是在程序启动时验证注册信息。 **0x1:执行流程** 基本的执行流程: `注册信息输入-->程序重启-->执行验证机制-->正常执行` 扩展的执行流程: `注册信息输入-->执行部分验证机制/执行假验证机制-->程序重启-->执行真验 证机制-->正常执行` > 对于有经验的作者来说,可以在注册信息输入和程序重启之间加入假的验证机制,假的验证机制一般比较简单,比如说只是当单纯的明码比较,当我们输入这个假的注册码的,程序一般会提示注册成功,此时程序就会知道我们是逆向者,在程序重启时就会假装注册成功,在执行程序功能时就会报错或是无反应,这就是所谓的暗桩。 **0x2:重启验证的类型** 重启验证根据写入信息位置的不同一般分两类: 一类是将注册信息写入文件 一类是将注册信息写入注册表中。 **0x3:定位关键代码** **1.字符串定位** 通过OD字符串插件扫描敏感字符串,一般出现的文件路径或是注册表路径都可能是验证信息的保存位置 **2.监控工具定位** 通过procmon等监控工具监控注册信息的写入位置 **3.API定位** 通过定位CreateFile,RegCreateKey等API来获取注册信息的写入位置 `CreateFile->WriteFile->ReadFile->比较算法` 找到验证成功前的算法CALL获取正确验证码 或者直接nop算法CALL下面的跳转 * * * * * 例子: https://pan.baidu.com/s/1tkQ1KWLE6NAGQ3iHy9AtFg 作业: https://pan.baidu.com/s/1IKfDEHdkD-JWcrEYgniXFg