ResourceHacker能夠打開并編輯res/dll/exe/etc格式的文件,修改文件資源中的光標(biāo)位圖、對話框以及字符串列表,修改版本信息及光標(biāo)圖標(biāo)組。保存圖標(biāo)組到res/rc文件,替換文件中使用的圖標(biāo),添加使用腳本模板,添加單個(gè)二進(jìn)制或圖像資源,從資源文件中提取指定項(xiàng)。新版本ResourceHacker(DLL/EXE資源編輯)4.2.5漢化版在添加資源到文件后不會(huì)破壞源文件,能夠更改文本格式為Unicode/UTF-8/ANSI,修復(fù)前版本BUG。
Resource Hacker是非常強(qiáng)大的資源查看器,編譯和反編譯工具!Resource Hacker 主要用于察看、反匯編和取代 Windows 32 位可執(zhí)行程序中的資源,支持 Delphi 5 和 C++ Builder。這款資源替換修改工具非常的簡單實(shí)用,操作方面與eXeScope幾乎沒什么兩樣。ResourceHacker(DLL/EXE資源編輯)4.2.5漢化版繼續(xù)更新,該版修復(fù)了眾多bug,改進(jìn)了UI以及操作體驗(yàn),并添加了資源搜索功能。
你想自定義應(yīng)用軟件嗎? 例如:更改字體,更改菜單,更改對話框的排列,等等。但你會(huì)認(rèn)為這是不可能的,因?yàn)槟銢]有資源文件。ResHacker能在沒有資源文件的情況下分析,顯示不同的信息,重寫可執(zhí)行文件的資源,包括(EXE,DLL,OCX)等。是方便強(qiáng)大的漢化工具,可以直接修改用 VC++ 及 DELPHI 編制的程序的資源,包括菜單、對話框、字串表等。
1. 查看 Windows 32 位和 64 位可執(zhí)行和相關(guān)文件的資源 (*.exe、*.dll、*.cpl、*.ocx、*.msstyles 等等),在已編譯和反編譯的格式下都可以。
2. 提取 (保存) 資源為文件 (*.res) 格式,可作為二進(jìn)制,或作為反編譯過的資源腳本或圖像。
圖標(biāo)、位圖、指針、菜單、對話、字符串表、消息表、加速器、Borland 窗體和版本信息資源都可以完整地反編譯為其各自的格式,不論是作為圖像還是作為 *.rc 文本文件都可以。
3. 修改 (替換) 可執(zhí)行文件的資源。
圖像資源(圖標(biāo)、指針和位圖)可以被相應(yīng)的圖像文件(*.ico, *.cur, *.bmp)、*.res 文件、甚至是另一個(gè) *.exe 文件所替換。
對話、菜單、字符串表、快捷鍵和消息表資源腳本(以及 Borland 窗體)可以通過使用內(nèi)部資源腳本編輯器被編輯和重新編譯。
資源也可以被某個(gè) *.res 文件所替換,只要替換的資源與其是同一類型并且有相同的名稱即可。
4. 添加 新的資源到可執(zhí)行文件。
允許一個(gè)程序支持多種語言,或?qū)⒆远x圖標(biāo)或位圖(公司的標(biāo)識等)添加到程序的對話中。
5. 刪除資源。大多數(shù)編譯器添加了應(yīng)用程序永遠(yuǎn)都不會(huì)用到的資源到應(yīng)用程序中。刪除這些不使用的資源可以減小應(yīng)用程序的體積。
1. 首先先下載ResHacker,然后打開"ResHacker.exe"(程序)
2. 點(diǎn)擊菜單欄上的"文件(F)", 選擇第一項(xiàng)"打開(O)" 然后就顯示,選擇你要編輯的dll文件(此教程dtu就以 imageres.dll 來做示范)
3. 選中你要編輯的dll文件,然后點(diǎn)擊"打開(O)"
4. 現(xiàn)在就要開始對你選中的dll文件進(jìn)行編輯了
5. 點(diǎn)擊對應(yīng)"圖標(biāo)組"的那個(gè)小小的 "+" 符號,就會(huì)拉開子目錄,里面有幾個(gè)圖標(biāo)就會(huì)顯示幾個(gè)文件夾
6. 接著點(diǎn)擊對應(yīng)文件夾“3”的那個(gè)小"+"符號拉開,選中"1033"后 右邊的預(yù)覽框就會(huì)顯示出圖標(biāo)的樣式。 (注意:此時(shí)會(huì)彈出一個(gè)錯(cuò)誤的提示框,我們確定掉即可。后面才解釋)
7. 開始進(jìn)行替換圖標(biāo)了哦,在選中了"1033"后,右鍵"1033",就會(huì)出現(xiàn)右鍵菜單
8. 點(diǎn)擊(上數(shù)第4個(gè)選項(xiàng)) "替換資源..."
9. 彈出了個(gè)對話框(替換圖標(biāo)與.........),讓你選擇你要替換的圖標(biāo)(ico文件),點(diǎn)擊左上角的"打開新圖標(biāo)文件(0)..."
10. 你選擇圖標(biāo)文件,找到你要替換的圖標(biāo)文件后(ico)選中,點(diǎn)擊對話框右下角的 "打開(0)"
11. 接著點(diǎn)擊右下角的 "替換(R)"
12. 沒錯(cuò),錯(cuò)誤提示框又彈出來了。老規(guī)矩,確定即可
13. “3”號圖標(biāo)我們替換好了,下一步就是保存文件了。
點(diǎn)擊ResHacker菜單欄上的"文件(F)"選擇 "保存為(A)..."
14. 就存到桌面吧,稍后再自己移動(dòng)吧
ResHacker提取并保存avi,第一到第四步即可完成提取 。(第四步重點(diǎn)說明提取avi步驟)
進(jìn)行替換前我想你必須知道一點(diǎn),系統(tǒng)使用的avi動(dòng)畫可不是我們一般看視頻那樣的avi屬性的 。通常我們看到的視頻avi都比較長,所以容積是比較大的,為了達(dá)到小容量的目的,avi視頻將被壓縮,壓縮是指重新進(jìn)行編碼,減低碼率=容積減小 。不管怎樣,有編碼就必須有解碼,要不,播放器是怎么來的,但是``Windows系統(tǒng)默認(rèn)是沒有解碼模塊的,所以系統(tǒng)調(diào)用的avi必須是全幀/無壓縮的avi文件 。因?yàn)橹坝邢脒^壓縮avi以達(dá)到減小dll文件大小 。
1,啟動(dòng) ResHacker 并打開你所要編輯的文件,在此過程中使用 srchadmin.dll 文件示范 。
2,選擇左邊資源樹的 AVI(文件夾)點(diǎn)擊拉開,再次點(diǎn)擊拉開 1301(文件夾)直到看到目標(biāo)編號為1033 avi并選中 。
3,此時(shí)你會(huì)看到游覽窗口顯示 1033的avi動(dòng)畫, 確定你選中了 資源樹中的 1301-1033 。
4,右鍵 資源樹的 1033,( 附加:此時(shí)選擇 保存(S)[ AVI:1301:1033..... ] 即可提取并保存 1301 avi動(dòng)畫) 選擇 替換資源.... ,出現(xiàn)對話框, 點(diǎn)擊 打開新資源文件(O)... , 現(xiàn)在請你找出已經(jīng)準(zhǔn)備好的 avi文件并選中打開 。
5,此時(shí)在剛才那個(gè) 替換一個(gè)資源... 的對話框中,出現(xiàn)了3個(gè)選項(xiàng) 。
資源類型(T):
資源名稱(N):
資源語言(L):
6,第一項(xiàng)(資源類型)填寫:AVI ,第二項(xiàng)(資源名稱)填寫:1301 ,第三項(xiàng)(資源語言)填寫:1033 ,然后點(diǎn)擊 替換 。
此時(shí)你將看到替換好的 avi 效果,接著 文件 — 另存為 ,保存好修改后的文件完成 。
1,插入橫線:
CONTROL "", -1, STATIC, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 0, 217, 349, 1
2,插入BMP:
CONTROL 102, 109, STATIC, SS_BITMAP | WS_CHILD | WS_VISIBLE, 75, 9, 264, 151
(其中102為BMP圖片在“位圖”的ID)
3,插入AVI:
CONTROL "#117", 0, "SysAnimate32", ACS_CENTER | ACS_AUTOPLAY | WS_CHILD | WS_VISIBLE, 0, 0, 213, 154
(其中117為AVI資源的ID)
4,插入圖標(biāo)(32X32):
CONTROL 15, -1, STATIC, SS_ICON | WS_CHILD | WS_VISIBLE, 7, 7, 20, 20
(其中15為ICO的ID)
5,插入圖標(biāo)(最大):
與上面的添加方法一樣,只是需要用eXeScope為其增加“實(shí)際大小圖象”屬性即可。這樣就會(huì)顯示對圖標(biāo)中最大的圖標(biāo)(有一點(diǎn)例外:該圖標(biāo)的ID必須在前)。
6,插入框體:
CONTROL "WinRAR 寒夜孤星版", -1, BUTTON, BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 4, 50, 175, 134
7,插入文字:
CONTROL "WinRAR 寒夜孤星版", -1, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 224, 5, 126, 50
8,插入文字,文字可復(fù)制,窗口為白色:
CONTROL "WinRAR 寒夜孤星版", -1, EDIT, ES_LEFT | ES_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 43, 92, 130, 14
9,插入文字,文字可復(fù)制,窗口為透明:
CONTROL "WinRAR 寒夜孤星版", -1, EDIT, ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 221, 85, 161, 8
10,在插入文字串中,使用“ \n ”來換行。
以上所說的AVI、WAV、BMP等資源,必須未壓縮,或者使用行程壓縮 ,其他的壓縮方式都將使資源無法使用!
順便說一下:ResHacker 文件下的 Dialogs.txt 與其他文本不同,他為 ResHacker 提供控件解釋。如果將其刪除,會(huì)導(dǎo)致 ResHacker 無法直接添加修改控件!
②菜單:
APPMENU MENU
LANGUAGE LANG_CHINESE, 0x2
{
POPUP "文件(&F)"
{
MENUITEM "新建(&N)", 1000
MENUITEM "打開(&O)...", 12
MENUITEM "保存(&S)", 13
MENUITEM "另存為(&A)...", 14
MENUITEM "還原(&R)...", 15
MENUITEM "屬性(&P)", 100
MENUITEM SEPARATOR
MENUITEM "退出(&X)", 16
}
}
以上是一個(gè)最簡單的菜單示例,其中,
APPMENU為菜單的ID。
LANGUAGE LANG_CHINESE為該菜單的語言屬性—2052即簡體中文。
POPUP "文件(&F)",POPUP定義了一個(gè)名為文件的按鈕,(&F)為快捷鍵。其英文語言下為POPUP "&File"。
{}成對使用。
MENUITEM 用來定義下拉的菜單內(nèi)容,后面的數(shù)字為其ID。
MENUITEM SEPARATOR用來在菜單中添加一個(gè)分割線。
修正:添加資源到文件不會(huì)損壞任何資源
新增:現(xiàn)在可以更改文本資源格式(Unicode,UTF-8,ANSI)
修正:一些 Delphi 窗體未被反編譯或正確重新編譯
修正:PNG 圖像偶爾不顯示
修正:主窗口收縮到很小時(shí)導(dǎo)致的除零錯(cuò)誤