|
本帖最后由 迷离境界 于 2018-9-12 12:03 编辑
历史修改BOOTMGR的帖子传送门:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=174163
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=184015
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=196801
============================= 分 割 线 ==================================
2楼:
http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=211314&pid=2464644&fromuid=244058
1、BCD菜单的修改
2、BOOTMGR支持中文菜单的修改
3、PXE启动多个WIN8PE 、WIN7PE时Bootmgr.exe等文件的修改方法
============================= 分 割 线 ==================================
(2013.10.31)前言:从2012年6月以来发现这两个工具写下这帖子,由于当时工作刚调动,工作实在繁忙,偶尔上论坛来看看,之前匆忙写下帖子并未能抽时间过多测试研究,可能之前的方法不十分准确,有些步骤也不一定是必须的,经过这一年多时间来大家修改使用上基本没出现什么大问题,可能也没有人会去测试验证方法是否正确......本人经过一些简单的修改后引导测试,重新编辑这个帖子,省去一些步骤的修改,使修改方法简单一些、容易看懂一些。省得误导了大家,也省得朋友们看笑话,毕竟论坛里国内的、外国的朋友都有.......本人知识有限、能力有限,如有不正确的地方还请朋友们教导指正...........
2012.08.12
BOOTMGR_Recompiler_v2 工具篇:
BOOTMGR 从 WIN8 Pre-M3 6.2.7955.0 版本之后压缩方式改变为 XpressHuffman 压缩方式..... 之前的工具已经无法解压缩。
非常感谢 joakim 这位外国的朋友更新了BOOTMGR的破解修改工具为V2版,使得BOOTMGR内的路径修改变得容易....
原帖:http://reboot.pro/16824/
http://reboot.pro/files/file/188-bootmgr-recompiler/
参考了这位外国朋友的帖子总结得出 BOOTMGR 修改路径的方法:
一. 用WinHex(或其他16进制编辑器)打开bootmgr.exe(在微软安装光盘镜像ISO里BOOT.WIM里 Windows\boot\PXE\下)修改好自己所需的目录路径后保存。
各版本修改bootmgr.exe里目录路径的对应的偏移量:
目录路径: \Boot \Boot\BCD \Boot\Fonts
Windows 10.0.10240.16384 : 0x010FE 0x0114E 0x04C82
Windows 8.1 Update(6.3.9600.17031): 0x00D36 0x00D86 0x03D82
Windows 8.1正式版: 0x00D36 0x00D86 0x03BDA
Windows 8 正式版: 0x8340A 0x8345E 0x87FE2
Windows 7 SP1 : 0x650F2 0x65146 0x6743E
二. 把ntdll.dll(在\Windows\System32\下)复制到V2工具x86目录下,打开BOOTMGR_Recompiler_x86.exe,修改Windows 8 的bootmgr.exe 勾选Use ntdll.dll 和 Use XpressHuff (修改Windows 7 和之前的版本的bootmgr.exe 勾选Use ntdll.dll 和 Use LZNT1),点Open bootmgr.exe选择修改好的bootmgr.exe,会提示CheckSum in pe was incorrect.click yes to update checksum ,PE的校验和是不正确的,单击“是”以更新校验和。自动压缩保存为(生成在选择的bootmgr.exe同目录下)bootmgr_mod命名的文件,这个bootmgr_mod就是改好路径的BOOTMGR ,即可使用。
需要注意(从原帖理解得来):任何Windows版本的ntdll.dll 都支持LZNT1方式压缩,而XpressHuffman方式压缩只支持Windows 8 的ntdll.dll 。V2工具使用MSCompression.dll 也支持LZNT1方式和XpressHuffman方式这两种方式压缩,但工具编译的x86版本使用MSCompression.dll 还存在一些问题,所以在32位系统中使用工具x86版本选择是使用ntdll.dll。
三. 特别注意:修改好的BOOTMGR支持使用任意已经禁止数字签名验证的BCD文件,如使用未禁止数字签名验证的BCD,将无法正常引导启动。已经禁止数字签名验证的BCD文件里的菜单以后再次编辑都可直接使用而不用再次去除数字签名验证,一次禁止,一劳永逸。(当然,使用未经修改的原版BOOTMGR不用理会数字签名验证的问题)
去除数字签名验证方法:
1. BCD文件 、bcdedit.exe 文件放在同一目录文件夹下,使用 bcdedit /store BCD /set {bootmgr} nointegritychecks yes 这条命令即可。(也可以把 BCD文件、 bcdedit.exe 放在同一文件夹里,文件夹里新建一个.bat文件,复制这句命令 bcdedit /store BCD文件名 /set {bootmgr} nointegritychecks yes 到.bat文件,运行这个.bat ....)。
不确定是否已禁止,可直接用那条命令即可去除。
2. 也可以在编辑BCD菜单时直接添加参数来禁止验证。
例如:用BCDtool 编辑BCD时,在Windows Boot Manager项 如果没有 参数:nointegritychecks 值:Yes ,请自行添加参数,如果有则说明已禁止验证可略过。
用BOOTICE 编辑BCD时,在Windows Boot Manager项 如果没有 参数:DisableIntegrityChecks 值:True ,请自行添加参数,如果有则说明已禁止验证可略过。
其它的工具修改BCD请自行研究添加参数,在此不能一一列举....
修改BOOTMGR工具V2版:
BOOTMGR_Recompiler_v2.7z
(1.84 MB, 下载次数: 6337)
去除BCD文件数字签名验证:
去除BCD文件数字签名验证.7z
(81.67 KB, 下载次数: 3332)
各版本原版的bootmgr 、bootmgr.exe 、 bcdedit.exe 、ntdll.dll :
Windows 10.0.10240.16384 :
Windows 10.0.10240.16384.7z
(1.22 MB, 下载次数: 725)
Windows 8.1 Update(6.3.9600.17031):
Windows 8.1 Update.7z
(1.19 MB, 下载次数: 1503)
Windows 8.1 正式版:
Windows 8.1.7z
(1.18 MB, 下载次数: 1918)
Windows 8 正式版:
Windows 8.7z
(1.19 MB, 下载次数: 2014)
Windows 7 SP1 :
Window 7 SP1.7z
(992.9 KB, 下载次数: 1656)
提供Windows 8 修改的显示中文菜单模板ISO测试:
单PE测试中文模板:8PE.ISO目录W8PE/8PE,把boot.wim放入ISO里W8PE目录下:
W8PE(单PE测试模板).7z
(2.88 MB, 下载次数: 1536)
x86/x64双PE测试中文模板:8PE.ISO目录W8PE/8PE,把boot.wim或者w8pe.wim放入ISO里W8PE目录下:
W8PE(双PE测试模板).7z
(2.88 MB, 下载次数: 1480)
WIN7 SP1 中文菜单显示测试模板:7PE.ISO目录W7PE/7PE,用boot.wim替换ISO里的空boot.wim :7PE.7z
============================= 分 割 线 ====================================
2012.06.14
LZNT1_Tools 工具篇:
BOOTMGR由一个16位的桩和32位的可执行体(bootmgr.exe)组成。在32位的可执行体中,最前面是一些可以被修改的xsl资源。Vista的SP0的版本是不同的,因为它没有压缩。bootmgr的压缩是在Vista SP1的推出,一直以来到WIN7推出都相同,这些32位资源部分被压缩了,也就是说你必须解压缩这部分后才可以分析此PE文件。
下面这个链接提供了压缩和解压缩bootmgr的工具bmzip:http://www.coderforlife.com/projects/win7boot/extras/#bmzip
但是测试发现,用bmzip这个工具解压修改后(或没做任何修改),再用bmzip压缩后,不能成功引导启动.......看看坛内此贴讨论:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=201526
无意中发现国外某论坛一篇帖子介绍可以BOOTMGR解压修改后再压缩的工具LZNT1_Tools,并启动成功,帖子地址:http://reboot.pro/16169/
帖子中也介绍了bootmgr的压缩组成方式,LZNT1 压缩方式成功解压再压缩的BOOTMGR版本:从Vista 6.0.6001.16606 至 WIN8 Pre-M3 6.2.7955.0 的版本....
下面是整理的修改bootmgr里的目录路径的方法:
一. 用Winhex(或其他16进制编辑器)打开bootmgr,查找文本 MZ ,在第二个“MZ”(包括前3个字节)之前的数据另存为第一部分文件头boot1
各版本bootmgr文件头对应的偏移量:
Windows 8 6.2.7955.0 : 0x0至0x7A37
Windows 7 SP1 : 0x0至0x7BEF
VISTA SP2 : 0x0至0x7B8F
二. 修改所需路径3种方法(可任选其一,用第3种最直接):
1. 用Winhex打开bootmgr ,在第二个“MZ”(包括前3个字节)之后的数据保存为boot2(这就是压缩过的bootmgr.exe),运行LZNT1_Decompress.exe打开boot2 ,解压缩得到以“ .decomp.bin”为后缀名的输出文件boot2.decomp.bin,用Winhex打开修改所需的路径。
2. 把bootmgr直接用bmzip解压出来bootmgr.exe用Winhex修改,bmzip使用示例:解压:bmzip.exe bootmgr bootmgr.exe ,压缩:bmzip.exe /c bootmgr.exe boot2 (原版bootmgr.exe跟bmzip解压出来的文件和LZNT1_Decompress.exe解压出来的文件是一样的)
3. 用WinHex打开bootmgr.exe(提取自微软安装光盘镜像ISO里BOOT.WIM里 Windows\boot\PXE\下)修改好自己所需的目录路径后保存。
各版本修改bootmgr.exe里目录路径的对应的偏移量:
目录路径: \Boot \Boot\BCD \Boot\Fonts
Windows 8 6.2.7955.0 : 0x650F2 0x65146 0x6708A
Windows 7 SP1 : 0x650F2 0x65146 0x6743E
VISTA SP2 : 0x553BE 0x5540E 0x57192
三. 修改好的bootmgr.exe用PE Explorer这个工具更新修正校验和,(不知为什么我用其它工具修正校验和不能成功启动)。
四. 已修正校验和的bootmgr.exe 用LZNT1_Compress.exe压缩,得到以“.comp.bin”为后缀名的文件:bootmgr.exe.comp.bin
五. 文件头boot1和改好压缩的bootmgr.exe.comp.bin 合并: copy boot1 /b + bootmgr.exe.comp.bin BOOTMGR.new ,生成文件名为BOOTMGR.new的新的BOOTMGR ,即可使用。(新建个.bat文件,复制合并的那条命令到.bat里,和boot1 、bootmgr.exe.comp.bin放置同一目录下,运行这个.bat 即可)新的bootmgr的大小实际上小于原版的1个字节,在最末尾处的00字节,没有什么用处。
六. 特别注意:修改好的BOOTMGR支持使用任意已经禁止数字签名验证的BCD文件,如使用未禁止数字签名验证的BCD,将无法正常引导启动。已经禁止数字签名验证的BCD文件里的菜单以后再次编辑都可直接使用而不用再次去除数字签名验证,一次禁止,一劳永逸。(当然,使用未经修改的原版BOOTMGR不用理会数字签名验证的问题)
去除数字签名验证方法:
1. BCD文件 、bcdedit.exe 文件放在同一目录文件夹下,使用 bcdedit /store BCD /set {bootmgr} nointegritychecks yes 这条命令即可。(也可以把 BCD文件、 bcdedit.exe 放在同一文件夹里,文件夹里新建一个.bat文件,复制这句命令 bcdedit /store BCD文件名 /set {bootmgr} nointegritychecks yes 到.bat文件,运行这个.bat ....)。
不确定是否已禁止,可直接用那条命令即可去除。
2. 也可以在编辑BCD菜单时直接添加参数来禁止验证。
例如:用 BCDtool 编辑BCD时,在Windows Boot Manager项 如果没有 参数:nointegritychecks 值:Yes ,请自行添加参数,如果有则说明已禁止验证可略过。
用 BOOTICE 编辑BCD时,在Windows Boot Manager项 如果没有 参数:DisableIntegrityChecks 值:True ,请自行添加参数,如果有则说明已禁止验证可略过。
其它的工具修改BCD请自行研究添加参数,在此不能一一列举....
至此修改完毕.........详细请看图........
BOOTMGR修改工具LZNT1_Tools:
LZNT1_Tools.7z
(648.63 KB, 下载次数: 2116)
PE Explorer 1.99 R5汉化绿色版:
PE Explorer.rar
(2.87 MB, 下载次数: 1965)
去除BCD文件数字签名验证: 去除BCD文件数字签名验证.7z
各版本原版BOOTMGR+截取的文件头boo1 :
(WIN8 6.2.7955.0) :
WIN8 6.2.7955.0.7z
(307.25 KB, 下载次数: 712)
(WIN7 SP1) :
WIN7 SP1.7z
(307.41 KB, 下载次数: 545)
(VISTA SP2) :
VISTA SP2.7z
(263.4 KB, 下载次数: 383)
WIN7 SP1的bcdedit.exe :
bcdedit.7z
(73.44 KB, 下载次数: 451)
提供改好的模板测试:
WIN7 SP1 中文菜单显示测试模板:7PE.ISO目录W7PE/7PE,用boot.wim替换ISO里的空boot.wim :
7PE.7z
(2.6 MB, 下载次数: 1622)
WIN8 6.2.7955.0 测试模板:8PE.ISO目录W8PE/8PE,用boot.wim放入ISO里W8PE目录下 :(已删除,请下载上面的WIN8新模板)
[ 本帖最后由 迷离境界 于 2012-12-11 21:38 编辑 ] |
评分
-
查看全部评分
|