DeDe反编译工具:可以查看delphi 程序绑定的事件地址
Ctrl+G:直接断API
Ctrl+N:输入表断API
Ctrl+B:查找二进制字符串,可以查找对应的十六进制机器码
堆栈锁定位置:弹框出来之后,点击暂停程序 -> 点击K -> 就能看到最近的调用堆栈
打补丁的方式
- 在OD里面修改汇编
- 在IDA里面修改代码
- 程序加载后,内存补丁,读取进程ID,然后修改指定位置的代码(加壳后的程序,首先要等待代码解压缩之后再修改内存代码)
- dll劫持,查找程序中使用的dll,dll入口编写对应的代码
过检测方法
- 硬件HOOK,不修改代码实现破解
- crc 检测
骚操作之 - 字符串搜索
exe 程序中搜索字符串,有时候OD搜不到,可以尝试使用IDA搜索
- 使用OD插件搜索
- 点击m,查看内存,在最上面右键,查找(可能是unicode或者ascii,两个都尝试一下,搜到然后下内存访问断点)
- IDA搜索
- 如果碰到OD和IDA都无法搜索到字符串,那么尝试使用OD的内存查找字符串十六进制数据,不用搜全部,可以只搜索连三个十六进制数据,然后一个一个筛选
为什么要使用补丁工具
- 加壳后的程序必须脱壳才能用OD修改
- 加壳后的程序在运行前加密,只有在代码运行时才会解压
各程序的反编译工具
- VB - VB Decompiler Pro
- Delphin - DelphiDecompiler
文件操作API的使用
CreateFileA(W):创建文件
ReadFile:读取文件
WriteFile:写入文件
CloseHandle:关闭句柄
读取文件:CreateFile->ReadFile->CloseHandle
写入文件:CreateFile->WriteFile->CloseHandle
注册表操作API的使用
创建注册表Key:RegCreateKey
打开注册表Key:RegOpenKey
查询注册表键值:RegQueryValue(Ex)
写入注册表键值:RegSetValueEx
各网络验证关键字段
易游:eydata.net