- UID
- 368
注册时间2005-3-24
阅读权限20
最后登录1970-1-1
以武会友
该用户从未签到
|
弟初学脱壳,这是我手动脱壳第一个软件。
在脱围棋助手8.73壳时发现问题。网址http://www.go-assistant.com/
下载:http://dl5.filekicker.net/privat ... b49ffa8ab/go600.zip
脱壳步骤如下:
用OD调试,利用ESP定律对 0012FFA4 下断,断下后F8到OEP点 00488FDC ,脱壳。
00488FDC 55 push ebp
00488FDD 8BEC mov ebp,esp
00488FDF 6A FF push -1
00488FE1 68 C8144A00 push Go600.004A14C8
00488FE6 68 46914800 push Go600.00489146 ; jmp to MSVCRT._except_handler3
00488FEB 64:A1 00000000 mov eax,dword ptr fs:[0]
00488FF1 50 push eax
00488FF2 64:8925 0000000>mov dword ptr fs:[0],esp
00488FF9 83EC 68 sub esp,68
00488FFC 53 push ebx
00488FFD 56 push esi
00488FFE 57 push edi
但是发现不能运行,用 RecImport 修复输入表,发现MFC42.DLL 的函数不能识别,试修复仍不能运行。
于是用OD调试脱壳文件,发现在 004890A1 程序进入死循环,我认为这里是自检点F7跟踪进入后
00489158 - FF25 3C9B4900 jmp dword ptr ds:[499B3C] ; MSVCRT._initterm
0048915E 68 00000300 push 30000
00489163 68 00000100 push 10000 ; UNICODE "=::=::\"
00489168 E8 07000000 call Go600.00489174 ; jmp to MSVCRT._controlfp
0048916D 59 pop ecx
0048916E 59 pop ecx
0048916F C3 retn
即失去方向。
望大虾们指点迷津。 |
|