首页
社区
课程
招聘
[求助]dll脱壳中构造重定位表的问题
发表于: 2009-6-4 09:42 5073

[求助]dll脱壳中构造重定位表的问题

2009-6-4 09:42
5073
对照第三版加密解密在学dll脱壳,按照书中的键入重定位表
我的由ImportREC看出外壳加载后的基址是3b0000h,OD插件分配的分配的地址为00ba0000h,我键入的代码便为
00a00289  pushad
00a0028a  mov edx, dword ptr [0ba0000h]
00a00290  sub edx, 3b0000h
00a00296  mov dword ptr [edx], ebx
00a00298  add edx,4
00a0029b  mov dword ptr [0ba0000h], edx
00a002a1  popad
00a002a2  or al,al
00a002a4  jmp short 00a00231h

可以走到地址00a00296h处便跳到7c92e4f4h地址处,再往下走便跳出对话框
loaddll.exe: can't load loaddll.dll
OD死了
看教程视频的也就顺利的走下去了,可自己的为什么会这样???
很菜的一个问题,对菜鸟的我却折腾半天没搞定,大家快来帮帮忙阿

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 44229
活跃值: (19950)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
问题出在:OD插件分配的分配的地址为00ba0000h,这里你要键入一个起始地址。看图13.50。
2009-6-4 09:59
0
雪    币: 60
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我是按照那样来的阿,键入了ba0010h,都是模拟着来的
可同样的问题存在
2009-6-4 10:47
0
雪    币: 8599
活跃值: (5060)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
00a00290  sub edx, 3b0000h

楼主搞错了吧。。。 应该是sub ebx,3b0000h

ebx里放的才是重定位的地址。
2009-6-4 13:18
0
雪    币: 60
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢,谢谢楼上的,犯了这么弱的问题

不过又有一个问题出来了
是不是每次dll脱壳时都要用这一段补丁代码呢?
是有为什么?不是又是什么呢?
位置选择如何定?

望能授之以渔而非授之以鱼,问的有点多,谢谢阿
2009-6-4 15:18
0
雪    币: 44229
活跃值: (19950)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
6
如果重定位表没加密,就不需要这样处理。
重定位表恢复,还有其他方法,MackT曾写过一个工具来处理ReloX 1.0a
http://www.pediy.com/tools/PE_tools/relocations/Relox/ucfrlx10a.zip
2009-6-4 15:30
0
游客
登录 | 注册 方可回帖
返回
//