虚拟主机 域名注册
nspack 3.5 主程序脱壳介绍
xp sp2
flyodbg
Aspr SKE 2.X
零需要哪里就重新来过重点分析哪里
come on let's go
一PEiD可以不用, 但LordPE一定要先加载看看
.rsrc段上面有三个区段,没有名字,不过可以猜到是.text、.rdata和.data段,是VC的程序
二看看能不能在OD下跑起来
OD载入nspack.exe,忽略所有异常,清除所有断点, 打上IsDebuggerPresent插件
F9运行gogogo~
正常情况下能跑起来,alt+e看看加载的dll,看到有msvcrt.dll,没有发现mfc的dll
所以是普通VC或MFC静态
我猜我猜我猜猜猜
三到oep看看
重来,OD截入,忽略所有...清除...打上..插件
到GetVersion的末尾retn下断
7C8114AB kernel32.GetVersion64:A1 18000000 mov eax,dword ptr fs:[18]
7C8114B18B48 30mov ecx,dword ptr ds:[eax+30]
7C8114B48B81 B0000000mov eax,dword ptr ds:[ecx+B0]
7C8114BA0FB791 AC000000movzx edx,word ptr ds:[ecx+AC]
7C8114C183F0 FExor eax,FFFFFFFE
7C8114C4C1E0 0Eshl eax,0E
7C8114C70BC2 or eax,edx
7C8114C9C1E0 08shl eax,8
7C8114CC0B81 A8000000or eax,dword ptr ds:[ecx+A8]
7C8114D2C1E0 08shl eax,8
7C8114D50B81 A4000000or eax,dword ptr ds:[ecx+A4]
7C8114DBC3 retn//这里下断
F9运行,断下,F8返回,向上看看,看到oep了
00486C6855 push ebp
00486C698BEC mov ebp,esp
00486C6B6A FFpush -1
00486C6D68 38FB4A00push nSpack.004AFB38
00486C7268 50554800push nSpack.00485550
00486C7764:A1 00000000 mov eax,dword ptr fs:[0]
00486C7D50 push eax
00486C7E64:8925 00000000 mov dword ptr fs:[0],esp
00486C8583EC 58sub esp,58
00486C8853 push ebx
00486C8956 push esi
00486C8A57 push edi
00486C8B8965 E8mov dword ptr ss:[ebp-18],esp
00486C8EFF15 6C724A00call dword ptr ds:[4A726C]; kernel32.GetVersion
00486C9433D2 xor edx,edx// GetVersion返回到这里
VC6会GetVersion,VC7会GetVersionExA,可以都在末尾下断,到时候看哪个像oep附近就是了
四输入表
GetVersion是在[4A726C],那么到那个地方向上看看,向下看看,找输入表的范围
结果
4A7000 到 4A7688
输入表没有加密 :)
有时候aspr SKE 2.X会把输入表加密,把一部分导入函数地址改的乱七八糟,可那些加密的地址是不存在的。
那它怎么用那里的导入函数呢? 其实它把代码中所有对加密导入函数的调用从原先的call [IAT]或jmp [IAT]
改成了call 00EA0000这种样子,从它自己的call 00EA0000进入导入函数,这样那些加密的导入函数就可以随便
写一个不存在的地址了。
如果输入表加密了,你可以这样完整修复:
OD截入,忽略所有...清除...打上..插件
随便对一个导入函数地址下内存写断点,比如这里GetVersion的4A726C
断了若干次后到这里
00C5764D8902mov dword ptr ds:[edx],eax ; // eax指向GetVersion的地址,写入ebx = 4A726C
00C5764FE9 20010000 jmp 00C57774
00C577748B45 0C mov eax,dword ptr ss:[ebp+C]
00C577778300 04 add dword ptr ds:[eax],4
00C5777A8D85 FAFEFFFF lea eax,dword ptr ss:[ebp-106]
0
[1] [2] [3] [4] [5] 下一页