基本操作
1、 OD字符串搜索:插件 - 中文搜索引擎
2、 OD下断点:Ctrl+G查找API,F2下断点;Ctrl + N查找输入表中所有调用API的位置,右键在每个命令下设置断点;插件中的断点工具。
3、procmon的使用:可以监控文件、注册表、网络、进线程信息
4、文件操作API
- CreatFileA(W):创建文件
- ReadFile:读取文件
- WriteFile:写入文件
- CloseHandle:关闭句柄
读取文件:CreateFile -> ReadFile -> CloseHandle
写入文件:CreateFile -> WriteFile -> CloseHandle
5、注册表操作API
- RegCreateKey:创建注册表Key
- RegOpenKey:打开注册表Key
- RegQueryValue(Ex):查询注册表键值
- RegSetValueEx:写入注册表键值
重启验证
在程序启动时验证注册信息
1、 执行流程
- 基本的执行流程:注册信息输入-->程序重启-->执行验证机制-->正常执行
- 扩展的执行流程:注册信息输入-->执行部分验证机制/执行假验证机制-->程序重启-->执行真验证机制-->正常执行
对于有经验的作者来说,可以在注册信息输入和程序重启之间加入假的验证机制,假的验证机制一般比较简单,比如说只是单纯的明码比较,当我们输入这个假的注册码时,程序一般会提示注册成功,此时程序就会知道我们是逆向者,在程序重启时就会假装注册成功,在执行程序功能时就会报错或者无反应,这就是所谓的暗桩。
2、重启验证的类型
注册信息写入文件、注册表中
3、定位关键代码
- 字符串定位
利用OD扫描敏感字符串,一般出现的文件路径或者注册路径都可能是 - 监控工具定位
- API定位
Demo
重启验证1:写入信息到txt
重启验证2:写入信息到配置文件
重启验证3:写入信息到注册表
7829