首页
社区
课程
招聘
能重定位kernel32和ntdll吗?
发表于: 2007-2-21 00:17 6527

能重定位kernel32和ntdll吗?

2007-2-21 00:17
6527
我修改了BaseAddress,然后重启进NTFSDOS替换.
结果启动后发现BaseAddress又变回来了。怎么解释?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
2
修改了哪里的base
2007-2-21 10:22
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
3
c:\windows\system32\kernel32.dll 和ntdll.dll的Base
2007-2-21 14:07
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
4
被还原了把
2007-2-21 15:10
0
雪    币: 3758
活跃值: (3282)
能力值: ( LV15,RANK:500 )
在线值:
发帖
回帖
粉丝
5
打开c:\windows\system32 点击搜索, 文件名kernel32*.dll, 选中搜到的system32下面的个和dllcache下面的二个, 同时重命名, 则该2个文件分别变为kernel32 (1).dll和kernel32 (2).dll,
如果等待10秒后没有自动找出新的文件, 则说明windows没有找到其他可用源,
再将你修改的文件复制过去, 重启就可用新的了

当然先决条件也是有的, 首先再文件夹选项显示所有文件, 然后搜索的高级选项打开隐藏目录和系统目录.
2007-2-21 18:33
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
6
谢谢楼上的解答。
神奇,还原竟然不通知一声。。。
2007-2-22 01:06
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
7
成功的改变了基址,但是系统启动就蓝屏。。。。
这是什么原因呢?关键的dll不能重定位?
2007-2-25 12:46
0
雪    币: 272
活跃值: (143)
能力值: ( LV15,RANK:930 )
在线值:
发帖
回帖
粉丝
8
最初由 Isaiah 发布
成功的改变了基址,但是系统启动就蓝屏。。。。
这是什么原因呢?关键的dll不能重定位?


这是因为重定位参考的数据(ImageBase)变化了

你可以想一下,os loader 加载一个 image 时
做的重定位过程是什么
2007-2-25 15:37
0
雪    币: 3758
活跃值: (3282)
能力值: ( LV15,RANK:500 )
在线值:
发帖
回帖
粉丝
9
需要用Dll Rebaser这类的静态重定位工具来改变基址, 会随着基址的更改, 将需要重定位的地址也全部修改一遍, 某的Rejacker里面也制作过这个功能, 楼主可以试试.
如果是这样操作还是蓝屏, 大概就是有什么内核级的东西把kernel32的基址用成固定的了吧
2007-2-27 16:22
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
10
你可以考虑把某些系统Dll的体积搞大一点,占掉部分kernel32.dll的地址空间,就可以逼迫kernel32.dll重定位了
某些系统美化包会把shell32.dll搞得很大,会导致user32.dll重定位的
2007-2-27 21:31
0
游客
登录 | 注册 方可回帖
返回
//