OD载入,忽略所有异常,用插件隐藏一下OD。
命令行下第一个断点。he GetDlgItem F9运行,知道OD提示,
删除硬件断点。。。alt+F9返回。
向下找test al,al,F4运行到这,再次alt+F9返回
F8向下跟踪,遇到CALL,F7跟进
00C559F6 8B4481 18 mov eax,dword ptr ds:[ecx+eax*4+18]在这里下硬件执行断点
重启程序,F9运行一次。
找0区域写补丁。
先把xor eax,65E6C08A改为JMP 00401000
在0区域写入 XOR EAX,65E6C08A (恢复原来的代码) CMP EAX,493F1E33 (判断是否为自己的硬件码) JNZ 00401011 JNZ是不相等就跳大家自己理解 MOV EAX,5F48DD41(硬件码改为5F48DD41) RETN 8 返回
修改后,F9运行,填入正确的KEY,就可以按照无KEY的软件脱壳了。 -------------------------------------------------------------------------------- he OutputDebugStringA
he GetModuleHandleA+5
00129288 /00129528 0012928C |00C45CE1 返回到 00C45CE1 来自 kernel32.GetModuleHandleA 00129290 |001293DC ASCII "kernel32.dll"
00C45D12(跳)
00C45E5E D6 salc 00C45E5F D6 salc
|