【破解作者】 huangrui【BCG】
【破解平台】 Win9x/NT/2000/XP
【软件名称】 手脱PECompact V2.55 压缩 notepad
【破解内容】
参考 fly的 PECompact简便脱壳法。
设置Ollydbg忽略所有的异常选项。
od载入
01001000 N> B8 90BA0101 mov eax,NOTEPAD.0101BA90
01001005 50 push eax ; NOTEPAD.0101BA90
01001006 64:FF35 0000000>push dword ptr fs:[0]
0100100D 64:8925 0000000>mov dword ptr fs:[0],esp
01001014 33C0 xor eax,eax
01001016 8908 mov dword ptr ds:[eax],ecx
01001018 50 push eax
下断点:BP VirtualFree (这个断点好啊)。 中断后,取消断点,Ctrl+F9两次。
然后,ctrl+f ,查找 push 8000(特征处)。
003E093E 03C7 add eax,edi
003E0940 68 00800000 push 8000 /////这里
003E0945 6A 00 push 0
003E0947 FFB5 951C0010 push dword ptr ss:[ebp+10001C95]
003E094D FF10 call dword ptr ds:[eax]
003E094F 8B46 0C mov eax,dword ptr ds:[esi+C]
003E0952 03C7 add eax,edi
003E0954 5D pop ebp
003E0955 5E pop esi
003E0956 5F pop edi
003E0957 5B pop ebx
003E0958 C3 retn ////此处f2 ,下断
f9 ,运行,此时断了。单步f7,来到
0101BB3D 8985 C8120010 mov dword ptr ss:[ebp+100012C8],eax ; NOTEPAD.0100739D
0101BB43 8BF0 mov esi,eax
0101BB45 59 pop ecx
0101BB46 5A pop edx
0101BB47 EB 0C jmp short NOTEPAD.0101BB55
0101BB49 03CA add ecx,edx
0101BB4B 68 00800000 push 8000
0101BB50 6A 00 push 0
0101BB52 57 push edi
0101BB53 FF11 call dword ptr ds:[ecx]
0101BB55 8BC6 mov eax,esi
0101BB57 5A pop edx
0101BB58 5E pop esi
0101BB59 5F pop edi
0101BB5A 59 pop ecx
0101BB5B 5B pop ebx
0101BB5C 5D pop ebp
0101BB5D FFE0 jmp eax /////跳到oep
0101BB5F 0000 add byte ptr ds:[eax],al
0101BB61 0000 add byte ptr ds:[eax],al
下面就是DUMP进程,ImportREC修复输入表了。
fly的 下断:HE EIP,不适用于这个版本了。
加壳的记事本
附件:NOTEPAD.rar
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)