首页
社区
课程
招聘
[求助]遇见一个未知壳,请大虾教导
发表于: 2012-5-23 15:11 7171

[求助]遇见一个未知壳,请大虾教导

2012-5-23 15:11
7171
菜鸟一个,最近学习加解密。
手上遇到个软件,用Peid 无法识别何种壳,使用核心扫描显示是 RPolyCryptor V1.4.2 -> Vaska [Overlay] *(相信是误报)。
刚开始以为是Zprotect,后来用ZPVer 1.2 插件扫描,显示“Error, may be it's not ZProtect!”。

OD载入,显示“不知如何回避位于地址 007FCD6B 的命令,请尝试更改EIP或忽略程序异常”,Shift+F9后,停在 0054F2D8处,代码如下:

0054F2D8 >  55              push    ebp
0054F2D9    8BEC            mov     ebp, esp
0054F2DB    83C4 F0         add     esp, -10
0054F2DE    B8 48795400     mov     eax, 00547948
0054F2E3    E8 8CB9EBFF     call    0040AC74
0054F2E8    A1 EC855500     mov     eax, dword ptr [5585EC]
0054F2ED    8B00            mov     eax, dword ptr [eax]
0054F2EF    E8 908AFCFF     call    00517D84
0054F2F4    A1 EC855500     mov     eax, dword ptr [5585EC]
0054F2F9    8B00            mov     eax, dword ptr [eax]
0054F2FB    33D2            xor     edx, edx
0054F2FD    E8 82A7FCFF     call    00519A84
0054F302    8B0D 8C845500   mov     ecx, dword ptr [55848C]          ; KTESetti.0055E77C
0054F308    A1 EC855500     mov     eax, dword ptr [5585EC]
0054F30D    8B00            mov     eax, dword ptr [eax]
0054F30F    8B15 74565400   mov     edx, dword ptr [545674]          ; KTESetti.005456CC
0054F315    E8 828AFCFF     call    00517D9C
0054F31A    8B0D E4825500   mov     ecx, dword ptr [5582E4]          ; KTESetti.0055E778
0054F320    A1 EC855500     mov     eax, dword ptr [5585EC]
0054F325    8B00            mov     eax, dword ptr [eax]
0054F327    8B15 2C4F5400   mov     edx, dword ptr [544F2C]          ; KTESetti.00544F84
0054F32D    E8 6A8AFCFF     call    00517D9C
0054F332    A1 EC855500     mov     eax, dword ptr [5585EC]
0054F337    8B00            mov     eax, dword ptr [eax]
0054F339    E8 B68BFCFF     call    00517EF4
0054F33E    E8 1977EBFF     call    00406A5C

想使用ESP定律,载入casgsn文章提到的如下脚本后,一直死跑不停

代码:
var oep        //ESP定律 用到的断点,并不是真正的OEP,只是用以判断已经到真正的OEP了

//清空断点
bphwcall
bpmc

//获取OEP
FoundOEP:
        mov oep,eip
        cmp [oep],60,1
        je GetOEP
        sti
jmp FoundOEP
        GetOEP:
        sti
        mov oep,esp

//绕过注册框
BypassRegist:
        bphws 77D56D7D        //注册对话框断点
        run
        mov eax,232c
        mov eip,77D56D99
        bphwcall

//到达真正OEP
GoOEP:
        bphws oep,"r"
        run
        bphwcall
        sti        //这里有多少个sti在于ESP定律断点断下来后F7几次到达真正OEP
        sti

//退出函数
Exit:
        ret

实在不知如何下手,请各位大虾教导。谢谢!

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

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 622
活跃值: (294)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
2
0054F2D8看起来像OEP,代码比较像Delphi编译的程序。

不知如何回避位于地址 007FCD6B 的命令,至于这个,无文件无真相。可能是TLS解密,也有可能是什么其他的东西。
2012-5-23 16:34
0
雪    币: 817
活跃值: (2063)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
OD载入,显示“不知如何回避位于地址 007FCD6B 的命令,请尝试更改EIP或忽略程序异常”


     不用调试器加载应该可以正常运行吧?没错,你介个像是反调试陷阱,程序在发现自己被调试后,跳向了事先专门安排的“死胡同”。你目前的工作重点应该是找到检测调试器的代码,尤其是被 StrongOD、OllyAdvanced 这样的著名插件都忽略掉的那些 API ,例如:"ZwQueryInformationProcess" 等。堵住隐藏调试器的遗留漏洞,应该就可以躲过那些预设的陷阱了。

    另外,找到检测调试器的代码后,可以人为修改 API 调用返回的结果,故意让程序发现调试器,然后跟踪程序,证实一下程序是否会跳向同一个陷阱。

    请参考: http://bbs.pediy.com/showthread.php?p=1074625#post1074625
2012-5-23 16:53
0
雪    币: 185
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
看上去入口,都没有加壳....怕是没有壳吧.
2012-5-24 23:25
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
难道现在的壳已变种了?看似不像有壳啊。
2012-5-28 16:18
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学习
感觉你
2012-5-30 18:43
0
雪    币: 1864
活跃值: (1614)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我也碰到了这种情况,不知道你的解决了没有?没有脱壳里面的资源文件就不能修改。

上传的附件:
2013-1-24 15:36
0
雪    币: 43
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
刚学脱壳,黑鹰还没看到第十课,先向各位学习了!
2013-2-8 21:38
0
雪    币: 3202
活跃值: (1917)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
目测无壳,高版本 Delphi 写的软件吧?比如: Delphi XE 3, PEiD 很早的软件了,根本查不到几年之后的编译器开发的软件。
2013-2-8 21:53
0
游客
登录 | 注册 方可回帖
返回
//