首页
社区
课程
招聘
脱Armadillo 1.xx - 2.xx 壳时候遇到的问题,不解!(有图
发表于: 2006-8-4 00:38 4408

脱Armadillo 1.xx - 2.xx 壳时候遇到的问题,不解!(有图

2006-8-4 00:38
4408
0B321A78    42              inc edx
0B321A79    5E              pop esi
0B321A7A    60              pushad
0B321A7B    54              push esp
0B321A7C  ^ 7F 9B           jg short 0B321A19
0B321A7E    33243E          xor esp,dword ptr ds:[esi+edi]-------shift+f9返回到这里,
0B321A81    E0 05           loopdne short 0B321A88
0B321A83    D979 19         fstcw word ptr ds:[ecx+19]
0B321A86    8360 C7 4C      and dword ptr ds:[eax-39],4C
0B321A8A    E2 56           loopd short 0B321AE2
0B321A8C    382B            cmp byte ptr ds:[ebx],ch
0B321A8E    F6              ???                                 ; 未知命令
0B321A8F    CA 6B03         retf 36B
0B321A92    97              xchg eax,edi
0B321A93    8F              ???                                 ; 未知命令
0B321A94    9D              popfd
0B321A95    A1 AEC0533B     mov eax,dword ptr ds:[3B53C0AE]
0B321A9A    07              pop es


这个是返回到OEP的图!


脱壳的时候提示如下:

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

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
2
这里不是OEP 你脱壳干嘛?
2006-8-4 01:04
0
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
先用Armadillo find protected 1.3扫一下用了哪些保护类型。
2006-8-4 08:59
0
雪    币: 152
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Armadillo find protected 1.3信息:

★ 目标为Armadillo保护
Version 4.40 (Public Build)
保护系统级别为 (专业版)
◆所用到的保护模式有◆
标准保护 或 最小保护模式
【备份密钥设置】
固定的备份密钥
【程序压缩设置】
较好/较慢地压缩方式
【其它保护设置】

不是OEP?蒙了,郁闷啊,我找OEP都找的头大了,请各位老大指点小弟!
2006-8-4 12:02
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这个用脚本就能找到OEP
2006-8-4 12:17
0
雪    币: 152
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
用FI查壳是4.0的!
感谢大家的帮助,看了很多教程,还是不懂,找不到OEP
程序走到这里,已经茫然了!

这里因该是OPE所在的区域,不知道该从那里进去!

100018FD   /75 09           jnz short 10001908
100018FF   |E8 621A0000     call 10003366

垃圾代码删除
2006-8-4 15:13
0
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
7
找一个临时空间放上原程序,这样容易解决问题。
2006-8-4 15:19
0
雪    币: 152
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
谢谢斑竹!我主要是想知道方法,现在在学习中,希望有能力的人帮我看看,把方法帖出来,让我知道自己错在那里!

自己学习也看了很多教程,还是不得要领啊,需要高手们的指点!谢谢大家!

附件这里
2006-8-4 15:31
0
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
9
忽略所有异常
用GetModuleHandleA 下断

0B515CFB       FF15 BC62530B   call    [B5362BC]                        ; kernel32.LoadLibraryA
0B515D01       8B0D AC40540B   mov     ecx, [B5440AC]
0B515D07       89040E          mov     [esi+ecx], eax
0B515D0A       A1 AC40540B     mov     eax, [B5440AC]
0B515D0F       391C06          cmp     [esi+eax], ebx
0B515D12       0F84 2F010000   je      0B515E47               //magic JMP
0B515D18       33C9            xor     ecx, ecx

Alt+M对.text1下断,会中断如下,单步走过去,再Alt+M对.text1下断

0B52F68F       8B12            mov     edx, [edx]
0B52F691       8955 DC         mov     [ebp-24], edx
0B52F694       834D FC FF      or      dword ptr [ebp-4], FFFFFFFF
0B52F698       EB 11           jmp     short 0B52F6AB
0B52F69A       6A 01           push    1
0B52F69C       58              pop     eax
0B52F69D       C3              retn

OEP:
0052C935       55              push    ebp
0052C936       8BEC            mov     ebp, esp
0052C938       6A FF           push    -1
0052C93A       68 48BA6100     push    0061BA48
0052C93F       68 A4A35200     push    0052A3A4
0052C944       64:A1 00000000  mov     eax, fs:[0]
0052C94A       50              push    eax
0052C94B       64:8925 0000000>mov     fs:[0], esp
0052C952       83EC 58         sub     esp, 58
0052C955       53              push    ebx
0052C956       56              push    esi
0052C957       57              push    edi
2006-8-4 15:48
0
雪    币: 152
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
多谢斑竹,我用he GetModuleHandleA+5下段,怎么走的不一样?

0B315CE1    8B0D AC40340B   mov ecx,dword ptr ds:[B3440AC]
0B315CE7    89040E          mov dword ptr ds:[esi+ecx],eax
0B315CEA    A1 AC40340B     mov eax,dword ptr ds:[B3440AC]
0B315CEF    391C06          cmp dword ptr ds:[esi+eax],ebx
0B315CF2    75 16           jnz short 0B315D0A
0B315CF4    8D85 B4FEFFFF   lea eax,dword ptr ss:[ebp-14C]
0B315CFA    50              push eax
0B315CFB    FF15 BC62330B   call dword ptr ds:[B3362BC]            ; kernel32.LoadLibraryA
0B315D01    8B0D AC40340B   mov ecx,dword ptr ds:[B3440AC]
0B315D07    89040E          mov dword ptr ds:[esi+ecx],eax
0B315D0A    A1 AC40340B     mov eax,dword ptr ds:[B3440AC]
0B315D0F    391C06          cmp dword ptr ds:[esi+eax],ebx
0B315D12    0F84 2F010000   je 0B315E47----------JMP.Magic?
0B315D18    33C9            xor ecx,ecx
0B315D1A    8B07            mov eax,dword ptr ds:[edi]
0B315D1C    3918            cmp dword ptr ds:[eax],ebx
0B315D1E    74 06           je short 0B315D26

斑竹走到的是0B515E47 。我 0B315E47 怎么到这里了?
2006-8-4 16:38
0
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
11
最初由 korron 发布
多谢斑竹,我用he GetModuleHandleA+5下段,怎么走的不一样?

0B315CE1 8B0D AC40340B mov ecx,dword ptr ds:[B3440AC]
0B315CE7 89040E mov dword ptr ds:[esi+ecx],eax
0B315CEA A1 AC40340B mov eax,dword ptr ds:[B3440AC]
........


Armadillo会申请内存,将执行代码复制过去执行,因此在不同系统,同一段代码前的地址不同是正常的。你不要看地址,看右边的汇编。
2006-8-4 17:09
0
雪    币: 152
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
前面都对了,就是我打开内存的时候,程序就跑飞了,百思不解啊,斑竹能否说的详细些啊,我们这些菜鸟也许太菜了!

ALT+M在00401000处F2

SHIFT+F9

0B321A78    42                      INC EDX
0B321A79    5E                      POP ESI
0B321A7A    60                      PUSHAD
0B321A7B    54                      PUSH ESP
0B321A7C  ^ 7F 9B                   JG SHORT 0B321A19
0B321A7E    33243E                  XOR ESP,DWORD PTR DS:[ESI+EDI]--程序返回到这一行了!
0B321A81    E0 05                   LOOPDNE SHORT 0B321A88
0B321A83    D979 19                 FSTCW WORD PTR DS:[ECX+19]
0B321A86    8360 C7 4C              AND DWORD PTR DS:[EAX-39],4C
0B321A8A    E2 56                   LOOPD SHORT 0B321AE2
0B321A8C    382B                    CMP BYTE PTR DS:[EBX],CH
0B321A8E    F6                      ???                                      ; 未知命令
0B321A8F    CA 6B03                 RETF 36B                                 ; 远返回
2006-8-4 23:10
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
13
别用ALT+M在00401000处F2

如果要用的话 在处理Magic  Jump的时候用点小技巧 或者把OD隐藏好即可
2006-8-5 00:24
0
雪    币: 152
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
楼上的要说就说的清楚点,这不和没说一样吗,什么技巧,我知道技巧的话,还问什么?我知道你知道,但是我不知道,所以我要问,你说了,还不如说的清楚点,否则跟没说一样!

我就是想学点东西,有些东西自己琢磨是没有出口的!
2006-8-5 00:59
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
15
你在这里请教别人问题 还这么凶?
再说了论坛上关于Armadillo的教程一堆
搜索不会啊?还特地开一个帖子
我已经告诉你了另外一个方法
把OD隐藏撒
真是狗咬。。。。

2006-8-5 02:10
0
游客
登录 | 注册 方可回帖
返回
//