本帖最后由 迷離境界 于 2013-11-7 15:33 編輯 歷史修改BOOTMGR的帖子傳送門(mén): http://bbs./viewthread.php?tid=174163 http://bbs./viewthread.php?tid=184015 http://bbs./viewthread.php?tid=196801 ============================= 分 割 線 ================================== 2樓: http://bbs./viewthread.php?tid=211314&page=1#pid2464644 BOOTMGR支持中文菜單的修改 PXE啟動(dòng)多個(gè)WIN8PE 、WIN7PE時(shí)Bootmgr.exe等文件的修改方法 ============================= 分 割 線 ================================== (2013.10.31)前言:從2012年6月以來(lái)發(fā)現(xiàn)這兩個(gè)工具寫(xiě)下這帖子,由于當(dāng)時(shí)工作剛調(diào)動(dòng),,工作實(shí)在繁忙,偶爾上論壇來(lái)看看,,之前匆忙寫(xiě)下帖子并未能抽時(shí)間過(guò)多測(cè)試研究,,可能之前的方法不十分準(zhǔn)確,有些步驟也不一定是必須的,,經(jīng)過(guò)這一年多時(shí)間來(lái)大家修改使用上基本沒(méi)出現(xiàn)什么大問(wèn)題,,可能也沒(méi)有人會(huì)去測(cè)試驗(yàn)證方法是否正確......本人經(jīng)過(guò)一些簡(jiǎn)單的修改后引導(dǎo)測(cè)試,重新編輯這個(gè)帖子,,省去一些步驟的修改,使修改方法簡(jiǎn)單一些,、容易看懂一些,。省得誤導(dǎo)了大家,也省得朋友們看笑話,,畢竟論壇里國(guó)內(nèi)的,、外國(guó)的朋友都有.......本人知識(shí)有限、能力有限,,如有不正確的地方還請(qǐng)朋友們教導(dǎo)指正........... 2012.08.12 BOOTMGR_Recompiler_v2 工具篇: BOOTMGR 從 WIN8 Pre-M3 6.2.7955.0 版本之后壓縮方式改變了..... 之前的工具已經(jīng)無(wú)法解壓縮,。 非常感謝 joakim 這位外國(guó)的朋友更新了BOOTMGR的破解修改工具為V2版,使得BOOTMGR內(nèi)的路徑修改變得容易.... 原帖:http:///16824/ http:///files/file/188-bootmgr-recompiler/ 參考了這位外國(guó)朋友的帖子總結(jié)得出 BOOTMGR 修改路徑的方法: 一. 用WinHex(或其他16進(jìn)制編輯器)打開(kāi)bootmgr.exe(在微軟安裝光盤(pán)鏡像ISO里BOOT.WIM里 Windows\boot\PXE\下)修改好自己所需的目錄路徑后保存,。 各版本修改bootmgr.exe里目錄路徑的對(duì)應(yīng)的偏移量: 目錄路徑: \Boot \Boot\BCD \Boot\Fonts Windows 8.1正式版: 0x00D36 0x00D86 0x03BDA Windows 8 正式版: 0x8340A 0x8345E 0x87FE2 Windows 7 SP1 : 0x650F2 0x65146 0x6743E 二. 把ntdll.dll(在\Windows\System32\下)復(fù)制到V2工具x86目錄下,,打開(kāi)BOOTMGR_Recompiler_x86.exe,修改Windows 8 的bootmgr.exe 勾選Use ntdll.dll 和 Use XpressHuff (修改Windows 7 和之前的版本的bootmgr.exe 勾選Use ntdll.dll 和 Use LZNT1),,點(diǎn)Open bootmgr.exe選擇修改好的bootmgr.exe,,會(huì)提示CheckSum in pe was incorrect.click yes to update checksum ,PE的校驗(yàn)和是不正確的,,單擊“是”以更新校驗(yàn)和,。自動(dòng)壓縮保存為(生成在選擇的bootmgr.exe同目錄下)bootmgr_mod命名的文件,這個(gè)bootmgr_mod就是改好路徑的BOOTMGR ,,即可使用,。 需要注意(從原帖理解得來(lái)):任何Windows版本的ntdll.dll 都支持LZNT1方式壓縮,而XpressHuffman方式壓縮只支持Windows 8 的ntdll.dll ,。V2工具使用MSCompression.dll 也支持這兩種方式壓縮,,但工具編譯的x86版本還存在一些問(wèn)題,所以在32位系統(tǒng)中選擇是使用ntdll.dll。 三. 特別注意:修改好的BOOTMGR支持使用任意已經(jīng)禁止數(shù)字簽名驗(yàn)證的BCD文件,,如使用未禁止數(shù)字簽名驗(yàn)證的BCD,,將無(wú)法正常引導(dǎo)啟動(dòng)。已經(jīng)禁止數(shù)字簽名驗(yàn)證的BCD文件里的菜單以后再次編輯都可直接使用而不用再次去除數(shù)字簽名驗(yàn)證,,一次禁止,,一勞永逸。(當(dāng)然,,使用未經(jīng)修改的原版BOOTMGR不用理會(huì)數(shù)字簽名驗(yàn)證的問(wèn)題) 去除數(shù)字簽名驗(yàn)證方法: 1. BCD文件 ,、bcdedit.exe 文件放在同一目錄文件夾下,使用 bcdedit /store BCD /set {bootmgr} nointegritychecks yes 這條命令即可,。(也可以把 BCD文件,、 bcdedit.exe 放在同一文件夾里,文件夾里新建一個(gè).bat文件,,復(fù)制這句命令 bcdedit /store BCD文件名 /set {bootmgr} nointegritychecks yes 到.bat文件,,運(yùn)行這個(gè).bat ....)。 不確定是否已禁止,,可直接用那條命令即可去除,。 2. 也可以在編輯BCD菜單時(shí)直接添加參數(shù)來(lái)禁止驗(yàn)證。 例如:用BCDtool 編輯BCD時(shí),,在Windows Boot Manager項(xiàng) 如果沒(méi)有 參數(shù):nointegritychecks 值:Yes ,,請(qǐng)自行添加參數(shù),如果有則說(shuō)明已禁止驗(yàn)證可略過(guò),。 用BOOTICE 編輯BCD時(shí),,在Windows Boot Manager項(xiàng) 如果沒(méi)有 參數(shù):DisableIntegrityChecks 值:True ,請(qǐng)自行添加參數(shù),,如果有則說(shuō)明已禁止驗(yàn)證可略過(guò),。 其它的工具修改BCD請(qǐng)自行研究添加參數(shù),在此不能一一列舉.... 修改BOOTMGR工具V2版: 去除BCD文件數(shù)字簽名驗(yàn)證: 各版本原版的bootmgr ,、bootmgr.exe ,、 bcdedit.exe 、ntdll.dll : Windows 8.1 正式版: Windows 8 正式版: Windows 7 SP1 : 提供Windows 8 BOOTMGR 修改的顯示中文菜單模板ISO測(cè)試: 單PE測(cè)試中文模板:8PE.ISO目錄W8PE/8PE,,把boot.wim放入ISO里W8PE目錄下: x86/x64雙PE測(cè)試中文模板:8PE.ISO目錄W8PE/8PE,,把boot.wim或者w8pe.wim放入ISO里W8PE目錄下: ============================= 分 割 線 ==================================== 2012.06.14 LZNT1_Tools 工具篇: BOOTMGR由一個(gè)16位的樁和32位的可執(zhí)行體(bootmgr.exe)組成。在32位的可執(zhí)行體中,,最前面是一些可以被修改的xsl資源,。Vista的SP0的版本是不同的,因?yàn)樗鼪](méi)有壓縮,。bootmgr的壓縮是在Vista SP1的推出,,一直以來(lái)到WIN7推出都相同,這些32位資源部分被壓縮了,,也就是說(shuō)你必須解壓縮這部分后才可以分析此PE文件。 下面這個(gè)鏈接提供了壓縮和解壓縮bootmgr的工具bmzip:http://www./projects/win7boot/extras/#bmzip 但是測(cè)試發(fā)現(xiàn),,用bmzip這個(gè)工具解壓修改后(或沒(méi)做任何修改),,再用bmzip壓縮后,不能成功引導(dǎo)啟動(dòng).......看看壇內(nèi)此貼討論:http://bbs./viewthread.php?tid=201526 無(wú)意中發(fā)現(xiàn)國(guó)外某論壇一篇帖子介紹可以BOOTMGR解壓修改后再壓縮的工具LZNT1_Tools,,并啟動(dòng)成功,,帖子地址:http:///16169/ 帖子中也介紹了bootmgr的壓縮組成方式,成功解壓再壓縮的BOOTMGR版本:從Vista 6.0.6001.16606 至 WIN8 Pre-M3 6.2.7955.0 的版本.... 下面是整理的修改bootmgr里的目錄路徑的方法: 一. 用Winhex(或其他16進(jìn)制編輯器)打開(kāi)bootmgr,,查找文本 MZ ,,在第二個(gè)“MZ”(包括前3個(gè)字節(jié))之前的數(shù)據(jù)另存為第一部分文件頭boot1 各版本bootmgr文件頭對(duì)應(yīng)的偏移量: Windows 8 6.2.7955.0 : 0x0至0x7A37 Windows 7 SP1 : 0x0至0x7BEF VISTA SP2 : 0x0至0x7B8F 二. 修改所需路徑3種方法(可任選其一,用第3種最直接): 1. 用Winhex打開(kāi)bootmgr ,,在第二個(gè)“MZ”(包括前3個(gè)字節(jié))之后的數(shù)據(jù)保存為boot2(這就是壓縮過(guò)的bootmgr.exe),,運(yùn)行LZNT1_Decompress.exe打開(kāi)boot2 ,解壓縮得到以“ .decomp.bin”為后綴名的輸出文件boot2.decomp.bin,,用Winhex打開(kāi)修改所需的路徑,。 2. 把bootmgr直接用bmzip解壓出來(lái)bootmgr.exe用Winhex修改,bmzip使用示例:解壓:bmzip.exe bootmgr bootmgr.exe ,,壓縮:bmzip.exe /c bootmgr.exe boot2 (原版bootmgr.exe跟bmzip解壓出來(lái)的文件和LZNT1_Decompress.exe解壓出來(lái)的文件是一樣的) 3. 用WinHex打開(kāi)bootmgr.exe(提取自微軟安裝光盤(pán)鏡像ISO里BOOT.WIM里 Windows\boot\PXE\下)修改好自己所需的目錄路徑后保存,。 各版本修改bootmgr.exe里目錄路徑的對(duì)應(yīng)的偏移量: 目錄路徑: \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這個(gè)工具更新修正校驗(yàn)和,(不知為什么我用其它工具修正校驗(yàn)和不能成功啟動(dòng)),。 四. 已修正校驗(yàn)和的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 ,,即可使用。(新建個(gè).bat文件,,復(fù)制合并的那條命令到.bat里,,和boot1 、bootmgr.exe.comp.bin放置同一目錄下,,運(yùn)行這個(gè).bat 即可)新的bootmgr的大小實(shí)際上小于原版的1個(gè)字節(jié),,在最末尾處的00字節(jié),沒(méi)有什么用處,。 六. 特別注意:修改好的BOOTMGR支持使用任意已經(jīng)禁止數(shù)字簽名驗(yàn)證的BCD文件,,如使用未禁止數(shù)字簽名驗(yàn)證的BCD,將無(wú)法正常引導(dǎo)啟動(dòng),。已經(jīng)禁止數(shù)字簽名驗(yàn)證的BCD文件里的菜單以后再次編輯都可直接使用而不用再次去除數(shù)字簽名驗(yàn)證,,一次禁止,一勞永逸,。(當(dāng)然,,使用未經(jīng)修改的原版BOOTMGR不用理會(huì)數(shù)字簽名驗(yàn)證的問(wèn)題) 去除數(shù)字簽名驗(yàn)證方法: 1. BCD文件 ,、bcdedit.exe 文件放在同一目錄文件夾下,使用 bcdedit /store BCD /set {bootmgr} nointegritychecks yes 這條命令即可,。(也可以把 BCD文件,、 bcdedit.exe 放在同一文件夾里,文件夾里新建一個(gè).bat文件,,復(fù)制這句命令 bcdedit /store BCD文件名 /set {bootmgr} nointegritychecks yes 到.bat文件,,運(yùn)行這個(gè).bat ....)。 不確定是否已禁止,,可直接用那條命令即可去除,。 2. 也可以在編輯BCD菜單時(shí)直接添加參數(shù)來(lái)禁止驗(yàn)證。 例如:用 BCDtool 編輯BCD時(shí),,在Windows Boot Manager項(xiàng) 如果沒(méi)有 參數(shù):nointegritychecks 值:Yes ,,請(qǐng)自行添加參數(shù),如果有則說(shuō)明已禁止驗(yàn)證可略過(guò),。 用 BOOTICE 編輯BCD時(shí),,在Windows Boot Manager項(xiàng) 如果沒(méi)有 參數(shù):DisableIntegrityChecks 值:True ,請(qǐng)自行添加參數(shù),,如果有則說(shuō)明已禁止驗(yàn)證可略過(guò),。 其它的工具修改BCD請(qǐng)自行研究添加參數(shù),在此不能一一列舉.... 至此修改完畢.........詳細(xì)請(qǐng)看圖........ BOOTMGR修改工具LZNT1_Tools: PE Explorer 1.99 R5漢化綠色版: 去除BCD文件數(shù)字簽名驗(yàn)證: 去除BCD文件數(shù)字簽名驗(yàn)證.7z 各版本原版BOOTMGR+截取的文件頭boo1 : (WIN8 6.2.7955.0) : (WIN7 SP1) : (VISTA SP2) : WIN7 SP1的bcdedit.exe : 提供改好的模板測(cè)試: WIN7 SP1 BOOTMGR 中文菜單顯示測(cè)試模板:7PE.ISO目錄W7PE/7PE,,用boot.wim替換ISO里的空boot.wim : WIN8 6.2.7955.0 BOOTMGR 測(cè)試模板:8PE.ISO目錄W8PE/8PE,,用boot.wim放入ISO里W8PE目錄下 :(已刪除,請(qǐng)下載上面的WIN8新模板) [ 本帖最后由 迷離境界 于 2012-12-11 21:38 編輯 ] |
|
來(lái)自: 沿階草_2 > 《我的圖書(shū)館》