不用ImportREC脱eXPressor(文字篇)
本帖最后由 当红小生 于 2010-2-21 21:15 编辑程序代码包括资源等数据全部解密、输入表等数据还原但还未填充系统函数地址、DLL则还未重定位,
此时dump出来的文件只需修正OEP、ImportTableRVA等信息即可正常运行完成脱壳。
下载地址:原版98记事本加壳(自己构造吧!)
bp LoadLibraryExA,然后返回代码(ALT+F9)
发现程序已经解码
00410C81 mov ecx,dword ptr ss: ; EAX-00400000=输入表RVA=6000
00410C84 mov dword ptr ds:,ecx
00410C87 mov eax,dword ptr ss:
00410C8A mov dword ptr ds:,CDC31337 ; 此处填充IID,nop it!
bp GetProcAddress,然后返回代码(ALT+F9)
00410D15 mov dword ptr ss:,eax ; 保存在ebp-58
00410D18 cmp dword ptr ss:,0
00410D1C jnz short 98Pk.00410D26
00410D1E push 0
00410D20 call dword ptr ds:[<&KERNEL32.Exi>; kernel32.ExitProcess
00410D26 lea eax,dword ptr ss:
00410D29 push eax
00410D2A push 40
00410D2C push 4
00410D2E push dword ptr ss:
00410D31 call dword ptr ds:[<&KERNEL32.Vir>; kernel32.VirtualProtect
00410D37 mov eax,dword ptr ss:
00410D3A mov ecx,dword ptr ss:
00410D3D mov dword ptr ds:,ecx ; 填充系统函数nop it!
00410DB0 pop eax
00410DB1 jmp eax; 此处跳向OEP!
00410DB3 pop edi
F7跟进
然后dump,oep为10CC,输入表rva为6000,如果减肥的话把‘.pdata’和‘.ex_cod’就是中间那两个区段去掉,然后重建一下PE就OK了。
写文章就是累啊! 膜拜一下~
页:
[1]