lxssjkd 发表于 2014-10-19 17:02

对一款未知壳UPolyX v0.5 *的脱壳

本帖最后由 lxssjkd 于 2014-10-20 08:34 编辑

相信很多朋友跟我一样,想把这个壳脱掉。


今天没事,再那里脱了下,结果还给脱掉了。


这个壳只是个压缩壳,不是什么加密壳,因为IAT根本没有加密。


很多人会在中途来脱这个壳,结果会有很多种显示,有的显示为ASProtect的壳,有的显示为VMProtect2.46的壳。


这些其实都是假象啊,因为IAT根本没有加密,又怎么会是这些壳呢。显然壳软件只是调用了这些壳的入口特征来作掩饰。


这个壳用ESP定律就搞定了,非常简单,只是我们想得太复杂了,我也是菜鸟,有些壳看似强大,多实践多脱总有机率搞定的。
OD忽略所有异常

008C72F2 >68 FE728C00   push D-Recove.008C72FE   ;OD载入停在这里,F8走几步
008C72F7    E9 11000000   jmp D-Recove.008C730D
008C72FC    236A E9         and ebp,dword ptr ds:
008C72FF    0A00            or al,byte ptr ds:

008C730E    68 16738C00   push D-Recove.008C7316;此处ESP定律
008C7313    C3            retn
008C7314    24 0B         and al,0xB
008C7316    54            push esp
008C7317    E9 03000000   jmp D-Recove.008C731F


002AB6E6   /E9 E6170000   jmp 002ACED1;SHIFT+F9来到这里,继续F8
002AB6EB   |53            push ebx
002AB6EC   |D8FF            fdivr st,st(7)
002AB6EE   |15 D8A72800   adc eax,0x28A7D8
002AB6F3   |E8 02000000   call 002AB6FA
002AB6F8   |FF90 8734248D   call dword ptr ds:

00463FAE    B8 70458C00   mov eax,D-Recove.008C4570;分析乱码来到这里,继续F8
00463FB3    50            push eax                                 ; kernel32.BaseThreadInitThunk;IAT函数正常显示,说明不是加密壳
00463FB4    64:FF35 0000000>push dword ptr fs:
00463FBB    64:8925 0000000>mov dword ptr fs:,esp
00463FC2    33C0            xor eax,eax                              ; kernel32.BaseThreadInitThunk
00463FC4    8908            mov dword ptr ds:,ecx
00463FC6    50            push eax                                 ; kernel32.BaseThreadInitThunk
00463FC7    45            inc ebp


00463FB3    50            push eax                                 ; D-Recove.008C4570;如果在这里脱壳,会显示为ASprtect 1.32的壳
00463FB4    64:FF35 0000000>push dword ptr fs:
00463FBB    64:8925 0000000>mov dword ptr fs:,esp
00463FC2    33C0            xor eax,eax                              ; D-Recove.008C4570
00463FC4    8908            mov dword ptr ds:,ecx
00463FC6    50            push eax                                 ; D-Recove.008C4570


0027B0B8    9C            pushfd    ;这里脱壳将显示为VMProtect 2.46
0027B0B9    60            pushad
0027B0BA    FF7424 24       push dword ptr ss:
0027B0BE    E8 05ECFFFF   call 00279CC8
0027B0C3    61            popad
0027B0C4    9D            popfd


00463FAA    59            pop ecx                                  ; kernel32.7584339A
00463FAB    33C0            xor eax,eax
00463FAD    C3            retn
00463FAE    E8 53030000   call D-Recove.00464306
00463FB3^ E9 35FDFFFF   jmp D-Recove.00463CED;跳向OEP


00463CED    6A 58         push 0x58;来到OEP
00463CEF    68 500E4800   push D-Recove.00480E50
00463CF4    E8 83FAFFFF   call D-Recove.0046377C
00463CF9    33DB            xor ebx,ebx
00463CFB    895D E4         mov dword ptr ss:,ebx
00463CFE    895D FC         mov dword ptr ss:,ebx


此时用LORDPE脱壳,再用IMREC修复,修复时没有无效函数,非常OK。

修复后运行正常。脱壳完成。





zxy20014 发表于 2014-10-19 19:43

啊哦,你来晚了,分享的文件已经被取消了,下次要早点哟。
楼主看一下~

真的很疼 发表于 2014-10-19 19:30

应该是ASProtect1.xxx。用最后一次异常法

黑龍 发表于 2014-10-19 18:09

目测VMP壳

lxssjkd 发表于 2014-10-19 17:14

沙发还是我来做吧:lol

夜话飘渺 发表于 2014-10-19 20:38

你的地址好像有问题了?

pililei 发表于 2014-10-20 06:49

支持一个 常碰到这种壳子

manbajie 发表于 2014-10-20 07:07

楼主威武

小河水 发表于 2015-3-11 09:34

膜拜大神,我脱这样的一个壳好多天没搞定

dtkissme 发表于 2015-3-13 22:08

楼主的PEiD,我很喜欢哟。{:1_921:}
页: [1] 2
查看完整版本: 对一款未知壳UPolyX v0.5 *的脱壳