首页
社区
课程
招聘
[旧帖] [原创][原创]!EP (EXE Pack) 1.0加壳软件脱壳一法(申请邀请码) 0.00雪花
发表于: 2010-2-5 14:24 1632

[旧帖] [原创][原创]!EP (EXE Pack) 1.0加壳软件脱壳一法(申请邀请码) 0.00雪花

2010-2-5 14:24
1632
目标程序:!EP (EXE Pack) 1.0加壳程序
下载地址:http://www.tuts4you.com/download.php?list.52
下载: !EP (EXE Pack) 1.0
解压后文件名:UnPackMe_!EP (EXE Pack) 1.0.exe                 337KB
PEID查壳:AHpack 0.1 -> FEUERRADER

这个壳比较简单,有多种方法,我也看了不少方法,今天在脱壳过程中发现这一方法,不对的地方请大侠指正.

下面开始脱壳:
OD载入后停在这里:
004B20FF >  60              pushad
004B2100    68 54204B00     push UnPackMe.004B2054                   ; ASCII "KERNEL32.DLL"
004B2105    B8 48204B00     mov eax,<&KERNEL32.GetModuleHandleA>
004B210A    FF10            call dword ptr ds:[eax]
004B210C    68 B3204B00     push UnPackMe.004B20B3                   ; ASCII "GlobalAlloc"
004B2111    50              push eax
004B2112    B8 44204B00     mov eax,<&KERNEL32.GetProcAddress>
004B2117    FF10            call dword ptr ds:[eax]
004B2119    68 004A0900     push 94A00
004B211E    6A 40           push 40
004B2120    FFD0            call eax
004B2122    8905 CA204B00   mov dword ptr ds:[4B20CA],eax
004B2128    89C7            mov edi,eax

下断点:bp GetModuleHandleA
F9运行,注意观察堆栈窗口。
0012FF9C   004B210C  /CALL 到 GetModuleHandleA 来自 UnPackMe.004B210A
0012FFA0   004B2054  \pModule = "KERNEL32.DLL"     注意这里
0012FFA4   7C92E920  ntdll.7C92E920
0012FFA8   7C930228  ntdll.7C930228

堆栈中第二行中pModule的值,多为*.dll
不去管它,继续F9
直到出现:
0012FF98   00406BD5  /CALL 到 GetModuleHandleA 来自 UnPackMe.00406BD0
0012FF9C   00000000  \pModule = NULL      注意,我们要找的地方到了
0012FFA0   004958EC  UnPackMe.004958EC
到了这里,pModule = NULL     
而下面的堆栈指针(0012FFA0   004958EC  UnPackMe.004958EC),004958EC就是OEP了,双击在反汇编窗口跟随,004958EC处新建EIP接下来就可以脱壳了,LOADPE脱壳,在用ImportREC修复,试下能正常运行,PEID看一下,是Borland Delphi 6.0 - 7.0写的。
到此脱壳完成,别的版本我没有试验。1.0的用此方法应该没问题。
另外希望各位大侠能邀请我加入看雪,兄弟不胜感激。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
嗯哼?...........
2010-2-5 20:11
0
游客
登录 | 注册 方可回帖
返回
//