首页
社区
课程
招聘
[求助]一个vmp壳的程序oep处的堆栈跟入口点不一样
发表于: 2010-6-19 20:49 1887

[求助]一个vmp壳的程序oep处的堆栈跟入口点不一样

2010-6-19 20:49
1887
1002B36E    E8 EC2B0000     call    1002DF5F
1002B373    59              pop     ecx
1002B374    33C0            xor     eax, eax
1002B376    40              inc     eax
1002B377    5F              pop     edi
1002B378    5E              pop     esi
1002B379    5B              pop     ebx
1002B37A    C9              leave
1002B37B    C2 0C00         retn    0C
1002B37E    6A 0C           push    0C                           <------我找的oep
1002B380    68 18A20810     push    1008A218
1002B385    E8 7E0F0000     call    1002C308
1002B38A    8BF9            mov     edi, ecx
1002B38C    8BF2            mov     esi, edx
1002B38E    8B5D 08         mov     ebx, dword ptr [ebp+8]
1002B391    33C0            xor     eax, eax
1002B393    40              inc     eax
1002B394    8945 E4         mov     dword ptr [ebp-1C], eax
1002B397    85F6            test    esi, esi
1002B399    75 0C           jnz     short 1002B3A7

此时的堆栈
0006F688   B4A7DEE4
0006F68C   00000286
0006F690   1002B37E  复件_W.1002B37E
0006F694   101F0952  复件_W.101F0952     <---esp指向这里
0006F698   10000000  复件_W.10000000
0006F69C   00410A73  返回到 LOADDLL.00410A73
0006F6A0   10000000  复件_W.10000000
0006F6A4   00000001

壳的入口点
102E5788 >  68 494F2691     push    91264F49   <---入口
102E578D    E8 A03A1B00     call    10499232
102E5792    68 834FC6C4     push    C4C64F83
102E5797    E8 BE2A1B00     call    1049825A

堆栈
0006F694   00005B41
0006F698   00000001
0006F69C   00410A73  返回到 LOADDLL.00410A73  <--  esp
0006F6A0   10000000  复件_W.10000000
0006F6A4   00000001

这是什么原因啊?

另外这是个dll 文件



很奇怪的是,我在oep处dump后,文件的表现跟原来不同了。。

其实,即使我直接在壳的入口点dump,表现都不一样…………

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//