Resource Hacker漢化版是一個(gè)專業(yè)的資源編輯工具,大家經(jīng)常使用它編譯、查看、反編譯以及再編譯 32 位和 64 位 Windows 可執(zhí)行文件的資源。Resource Hacker(TM) 可以打開任意類型的 Windows 可執(zhí)行文件 (*.exe、*.dll、*.scr、*.mui 等等),因此,可以添加、修改、或刪除這些文件內(nèi)的單獨(dú)資源。Resource Hacker(TM) 可以創(chuàng)建和編譯資源腳本文件 (*.rc),也可以編輯資源文件 (*.res)。
資源編譯器 Resource Hacker v5.1.8.353 綠色漢化版
類型:安全相關(guān)大?。?.56MB語言:簡(jiǎn)體中文時(shí)間:2020-11-15查看詳情本文為您提供了Resource Hacker漢化版使用教程,以下教程來自ource Hacker漢化版內(nèi)置的幫助文件,歡迎閱讀。
編譯:
編譯可以通過資源腳本文件作為參數(shù)以命令行(見下文)的方式進(jìn)行,也可以使用 Resource Hacker 的文本編輯器進(jìn)行。支持的編譯器指令包括: #DEFINE、#UNDEF、#IF、#ELIF、#ELSE、#IFDEF、#IFNDEF、#INCLUDE、以及 #PRAGMA。資源語句中的字串以雙引號(hào)(")字符定義。這些字串也可包含典型“C”風(fēng)格帶有反斜杠“escaped”字符 ? \t , \n , \\ , \" , 以及 \000 .. \377 (八進(jìn)制)。通過反斜杠或其他雙引號(hào)字符來處理,字串中的雙引號(hào)可以被“escaped”。腳本注釋通過雙前斜杠(//)或分號(hào)(;)來處理。資源語句內(nèi)的文件名只能作為字串解析,因此它們必須由雙引號(hào)字串封閉,否則會(huì)提高編譯錯(cuò)誤。完整的資源定義語句列表可在此查閱。
查看資源:一旦打開了文件,大多數(shù)資源將被顯示為圖像(或圖像組),或顯示為反編譯后的文本:
然而,某些資源類型將被同時(shí)顯示為編譯的窗體(如對(duì)話框或彈出菜單)以及反編譯后的文本格式。
某些資源類型只能顯示為原始字節(jié)數(shù)據(jù)的轉(zhuǎn)儲(chǔ):
使用內(nèi)部編輯器來修改基于文本的資源:使用內(nèi)部資源編輯器,可以輕松編輯和重新編譯對(duì)話框、菜單、字串表、消息表、快捷鍵和 Borland 窗體資源
對(duì)話控件也可以可視化地改變大小和/或移動(dòng),您所作的更改將自動(dòng)反映在資源腳本中。它可以自動(dòng)完成屏幕像素和對(duì)話單位之間的轉(zhuǎn)換。在顯示的對(duì)話中單擊選定某個(gè)控件?;蛘?,Tab 或 Shift-Tab 鍵可以用來分別選擇下一個(gè)或上一個(gè)控件。選定的控件將顯示調(diào)整框。要想移動(dòng)控件而不改變大小,請(qǐng)先選定控件,單擊并將其拖動(dòng)到新的位置。箭頭鍵也可以在選定后移動(dòng)控件。某個(gè)控件可以通過單擊和拖動(dòng)其中一個(gè)調(diào)整框來調(diào)整大小?;蛘撸M合 shift 箭頭鍵也可以用來調(diào)整控件。“對(duì)話編輯器”可以從右擊預(yù)覽對(duì)話顯示的彈出菜單中打開,“控件編輯器”可以從選定控件的同一菜單中打開。
也可以添加新控件。“控件編輯器”支持可能的所有 Microsoft 當(dāng)前定義的標(biāo)準(zhǔn)和通用的控件類。通過謹(jǐn)慎編輯 Resource Hacker(TM) 相同文件夾下的“dialog.def”文件,用戶定義的自定義類也可以添加到類的預(yù)定義列表中。工具欄按鈕允許選擇絕大部分使用的控件。新添加的控件的左上角將默認(rèn)指向?qū)υ挶蛔畛跤覔舻牡胤健?/p>
替換圖像:如果要被替換的資源項(xiàng)是圖標(biāo)、指針、或位圖,來源可以分別是 *.ico、*.cur 或 *.bmp 文件,或者從某個(gè) *.res 或另一個(gè) *.exe 文件中選擇。從菜單中選擇“操作|替換圖標(biāo)”(指針或位圖)。
命令行腳本:所有 Resource Hacker(TM) GUI 的功能(除了查看資源)都可以從命令行來訪問,而不用打開 Resource Hacker(TM)。命令行腳本可以去掉運(yùn)行 Resource Hacker(TM) 重復(fù)任務(wù)的苦差事。
命令行腳本有 2 個(gè)通用的窗體:
1. 單命令:ResHacker.exe 命令 命令_參數(shù)2. 多命令:ResHacker.exe -腳本 腳本文件
單命令:命令和命令_參數(shù):-add ExeFile, SaveAsFile, ResourceFile, ResourceMask-addskip ExeFile, SaveAsFile, ResourceFile, ResourceMask-addoverwrite ExeFile, SaveAsFile, ResourceFile, ResourceMask-modify ExeFile, SaveAsFile, ResourceFile, ResourceMask-extract ExeFile, ResourceFile, ResourceMask-delete ExeFile, SaveAsFile, ResourceMask注意:每個(gè)命令參數(shù)必須由逗點(diǎn)分隔,但第一個(gè)參數(shù)之前不要有逗點(diǎn)。路徑應(yīng)該包括文件名。文件名包含空格應(yīng)括在雙引號(hào)內(nèi)。
ResourceMask 允許用命令來執(zhí)行單個(gè)或多個(gè)資源項(xiàng)并獲得窗體 ResType、ResName、ResLang。(如果 ResType 是一個(gè)預(yù)定義的類型,那么其編號(hào)或標(biāo)識(shí)符都可以使用。如 ResourceMask dialog,128,0 與 5,128,0 是一樣的。)可以省略一部分或所有的 ResourceMask 項(xiàng)。如 dialog,, 說明一下,所有對(duì)話都將被應(yīng)用到命令中,而不考慮名稱或語言。并且,,,1049 表示所有含 Russian (1049) 和資源都將應(yīng)用到命令中。一個(gè)空的 ResourceMask ,, 表示命令將應(yīng)用到每個(gè)資源中,而不考慮類型、名稱或語言。
當(dāng)添加或修改項(xiàng)目時(shí),ResourceFile 可以是任何項(xiàng)目類型的 RES 文件、BITMAP 類型的 BMP 文件、CURSORGROUP 類型的 CUR 文件、ICONGROUP 類型的 ICO 文件、以及 RCDATA 和用戶定義資源類型的任何文件類型。
從文件而不是從 RES 文件中添加和修改資源時(shí),ResType 和 ResName 必須在 ResourceMask 中指定。如果忽略了 ResLang,那么命令將以匹配的類型和名稱應(yīng)用到第一個(gè)語言項(xiàng)中。否則,如果沒有匹配項(xiàng)存在,則假設(shè)語言為中性(0)。
在提取資源時(shí),ResourceMask 默認(rèn)超過一個(gè)項(xiàng)目,那么指定的 ResourceFile 必須是一個(gè) RES 文件或 RC 文件。將二進(jìn)制圖像資源提取到 RC 文件中時(shí),也會(huì)將每個(gè)圖像創(chuàng)建為一個(gè)單獨(dú)的二進(jìn)制文件(ico、cur、bmp、gif、bin)。請(qǐng)看下面的例子。
不能直接操作 ICON 和 CURSOR 資源,除了通過使用其各自的 ICONGROUP 或 CURSORGROUP 來添加、刪除、修改、以及提取。ICON 和 CURSOR 仍然可以使用,但 Resource Hacker(TM) 將假定 ICONGROUP 或 CURSORGROUP 是預(yù)期的。
所有操作或錯(cuò)誤都將記錄到“ResHacker.log”中。
注意:如果一個(gè)腳本未產(chǎn)生期望的結(jié)果就請(qǐng)檢查日志!
舉例:(已經(jīng)忽略文件路徑,有助于理解)
要從 UpdDlg.res 添加或更新 MyProg.exe 中的對(duì)話名稱:maindlg lang:0ResHacker.exe -addoverwrite MyProg.exe, MyProgNew.exe, UpdDlg.res, dialog,maindlg,0
要從 NewImage.bmp 添加或更新 MyProg.exe 中的位圖名稱:128ResHacker.exe -addoverwrite MyProg.exe, MyProgNew.exe, NewImage.bmp , bitmap,128,
要從 Images.res 添加或更新 MyProg.exe 中的所有位圖ResHacker.exe -addoverwrite MyProg.exe, MyProgNew.exe, Images.res, bitmap,,
要從 ReadMe.html 將“用戶定義”的二進(jìn)制資源 (README,1,0) 添加到 MyProg.exe 中ResHacker.exe -addoverwrite MyProg.exe, MyProgNew.exe, ReadMe.html, readme,1,0
要將 Images.res 中的所有項(xiàng)目添加到 MyProg.exe 中(但如果有任何項(xiàng)目存在就會(huì)失敗)ResHacker.exe -add MyProg.exe, MyProgNew.exe, Images.res ,,,
要將 Images.res 中的所有項(xiàng)目添加到 MyProg.exe 中(跳過任何存在的項(xiàng)目)ResHacker.exe -addskip MyProg.exe, MyProgNew.exe, Images.res ,,,
要以 Images.res 中的項(xiàng)目修改 MyProg.exe 中的所有項(xiàng)目 (忽略 Images.res 中的任何項(xiàng)目,其不存在于 MyProg.exe 中)ResHacker.exe -modify MyProg.exe, MyProgNew.exe, Images.res , , ,
要從 MyProg.exe 中將所有圖標(biāo)提取到 myprogicons.rc (創(chuàng)建 MyProgIcons.rc、Icon_1.ico、Icon_2.ico、Icon_3.ico 等等...)ResHacker.exe -extract MyProg.exe, MyProgIcons.rc, icongroup,,
要從 MyProg.exe 中刪除 GIF 名稱:128ResHacker.exe -delete MyProg.exe, MyProgNew.exe, gif,128,
多命令:
語法:ResHacker.exe -script 腳本文件腳本文件是一個(gè)文本文件,有下列格式:
//注釋前加上雙斜杠 [FILENAMES] Exe= SaveAs= Log= [COMMANDS] -add ResourceSrc, ResourceMask -addskip ResourceSrc, ResourceMask -addoverwrite ResourceSrc, ResourceMask -addoverwrite ResourceSrc, ResourceMask -modify ResourceSrc, ResourceMask -extract ResourceTgt, ResourceMask -delete ResourceMask如果忽略日志,那么將使用默認(rèn)日志 - ResHacker.log。注意:如果一個(gè)腳本未產(chǎn)生期望的結(jié)果就請(qǐng)檢查日志!舉例:
rh_script_myprog_rus.txt - //在以 Russian(1049) 項(xiàng)目替換它們之前, //該腳本將刪除 MyProg.exe 中的所有語言中性(0) //的字串表、菜單和對(duì)話資源項(xiàng)... [FILENAMES] Exe= MyProg.exe SaveAs= MyProg_Rus.exe Log= MyProg_Rus.log [COMMANDS] -delete MENU,,0 -delete DIALOG,,0 -delete STRINGTABLE,,0 -add MyProg_Rus.res, MENU,,1049 -add MyProg_Rus.res, DIALOG,,1049 -add MyProg_Rus.res, STRINGTABLE,,1049
rh_script_myprog_upd_images.txt - //該腳本在 MyProg.exe 中更新 2 個(gè)位圖和一個(gè)圖標(biāo)...
[FILENAMES] Exe= MyProg.exe SaveAs= MyProg_Updated.exe
[COMMANDS] -addoverwrite Bitmap128.bmp, BITMAP,128, -addoverwrite Bitmap129.bmp, BITMAP,129,0 -addoverwrite MainIcon.ico, ICONGROUP,MAINICON,0
rh_script_myprog_upd_all.txt -
//該腳本以 MyProgNew.res 中的所有資源 //替換 MyProg.exe 中的所有資源
[FILENAMES] Exe= MyProg.exe SaveAs= MyProg_Updated.exe
[COMMANDS] -delete ,,, //在...之前刪除所有資源 -add MyProgNew.res ,,, //添加所有新的資源
可執(zhí)行文件打包為了減少程序的體積,某些應(yīng)用程序在編譯后被 EXE 壓縮器“打包”或“壓縮”。這種情況下,要查看和修改資源是非常困難的。當(dāng)然,逆向工程后仍可以查看和修改資源,但我決定不那么做,這會(huì)對(duì)軟件作者不尊重。用 Resource Hacker(TM) 查看一個(gè)“壓縮”的可執(zhí)行程序時(shí),只有資源類型和名稱可以看到,而不是實(shí)際的資源。
最新資訊