最近论坛脱Armadillo教程比较多,我壳盲也想练练现在遇到问题:
PEiD查得壳为:Armadillo 1.xx - 2.xx -> Silicon Realms Toolworks [Overlay]
按照教程来到:
00E7ABB3 FF15 D820EA00 call dword ptr ds:[EA20D8] ; kernel32.GetModuleHandleA
00E7ABB9 8B0D E4C9EA00 mov ecx,dword ptr ds:[EAC9E4]
00E7ABBF 89040E mov dword ptr ds:[esi+ecx],eax
00E7ABC2 A1 E4C9EA00 mov eax,dword ptr ds:[EAC9E4]
00E7ABC7 391C06 cmp dword ptr ds:[esi+eax],ebx
00E7ABCA 75 16 jnz short 00E7ABE2
00E7ABCC 8D85 B4FEFFFF lea eax,dword ptr ss:[ebp-14C]
00E7ABD2 50 push eax
00E7ABD3 FF15 E020EA00 call dword ptr ds:[EA20E0] ; kernel32.LoadLibraryA
00E7ABD9 8B0D E4C9EA00 mov ecx,dword ptr ds:[EAC9E4]
00E7ABDF 89040E mov dword ptr ds:[esi+ecx],eax
00E7ABE2 A1 E4C9EA00 mov eax,dword ptr ds:[EAC9E4]
00E7ABE7 391C06 cmp dword ptr ds:[esi+eax],ebx
00E7ABEA 0F84 32010000 je 00E7AD22 ; Magic Jmp
00E7ABF0 33C9 xor ecx,ecx
00E7ABF2 8B07 mov eax,dword ptr ds:[edi]
00E7ABF4 3918 cmp dword ptr ds:[eax],ebx
00E7ABEA 处应该是Magic Jmp,修改为JMP后再在内存00401000处下访问断点,F9:
00E97C71 A1 9820EB00 mov eax,dword ptr ds:[EB2098]
00E97C76 8B0D F81EEB00 mov ecx,dword ptr ds:[EB1EF8] ; MAGCT.0064E370
00E97C7C 8B04B0 mov eax,dword ptr ds:[eax+esi*4] ; 被调试的程序无法处理异常
00E97C7F 3341 78 xor eax,dword ptr ds:[ecx+78]
00E97C82 8B0D F81EEB00 mov ecx,dword ptr ds:[EB1EF8] ; MAGCT.0064E370
00E97C88 3341 74 xor eax,dword ptr ds:[ecx+74]
00E97C8B 8B0D F81EEB00 mov ecx,dword ptr ds:[EB1EF8] ; MAGCT.0064E370
00E97C91 3341 60 xor eax,dword ptr ds:[ecx+60]
00E97C94 8B0D F81EEB00 mov ecx,dword ptr ds:[EB1EF8] ; MAGCT.0064E370
00E97C9A 3341 24 xor eax,dword ptr ds:[ecx+24]
00E97C9D 8B0D F81EEB00 mov ecx,dword ptr ds:[EB1EF8] ; MAGCT.0064E370
00E97CA3 3341 18 xor eax,dword ptr ds:[ecx+18]
00E97CA6 3385 88C4FFFF xor eax,dword ptr ss:[ebp-3B78]
00E97CAC 50 push eax
00E97CAD FFB5 C0C4FFFF push dword ptr ss:[ebp-3B40]
00E97CB3 E8 C52F0000 call 00E9AC7D
00E97CB8 83C4 0C add esp,0C
00E97CBB 8B85 8CC4FFFF mov eax,dword ptr ss:[ebp-3B74]
00E97CC1 40 inc eax
00E97CC2 8985 8CC4FFFF mov dword ptr ss:[ebp-3B74],eax
00E97CC8 8B85 C0C4FFFF mov eax,dword ptr ss:[ebp-3B40]
00E97CCE 05 00100000 add eax,1000
00E97CD3 8985 C0C4FFFF mov dword ptr ss:[ebp-3B40],eax
00E97CD9 ^ E9 07FFFFFF jmp 00E97BE5
程序异常在00E97C7C,状态栏提示:被调试的程序无法处理异常.Shift+F9,进程终止。已经设置flyODBG忽略所有异常,不知是咋回事,懂的老兄请指点一二。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)