国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 軟件教程 > 正文

Resource Hacker 漢化版圖文使用教程

2020-07-18 15:15:45
字體:
來源:轉載
供稿:網友

Resource Hacker漢化版是一個專業的資源編輯工具,大家經常使用它編譯、查看、反編譯以及再編譯 32 位和 64 位 Windows 可執行文件的資源。Resource Hacker(TM) 可以打開任意類型的 Windows 可執行文件 (*.exe、*.dll、*.scr、*.mui 等等),因此,可以添加、修改、或刪除這些文件內的單獨資源。Resource Hacker(TM) 可以創建和編譯資源腳本文件 (*.rc),也可以編輯資源文件 (*.res)。

本文為您提供了Resource Hacker漢化版使用教程,以下教程來自ource Hacker漢化版內置的幫助文件,歡迎閱讀。

Resource Hacker漢化版使用教程-veryhuo.com


編譯:

編譯可以通過資源腳本文件作為參數以命令行(見下文)的方式進行,也可以使用 Resource Hacker 的文本編輯器進行。
支持的編譯器指令包括: #DEFINE、#UNDEF、#IF、#ELIF、#ELSE、#IFDEF、#IFNDEF、#INCLUDE、以及 #PRAGMA。
資源語句中的字串以雙引號(")字符定義。這些字串也可包含典型“C”風格帶有反斜杠“escaped”字符 ? /t , /n , // , /" , 以及 /000 .. /377 (八進制)。通過反斜杠或其他雙引號字符來處理,字串中的雙引號可以被“escaped”。
腳本注釋通過雙前斜杠(//)或分號(;)來處理。
資源語句內的文件名只能作為字串解析,因此它們必須由雙引號字串封閉,否則會提高編譯錯誤。
完整的資源定義語句列表可在此查閱。

Resource Hacker漢化版使用教程-veryhuo.com

查看資源:一旦打開了文件,大多數資源將被顯示為圖像(或圖像組),或顯示為反編譯后的文本:

Resource Hacker漢化版使用教程-veryhuo.com
 

Resource Hacker漢化版使用教程-veryhuo.com

然而,某些資源類型將被同時顯示為編譯的窗體(如對話框或彈出菜單)以及反編譯后的文本格式。

Resource Hacker漢化版使用教程-veryhuo.com

某些資源類型只能顯示為原始字節數據的轉儲:

Resource Hacker漢化版使用教程-veryhuo.com

使用內部編輯器來修改基于文本的資源:

使用內部資源編輯器,可以輕松編輯和重新編譯對話框、菜單、字串表、消息表、快捷鍵和 Borland 窗體資源

Resource Hacker漢化版使用教程-veryhuo.com

對話控件也可以可視化地改變大小和/或移動,您所作的更改將自動反映在資源腳本中。它可以自動完成屏幕像素和對話單位之間的轉換。在顯示的對話中單擊選定某個控件?;蛘?,Tab 或 Shift-Tab 鍵可以用來分別選擇下一個或上一個控件。選定的控件將顯示調整框。要想移動控件而不改變大小,請先選定控件,單擊并將其拖動到新的位置。箭頭鍵也可以在選定后移動控件。某個控件可以通過單擊和拖動其中一個調整框來調整大小。或者,組合 shift 箭頭鍵也可以用來調整控件。

“對話編輯器”可以從右擊預覽對話顯示的彈出菜單中打開,“控件編輯器”可以從選定控件的同一菜單中打開。

Resource Hacker漢化版使用教程-veryhuo.com

Resource Hacker漢化版使用教程-veryhuo.com

也可以添加新控件。“控件編輯器”支持可能的所有 Microsoft 當前定義的標準和通用的控件類。通過謹慎編輯 Resource Hacker(TM) 相同文件夾下的“dialog.def”文件,用戶定義的自定義類也可以添加到類的預定義列表中。工具欄按鈕允許選擇絕大部分使用的控件。新添加的控件的左上角將默認指向對話被最初右擊的地方。

替換圖像:
如果要被替換的資源項是圖標、指針、或位圖,來源可以分別是 *.ico、*.cur 或 *.bmp 文件,或者從某個 *.res 或另一個 *.exe 文件中選擇。從菜單中選擇“操作|替換圖標”(指針或位圖)。

Resource Hacker漢化版使用教程-veryhuo.com

命令行腳本:
所有 Resource Hacker(TM) GUI 的功能(除了查看資源)都可以從命令行來訪問,而不用打開 Resource Hacker(TM)。命令行腳本可以去掉運行 Resource Hacker(TM) 重復任務的苦差事。

命令行腳本有 2 個通用的窗體:

1. 單命令:ResHacker.exe 命令 命令_參數
2. 多命令:ResHacker.exe -腳本 腳本文件

單命令:
命令和命令_參數:
-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
注意:
每個命令參數必須由逗點分隔,但第一個參數之前不要有逗點。
路徑應該包括文件名。
文件名包含空格應括在雙引號內。

ResourceMask 允許用命令來執行單個或多個資源項并獲得窗體 ResType、ResName、ResLang。(如果 ResType 是一個預定義的類型,那么其編號或標識符都可以使用。如 ResourceMask dialog,128,0 與 5,128,0 是一樣的。)可以省略一部分或所有的 ResourceMask 項。如 dialog,, 說明一下,所有對話都將被應用到命令中,而不考慮名稱或語言。并且,,,1049 表示所有含 Russian (1049) 和資源都將應用到命令中。一個空的 ResourceMask ,, 表示命令將應用到每個資源中,而不考慮類型、名稱或語言。

當添加或修改項目時,ResourceFile 可以是任何項目類型的 RES 文件、BITMAP 類型的 BMP 文件、CURSORGROUP 類型的 CUR 文件、ICONGROUP 類型的 ICO 文件、以及 RCDATA 和用戶定義資源類型的任何文件類型。

從文件而不是從 RES 文件中添加和修改資源時,ResType 和 ResName 必須在 ResourceMask 中指定。如果忽略了 ResLang,那么命令將以匹配的類型和名稱應用到第一個語言項中。否則,如果沒有匹配項存在,則假設語言為中性(0)。

在提取資源時,ResourceMask 默認超過一個項目,那么指定的 ResourceFile 必須是一個 RES 文件或 RC 文件。將二進制圖像資源提取到 RC 文件中時,也會將每個圖像創建為一個單獨的二進制文件(ico、cur、bmp、gif、bin)。請看下面的例子。

不能直接操作 ICON 和 CURSOR 資源,除了通過使用其各自的 ICONGROUP 或 CURSORGROUP 來添加、刪除、修改、以及提取。ICON 和 CURSOR 仍然可以使用,但 Resource Hacker(TM) 將假定 ICONGROUP 或 CURSORGROUP 是預期的。

所有操作或錯誤都將記錄到“ResHacker.log”中。

注意:如果一個腳本未產生期望的結果就請檢查日志!

舉例:(已經忽略文件路徑,有助于理解)

要從 UpdDlg.res 添加或更新 MyProg.exe 中的對話名稱:maindlg lang:0
ResHacker.exe -addoverwrite MyProg.exe, MyProgNew.exe, UpdDlg.res, dialog,maindlg,0

要從 NewImage.bmp 添加或更新 MyProg.exe 中的位圖名稱:128
ResHacker.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 將“用戶定義”的二進制資源 (README,1,0) 添加到 MyProg.exe 中
ResHacker.exe -addoverwrite MyProg.exe, MyProgNew.exe, ReadMe.html, readme,1,0

要將 Images.res 中的所有項目添加到 MyProg.exe 中(但如果有任何項目存在就會失敗)
ResHacker.exe -add MyProg.exe, MyProgNew.exe, Images.res ,,,

要將 Images.res 中的所有項目添加到 MyProg.exe 中(跳過任何存在的項目)
ResHacker.exe -addskip MyProg.exe, MyProgNew.exe, Images.res ,,,

要以 Images.res 中的項目修改 MyProg.exe 中的所有項目 (忽略 Images.res 中的任何項目,其不存在于 MyProg.exe 中)
ResHacker.exe -modify MyProg.exe, MyProgNew.exe, Images.res , , ,

要從 MyProg.exe 中將所有圖標提取到 myprogicons.rc (創建 MyProgIcons.rc、Icon_1.ico、Icon_2.ico、Icon_3.ico 等等...)
ResHacker.exe -extract MyProg.exe, MyProgIcons.rc, icongroup,,

要從 MyProg.exe 中刪除 GIF 名稱:128
ResHacker.exe -delete MyProg.exe, MyProgNew.exe, gif,128,

多命令:

語法:ResHacker.exe -script 腳本文件
腳本文件是一個文本文件,有下列格式:

        //注釋前加上雙斜杠
        [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

如果忽略日志,那么將使用默認日志 - ResHacker.log。
注意:如果一個腳本未產生期望的結果就請檢查日志!
舉例:

        rh_script_myprog_rus.txt -

        //在以 Russian(1049) 項目替換它們之前,
        //該腳本將刪除 MyProg.exe 中的所有語言中性(0)
        //的字串表、菜單和對話資源項...

        [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 個位圖和一個圖標...

        [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 ,,, //添加所有新的資源

可執行文件打包
為了減少程序的體積,某些應用程序在編譯后被 EXE 壓縮器“打包”或“壓縮”。這種情況下,要查看和修改資源是非常困難的。當然,逆向工程后仍可以查看和修改資源,但我決定不那么做,這會對軟件作者不尊重。用 Resource Hacker(TM) 查看一個“壓縮”的可執行程序時,只有資源類型和名稱可以看到,而不是實際的資源。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 葫芦岛市| 安康市| 乐东| 社旗县| 乌兰浩特市| 龙井市| 古交市| 永州市| 深圳市| 福海县| 民和| 静安区| 山西省| 洪洞县| 扎囊县| 瓮安县| 长治县| 左权县| 类乌齐县| 南漳县| 富源县| 抚州市| 白山市| 山阴县| 策勒县| 屏东市| 绥芬河市| 山阳县| 甘德县| 米泉市| 普兰店市| 精河县| 石渠县| 天等县| 卢氏县| 清水县| 砀山县| 威信县| 阿巴嘎旗| 临武县| 涟源市|