q8249014 发表于 2010-12-25 13:33:33

再探 bootmgr 之 修改 Boot BCD

在 Boot\BCD 这个路径中我们修改B或者是o后所有的B或者o都会变成你修改后的字符

就如同变量引用一般。 如:修改Boot中的 B为Qo为Q那么Boot\BCD会变为 QQQt\QCD

在结尾将给出一段批处理代码便于大家理解   同样可以使用这段批处理测试你修改后的实际路径


下面演示将 Boot\BCD 修改为 QQQQ\QQQ

1.破解自校验使用十六进制编辑器打开 bootmgr (我使用的是 C32Asm),跳转到偏移地址105E处
然后修改 74 03 为 EB 08   注:原理也比较简单,就是将条件跳转(je)修改为无条件跳转(jmp)

2.给Boot改名同上,先打开 bootmgr ,跳转到偏移地址5464C处,修改 42 0C 00 6F 为 51 0C 00 51
在跳转到偏移地址5390F处,修改 74 为 51

3.给BCD改名打开 bootmgr ,跳转到偏移地址54694处,将 43 00 44 修改为 51 00 51

4.修改BCD中的boot.sdi的路径打开 regedit 加载配置单元 BCD 查找 boot.sdi
然后将 \Boot\boot.sdi 修改为 \QQQQ\boot.sdi

5.关闭对bootmgr的完整性检查 即:数字签名
bcdedit -store QQQ -set {bootmgr} nointegritychecks Yes

@echo off&setlocal enabledelayedexpansion
set 5464A=\
set 5464C=B
set 5464F=o
set 5390F=t
set 54694=CD
echo.!5464A!!5464C!!5464F!!5464F!!5390F!!5464A!!5464C!!54694!
set /p 5464C=5464C=B:
set /p 5464F=5464F=o:
set /p 5390F=5390F=t:
set /p 54694=54694=CD:
echo.!5464A!!5464C!!5464F!!5464F!!5390F!!5464A!!5464C!!54694!
pause


附件中的文件解压至活动分区,然后替换Sources中的boot.wim为你的win7 pe内核,用Grub引导bootmgr
注:我测试使用的是hht168的win7 pe

参考了本论坛中 迷离境界 的相关文章 表示感谢


ps:B o t 呵呵   微软太给力了

k71g 发表于 2010-12-25 13:56:27

有没通用的程序啊,手工改,比较麻烦

renchmin 发表于 2010-12-25 20:27:48

很不错的教程啊,支持了。

uepon 发表于 2010-12-25 13:47:34

好技术,剽窃之,,终于可改BOOT了。

blithewind 发表于 2010-12-26 00:00:31

以前就说过,BOOT\BCD路径中的两个B是一个地址下的B,两用了.所以限制太大

ttt0001 发表于 2010-12-26 06:28:10

真是不错,谢谢楼主分享,也去试试!

135956 发表于 2010-12-26 08:25:01

多谢分享。。。有空试试。。。

网虫2008 发表于 2010-12-26 08:30:43

感谢分享,,准备用到我的PE中,把BOOT文件夹名称改为W888

迷离境界 发表于 2010-12-26 08:53:32

楼主的方法和我那方法一起配合修改倒是不错.........

tegl 发表于 2010-12-26 08:58:49

很好的教程,收藏之~

dsljp 发表于 2010-12-26 09:27:52

谢谢楼主!楼主的方法,结合迷大的方法,给我们做微软启动引导提供了更多、更灵活的选择。

andos 发表于 2010-12-26 15:02:54

那些几十K的BCD文件好像改不到boot.sdi的文件...可能是因为不是比较完整的256K的吧,估计得用WINHEX等去手动改了...

256K的试了一下可以没问题...

[ 本帖最后由 andos 于 2010-12-26 15:07 编辑 ]

ziyun 发表于 2010-12-26 15:33:28

谢谢分享,学习了!顶一个,

victor888 发表于 2010-12-27 22:13:21

很高兴高人终于出现了,我想请问,LZ说的“MS太给力了”是什么意思呢?另外,LZ是如何找到此方法的?
你应该是被我在一个driver相关的网站上发贴引来的,是吗?

不管怎样,你绝对是个编程高手。

dgxhls 发表于 2010-12-27 22:29:11

方法鼓捣出来了,哪位高手再开发一个修改工具出来就太棒了。

victor888 发表于 2010-12-28 08:10:05

工具是GSAR,在此下载。

另外,这个东西,可以用GRUB4DOS来修改,不用任何工具了。

signature check一项,可以对比BCD文件前后的变化,应该就是一个开关。

[ 本帖最后由 victor888 于 2011-1-5 16:01 编辑 ]

网虫2008 发表于 2010-12-28 09:40:50

不知能否再度扩展一下,

比如把QQQQ文件夹名称直接改为MiniPE,,

原则上,字符数是不能变的,,,,

迷离境界 发表于 2010-12-28 10:49:47

个人认为,多个7PE或WIN7系统安装一起并存的,BOOT还是不改为好,boot.sdi 、语言、字体文件.....等等文件可以共用嘛....

fxyq 发表于 2010-12-28 10:51:14

确实很有意义,学习了……

zhoubin 发表于 2010-12-28 13:00:37

原帖由 victor888 于 2010-12-28 08:10 发表 http://bbs.wuyou.net/images/common/back.gif
打狗长老,工具是有的,好像是DFSO,可以直接修改任何文件的工具,但是对于这句:
bcdedit -store QQQ -set {bootmgr} nointegritychecks Yes
还需要深入研究一下QQQ文件(BCD)修改前后的变化,其实可能就是一个开关。找到后,同样可以用DFSO修改,因此,一个批处理就搞定了。
弱弱的问一下各位老大:
DFSO是什么软?
那里有DFSO呢。。。。。

[ 本帖最后由 zhoubin 于 2010-12-28 13:03 编辑 ]

于山 发表于 2010-12-28 13:06:45

很好,学习了,下载!

guyouhua 发表于 2010-12-28 15:26:03

支持一下!

要是可以改成W7PE\W7E就好了

victor888 发表于 2010-12-28 19:29:50

以前我发的USB_MULTIBOOT贴中有这个工具。

wangyezhume 发表于 2010-12-28 22:29:19

就差个GUI界面修改工具了。

2010sinewtec 发表于 2010-12-28 22:38:57

很好 收下了 感谢LZ

zcdyj 发表于 2010-12-29 11:24:28

恩 期待GUI界面修改的工具

xwan 发表于 2010-12-29 15:55:14

谢谢提供,受益匪浅,支持共享!

预祝坛友们 新年快乐,万事大吉!

slore 发表于 2010-12-29 17:06:09

地址这么确定的话,GUI工具是很简单。
如果能在访问点,让它读取字符的时候从别的地方拿就能写任意内容了吧。。。期待这个。。。

xmanweb 发表于 2011-1-1 22:21:16

饿,这个我之前就试着改过了啊,只是因为两个b和两个o的重复,修改也会有很大限制哦,但话说回来,可以修改boot文件夹名倒是有一定积极意义的

PS:这个路径的奇怪排列是不是一种压缩算法产生的啊,如果能知道他存储这个路径的算法,就能任意修改了吧?而不是只能替换特定字符

[ 本帖最后由 xmanweb 于 2011-1-1 22:34 编辑 ]

wanghh 发表于 2011-1-2 07:50:18

谢谢!辛苦了!又学了一招。
页: [1] 2 3
查看完整版本: 再探 bootmgr 之 修改 Boot BCD