首页
社区
课程
招聘
脱ARM的DLL时遇到的问题~!
发表于: 2004-10-10 21:30 6594

脱ARM的DLL时遇到的问题~!

2004-10-10 21:30
6594
按照fly大哥的方法脱ARM的壳时,并不能到达Magic Jump,而总是会出现“堆栈溢值”的异常,但在此时却能够得到IAT(不是很确定),这是为何?又如何到达OEP?还有IAT的RVA在这个DLL中如何计算(我用lordpe得到的基址是10000000)?

望高手指点~!


另附上DLL~!
附件:Easy.rar

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 1
支持
分享
最新回复 (24)
雪    币: 255
活跃值: (266)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
2
:D 这年头外挂真被关注!:D
2004-10-10 22:17
0
雪    币: 255
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
从主程序切入到DLL里面去
2004-10-10 22:37
0
雪    币: 229
活跃值: (143)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
最初由 WiNrOOt 发布
:D 这年头外挂真被关注!:D


呵呵,我倒不是要破解外挂,只是脱壳练练手而已~!

何况我也没能力破解~!
2004-10-10 23:39
0
雪    币: 229
活跃值: (143)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
最初由 kimmal 发布
从主程序切入到DLL里面去


谢谢,呆会试试~!
2004-10-10 23:39
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
6
OEP: 0001E3E8       
IATRVA: 00037000       
IATSize: 00000500

重定位表:
RVA =0011F000
Size=4B48
2004-10-11 00:25
0
雪    币: 229
活跃值: (143)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
最初由 fly 发布
OEP: 0001E3E8
IATRVA: 00037000
IATSize: 00000500


........


先谢谢fly大哥~!

其实这些数据并不是最重要的,fly大哥能教教怎么脱吗?还有如何过那个异常找OEP和Majic Jump呢?
2004-10-11 12:41
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
8
脱壳方法相同
2004-10-11 12:52
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
9
可以试试用DLL_Loader.exe加载
2004-10-11 13:22
0
雪    币: 229
活跃值: (143)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
照着教程再试了一下,当中断在这里时

0006AB84   009904EF  返回到 009904EF 来自 kernel32.GetModuleHandleA
0006AB88   009A2D40  ASCII "kernel32.dll"
0006AB8C   009A3F24  ASCII "VirtualFree"
再F9就会出现“堆栈溢值”的异常,Shift过了后就到了这里
0006EAD0   00999957  返回到 00999957 来自 kernel32.GetModuleHandleA

到不了Majic Jump的地方,后面的重定位的地方也断不了。
最后就会出现这样的错误~!
2004-10-11 13:38
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
11
上面已经说了,试试用DLL_Loader.exe加载
而不是OD直接加载
2004-10-11 16:18
0
雪    币: 229
活跃值: (143)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
谢谢fly大哥~!

还有一个疑问,加载后是否用OD attach呢?
2004-10-11 18:59
0
雪    币: 255
活跃值: (266)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
13
不用!
直接就加载了!
然后慢慢的,轻轻的.....就进去了:D
2004-10-11 19:29
0
雪    币: 229
活跃值: (143)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
最初由 WiNrOOt 发布
不用!
直接就加载了!
然后慢慢的,轻轻的.....就进去了:D


呵呵,找不到方法~!
2004-10-11 19:37
0
雪    币: 255
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
以前脱这个壳时是从主程序切入的,
从主程序切入时在我这里代码不重定位,
用DLL_Loader加载代码会重定位。
2004-10-11 20:03
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
16
OD加载DLL_Loader.exe,DLL_Loader.exe运行后加载dll
2004-10-11 20:04
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
17
最初由 kimmal 发布
以前脱这个壳时是从主程序切入的,
从主程序切入时在我这里代码不重定位,
用DLL_Loader加载代码会重定位。


关掉QQ再用DLL_Loader试试  ;)
2004-10-11 20:07
0
雪    币: 229
活跃值: (143)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
18
谢谢fly大哥和kimmal的回复

又学到一种脱壳的方法了~!

