首页
社区
课程
招聘
[求助]脱壳后检测不出语言类型
发表于: 2011-8-10 10:49 5906

[求助]脱壳后检测不出语言类型

2011-8-10 10:49
5906
是用脚本脱的:VMProtect API Turbo Tracer 1.2
它的原理是通过拦VirtualProtect与对12ffc0下硬件断点找到OEP
然后手工在代码段后面加上
push ebp
push xxxxxxx(OEP时栈里的值)
jmp oep
并从push ebp开始dump
然后把脚本生成的api_calc_xxxxxx.mem加到pe文件的尾部,并重设EP至此
最后在输入表中加入LoadLibraryA与GetProcAddress并修改api_calc中的AAAAAA地址
这样以后的程序可以正常运行,并且跨平台运行
我就在想,这种壳居然用脚本给脱出来了,是不是有点不正常呀~
于是我使用peid与fileinfo,仍然无法获取脱壳后的程序是用什么语言写的...
这说明了什么?是脱壳并不完全吗?谢谢~

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 238
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
pdx
2
附上OEP处代码:
0041F586  /> /55            push    ebp
0041F587  |. |8BEC          mov     ebp, esp
0041F589  |. |83EC 10       sub     esp, 10
0041F58C  |. |A1 30264400   mov     eax, dword ptr [442630]
0041F591  |. |8365 F8 00    and     dword ptr [ebp-8], 0
0041F595  |. |8365 FC 00    and     dword ptr [ebp-4], 0
0041F599  |. |53            push    ebx
0041F59A  |. |57            push    edi
0041F59B  |. |BF 4EE640BB   mov     edi, BB40E64E
0041F5A0  |. |3BC7          cmp     eax, edi
0041F5A2  |. |BB 0000FFFF   mov     ebx, FFFF0000
0041F5A7  |. |74 0D         je      short 0041F5B6
0041F5A9  |. |85C3          test    ebx, eax
0041F5AB  |. |74 09         je      short 0041F5B6
0041F5AD  |. |F7D0          not     eax
0041F5AF  |. |A3 34264400   mov     dword ptr [442634], eax
0041F5B4  |. |EB 60         jmp     short 0041F616
0041F5B6  |> |56            push    esi
0041F5B7  |. |8D45 F8       lea     eax, dword ptr [ebp-8]
0041F5BA  |. |50            push    eax
0041F5BB  |. |52            push    edx
0041F5BC  |. |E8 B0F20200   call    0044E871
0041F5C1  |. |8B75 FC       mov     esi, dword ptr [ebp-4]
0041F5C4  |. |3375 F8       xor     esi, dword ptr [ebp-8]
0041F5C7  |. |50            push    eax
0041F5C8  |. |E8 06440300   call    004539D3
0041F5CD  |. |33F0          xor     esi, eax
0041F5CF  |. |52            push    edx
0041F5D0  |. |E8 1AFB0200   call    0044F0EF
0041F5D5  |. |33F0          xor     esi, eax
0041F5D7  |. |55            push    ebp
0041F5D8  |.  E8 173C0300   call    004531F4
......
2011-8-10 12:51
0
雪    币: 560
活跃值: (874)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
貌似不是oep
2011-8-10 14:49
0
雪    币: 238
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
pdx
4
有道理,protection_id说我觉得已经脱掉壳的程序是visual c++ 8.0写的并且仍有vmp保护
这oep的代码似乎和vc++的入口特征也不像~
这是用fast method找到的,待我再用normal method找找看.
......
好象找不到新的OEP~
2011-8-10 15:17
0
雪    币: 61
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这种复杂的壳不能靠脚本搞定,靠不住
2011-10-23 09:12
0
雪    币: 65
活跃值: (171)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
到没到OEP,看下堆栈就知道了
2011-10-24 13:18
0
游客
登录 | 注册 方可回帖
返回
//