新版Armadillo V5.02+IAT Elimination+ASPack 2.x双层壳笔记
一软件用PEiD查看为ASPack 2.x (without poly) -> Alexey Solodovnikov,用AspackDie脱壳失败。
习惯的打开OD载入文件,运行fly老师的Armadillo4.0-V4.44.Standard.Protection脚本,也跑飞。
看这个程序的EP,看来是伪装的,在新版本中又增加了vm,以前的脱壳方法看来有问题了。
无奈,于是开始跟踪之,开始手动脱壳。
=========================================================================================================
清除所有*.udd、*.bak临时文件。OD载入文件,停在EP入口。
00D2FDC2 > E8 E3400000 call MQJSSV9.00D33EAA ; 伪装EP入口
00D2FDC7 ^ E9 16FEFFFF jmp MQJSSV9.00D2FBE2
00D2FDCC 6A 0C push 0C
00D2FDCE 68 B0E0D500 push MQJSSV9.00D5E0B0
00D2FDD3 E8 44150000 call MQJSSV9.00D3131C
00D2FDD8 8B4D 08 mov ecx,dword ptr ss:[ebp+8]
00D2FDDB 33FF xor edi,edi
00D2FDDD 3BCF cmp ecx,edi
00D2FDDF 76 2E jbe short MQJSSV9.00D2FE0F
=========================================================================================================
1、转成单进程。
运行单进程脚本。
7C80EA1B > 8BFF mov edi,edi ; 脚本停在这里。
7C80EA1D 55 push ebp
7C80EA1E 8BEC mov ebp,esp
7C80EA20 51 push ecx
7C80EA21 51 push ecx
7C80EA22 837D 10 00 cmp dword ptr ss:[ebp+10],0
7C80EA26 56 push esi
7C80EA27 0F84 66530300 je kernel32.7C843D93
看堆栈中:
============================================================================
0012F720 00D1BDAA /CALL 到 OpenMutexA 来自 MQJSSV9.00D1BDA4
0012F724 001F0001 |Access = 1F0001
0012F728 00000000 |Inheritable = FALSE
0012F72C 0012FD7C \MutexName = "874:
A5426C58F"
============================================================================
2、BP VirtualProtect。
Shift+F9
断在这里:
7C801AD0 > 8BFF mov edi,edi ; wl_hook.100524DC
7C801AD2 55 push ebp
7C801AD3 8BEC mov ebp,esp
7C801AD5 FF75 14 push dword ptr ss:[ebp+14]
7C801AD8 FF75 10 push dword ptr ss:[ebp+10]
7C801ADB FF75 0C push dword ptr ss:[ebp+C]
7C801ADE FF75 08 push dword ptr ss:[ebp+8]
7C801AE1 6A FF push -1
7C801AE3 E8 75FFFFFF call kernel32.VirtualProtectEx
7C801AE8 5D pop ebp
7C801AE9 C2 1000 retn 10
看堆栈中:
============================================================================
0012F464 10005CF4 /CALL 到 VirtualProtect 来自 wl_hook.10005CEE
0012F468 100524DC |Address = wl_hook.100524DC
0012F46C 0000000E |Size = E (14.)
0012F470 00000040 &