顺便问下,从主程序怎么切入~!
2004-10-11 20:22
0
雪    币: 229
活跃值: (143)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
19
谢谢fly大哥的指点,我终于搞定这个DLL了~!
2004-10-11 20:56
0
雪    币: 229
活跃值: (143)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
20
呵呵,不好意思,还有一点问题~!
fly大哥得到的重定位:RVA=0011F000  SIZE=00004B48
而我得到的是:RVA=0011E000  SIZE=00004B14
奇怪的是我用这两个数据都能运行原程序,而脱了壳的原程序却运行不起来(原程序也是ARM的壳),这是为何?
还有在用fly大哥找重定位数据的方法的时候,发现重定位处理的地址是变的,有时候能断下来,有时候不能断下来,这又是为何?
请高手解释一下~!先谢谢~!

第一次找到的重定位地址:
00F0634B    8B00            mov eax, dword ptr ds:[eax]  
00F0634D    8985 40D8FFFF   mov dword ptr ss:[ebp-27C0], eax
00F06353    A1 80C5F100     mov eax, dword ptr ds:[F1C580]
00F06358    83C0 04         add eax, 4
00F0635B    A3 80C5F100     mov dword ptr ds:[F1C580], eax
00F06360    A1 80C5F100     mov eax, dword ptr ds:[F1C580]
00F06365    8B00            mov eax, dword ptr ds:[eax]
00F06367    8985 78D8FFFF   mov dword ptr ss:[ebp-2788], eax
00F0636D    A1 80C5F100     mov eax, dword ptr ds:[F1C580]
00F06372    83C0 04         add eax, 4
00F06375    A3 80C5F100     mov dword ptr ds:[F1C580], eax
00F0637A    83BD 40D8FFFF 0>cmp dword ptr ss:[ebp-27C0], 0
00F06381    74 6F           je short 00F063F2
00F06383    83BD 78D8FFFF 0>cmp dword ptr ss:[ebp-2788], 0
00F0638A    74 66           je short 00F063F2
00F0638C    8B85 04D7FFFF   mov eax, dword ptr ss:[ebp-28FC]
00F06392    8B8D 14D7FFFF   mov ecx, dword ptr ss:[ebp-28EC]
00F06398    3B48 34         cmp ecx, dword ptr ds:[eax+34]           ; Easymir1.10000000

               

第二次找到的:
    0131634B    8B00            mov eax, dword ptr ds:[eax]
0131634D    8985 40D8FFFF   mov dword ptr ss:[ebp-27C0], eax
01316353    A1 80C53201     mov eax, dword ptr ds:[132C580]
01316358    83C0 04         add eax, 4
0131635B    A3 80C53201     mov dword ptr ds:[132C580], eax
01316360    A1 80C53201     mov eax, dword ptr ds:[132C580]
01316365    8B00            mov eax, dword ptr ds:[eax]
01316367    8985 78D8FFFF   mov dword ptr ss:[ebp-2788], eax
0131636D    A1 80C53201     mov eax, dword ptr ds:[132C580]
01316372    83C0 04         add eax, 4
01316375    A3 80C53201     mov dword ptr ds:[132C580], eax
0131637A    83BD 40D8FFFF 0>cmp dword ptr ss:[ebp-27C0], 0
01316381    74 6F           je short 013163F2
01316383    83BD 78D8FFFF 0>cmp dword ptr ss:[ebp-2788], 0
0131638A    74 66           je short 013163F2
0131638C    8B85 04D7FFFF   mov eax, dword ptr ss:[ebp-28FC]
01316392    8B8D 14D7FFFF   mov ecx, dword ptr ss:[ebp-28EC]
01316398    3B48 34         cmp ecx, dword ptr ds:[eax+34]           ; Easymir1.10000000

2004-10-11 21:28
0
雪    币: 229
活跃值: (143)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
21
想知道这是什么原因,先顶一下~!
版主手下留情~1

谢谢~!
2004-10-11 23:49
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
22
还是dll?
重定位数据应该是相同的
某些时候dll无须重定位,所以能运行,你同时加载几次试试

BTW:这个东东原先是其他壳,让人脱了后又重新加壳
2004-10-11 23:56
0
雪    币: 155
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
有没有工具可以实现在把用SOFT-ICE调试的过程录下来啊?
2004-10-12 18:44
0
雪    币: 155
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
我调试DLL的壳也出现了问题啊。
为什么不能用LORD PE 在DLL开始INT3,提示加载失败。
2004-10-12 18:46
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
以前看过!
2004-10-13 19:22
0
游客
登录 | 注册 方可回帖
返回
//