再探 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 呵呵 微软太给力了
有没通用的程序啊,手工改,比较麻烦 很不错的教程啊,支持了。 好技术,剽窃之,,终于可改BOOT了。 以前就说过,BOOT\BCD路径中的两个B是一个地址下的B,两用了.所以限制太大 真是不错,谢谢楼主分享,也去试试! 多谢分享。。。有空试试。。。 感谢分享,,准备用到我的PE中,把BOOT文件夹名称改为W888 楼主的方法和我那方法一起配合修改倒是不错......... 很好的教程,收藏之~ 谢谢楼主!楼主的方法,结合迷大的方法,给我们做微软启动引导提供了更多、更灵活的选择。 那些几十K的BCD文件好像改不到boot.sdi的文件...可能是因为不是比较完整的256K的吧,估计得用WINHEX等去手动改了...
256K的试了一下可以没问题...
[ 本帖最后由 andos 于 2010-12-26 15:07 编辑 ] 谢谢分享,学习了!顶一个, 很高兴高人终于出现了,我想请问,LZ说的“MS太给力了”是什么意思呢?另外,LZ是如何找到此方法的?
你应该是被我在一个driver相关的网站上发贴引来的,是吗?
不管怎样,你绝对是个编程高手。 方法鼓捣出来了,哪位高手再开发一个修改工具出来就太棒了。 工具是GSAR,在此下载。
另外,这个东西,可以用GRUB4DOS来修改,不用任何工具了。
signature check一项,可以对比BCD文件前后的变化,应该就是一个开关。
[ 本帖最后由 victor888 于 2011-1-5 16:01 编辑 ] 不知能否再度扩展一下,
比如把QQQQ文件夹名称直接改为MiniPE,,
原则上,字符数是不能变的,,,, 个人认为,多个7PE或WIN7系统安装一起并存的,BOOT还是不改为好,boot.sdi 、语言、字体文件.....等等文件可以共用嘛.... 确实很有意义,学习了…… 原帖由 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 编辑 ] 很好,学习了,下载!
支持一下!
要是可以改成W7PE\W7E就好了 以前我发的USB_MULTIBOOT贴中有这个工具。 就差个GUI界面修改工具了。 很好 收下了 感谢LZ 恩 期待GUI界面修改的工具 谢谢提供,受益匪浅,支持共享!预祝坛友们 新年快乐,万事大吉! 地址这么确定的话,GUI工具是很简单。
如果能在访问点,让它读取字符的时候从别的地方拿就能写任意内容了吧。。。期待这个。。。 饿,这个我之前就试着改过了啊,只是因为两个b和两个o的重复,修改也会有很大限制哦,但话说回来,可以修改boot文件夹名倒是有一定积极意义的
PS:这个路径的奇怪排列是不是一种压缩算法产生的啊,如果能知道他存储这个路径的算法,就能任意修改了吧?而不是只能替换特定字符
[ 本帖最后由 xmanweb 于 2011-1-1 22:34 编辑 ] 谢谢!辛苦了!又学了一招。