手脱Yoda's Crypter v1.2.98.E
1、PEiD查壳:
yoda's cryptor 1.2 ,其实是不太准确的,这是一个Yoda's Crypter v1.2.98的壳;
2、OD载入,隐藏OD,忽略所有异常,按shift+F9,此时,其左下角显示:访问违规:写入到[00000000] - 使用|Shift+F7/F8/F9|键忽略异常以继续执行,此时,观察右下角的堆栈,显示如下数据:
0012FFBC 0012FFE0 指针到下一个 SEH 记录
0012FFC0 0040D70C SE 句柄
0012FFC4 7C817077 返回到 kernel32.7C817077
在代码窗口中,CTRL+G,输入0040D70C,回车,并在跳转到的代码行上,F2设置断点,按Shift + F9,然后进入单步跟踪的过程,当代码来到如下蓝色代码行时:
0040D70C 55 push ebp
0040D70D 8BEC mov ebp,esp
0040D70F 57 push edi
0040D710 8B45 10 mov eax,dword ptr ss:[ebp+10]
0040D713 8BB8 C4000000 mov edi,dword ptr ds:[eax+C4]
0040D719 FF37 push dword ptr ds:[edi]
0040D71B 33FF xor edi,edi
0040D71D 64:8F07 pop dword ptr fs:[edi]
0040D720 8380 C4000000 0>add dword ptr ds:[eax+C4],8
0040D727 8BB8 A4000000 mov edi,dword ptr ds:[eax+A4]
0040D72D C1C7 07 rol edi,7
0040D730 89B8 B8000000 mov dword ptr ds:[eax+B8],edi ; Yoda's_C.004010CC
0040D736 B8 00000000 mov eax,0
0040D73B 5F pop edi
0040D73C C9 leave
0040D73D C3 retn
我们看到了熟悉的地址:004010CC,于是,再CTRL+G,输入004010CC,回车,然后F2下断,shift+F9,即可来到真正的OEP,接下来就是脱壳,此处就不再赘述了。

浙公网安备 33010602011771号