Resource Hacker中文版是一款功能強大的JAVA反編譯工具,為用戶提供資源查看,編譯和反編譯等功能,使得用戶可以輕松快捷的進行反匯編,取代系統可執行程序中的資源,并且支持支持Delphi5和C++Builder,從而讓用戶可以更加便捷、高效的進行資源察看。
1、查看Windows32位和64位可執行和相關文件的資源(*、exe、*、dll、*、cpl、*、ocx、*、msstyles等等)
在已編譯和反編譯的格式下都可以。
2、提取(保存)資源為文件(*、res)格式
可作為二進制,或作為反編譯過的資源腳本或圖像。
圖標、位圖、指針、菜單、對話、字符串表、消息表、加速器、Borland窗體和版本信息資源都可以完整地反編譯為其各自的格式,不論是作為圖像還是作為*、rc文本文件都可以。
3、修改(替換)可執行文件的資源
圖像資源(圖標、指針和位圖)可以被相應的圖像文件(*、ico,*、cur,*、bmp)、*、res文件、甚至是另一個*、exe文件所替換。
對話、菜單、字符串表、快捷鍵和消息表資源腳本(以及Borland窗體)可以通過使用內部資源腳本編輯器被編輯和重新編譯。
資源也可以被某個*、res文件所替換,只要替換的資源與其是同一類型并且有相同的名稱即可。
4、添加新的資源到可執行文件
允許一個程序支持多種語言,或將自定義圖標或位圖(公司的標識等)添加到程序的對話中。
5、刪除資源
大多數編譯器添加了應用程序永遠都不會用到的資源到應用程序中。刪除這些不使用的資源可以減小應用程序的體積。
#INCLUDE指令(用于訪問頭文件中的定義語句等)可以嵌套到多個級別,#IF和#IFDEF指令也可以嵌套。
支持#DEFINE,#ENDE,#IF,#ELIF,#ELSE,#IFDEF,#IFNDEF,#INCLUDE和#PRAGMA指令。
雙引號(“)字符之間的字符串可能包含典型的'C'樣式反斜杠'轉義'字符 - t, n,,”, x, u和 377(八進制)。
字符串中的雙引號必須使用前面的反斜杠或其他雙引號進行“轉義”。
腳本注釋以雙正斜杠(//)或分號(;)開頭。允許使用具有相對路徑的文件名。
包含空格的文件名必須包含在雙引號字符中。
增加時所用到的控件的示例:
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,插入圖標(32X32):
CONTROL 15, -1, STATIC, SS_ICON | WS_CHILD | WS_VISIBLE, 7, 7, 20, 20
(其中15為ICO的ID)
5,插入圖標(最大):
與上面的添加方法一樣,只是需要用eXeScope為其增加“實際大小圖象”屬性即可。這樣就會顯示對圖標中最大的圖標(有一點例外:該圖標的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,插入文字,文字可復制,窗口為白色:
CONTROL "WinRAR 寒夜孤星版", -1, EDIT, ES_LEFT | ES_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 43, 92, 130, 14
9,插入文字,文字可復制,窗口為透明:
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 提供控件解釋。如果將其刪除,會導致 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
}
}
以上是一個最簡單的菜單示例,其中,
APPMENU為菜單的ID。
LANGUAGE LANG_CHINESE為該菜單的語言屬性—2052即簡體中文。
POPUP "文件(&F)",POPUP定義了一個名為文件的按鈕,(&F)為快捷鍵。其英文語言下為POPUP "&File"。
{}成對使用。
MENUITEM 用來定義下拉的菜單內容,后面的數字為其ID。
MENUITEM SEPARATOR用來在菜單中添加一個分割線。
一:ResHacker如何替換圖標?
1. 首先先下載ResHacker,然后打開"ResHacker.exe"(程序)
2. 點擊菜單欄上的"文件(F)", 選擇第一項"打開(O)" 然后就顯示,選擇你要編輯的dll文件(此教程dtu就以 imageres.dll 來做示范)
3. 選中你要編輯的dll文件,然后點擊"打開(O)"
4. 然后開始對你選中的dll文件進行編輯了
5. 點擊對應"圖標組"的那個小小的 "+" 符號,就會拉開子目錄,里面有幾個圖標就會顯示幾個文件夾
6. 接著點擊對應文件夾“3”的那個小"+"符號拉開,選中"1033"后 右邊的預覽框就會顯示出圖標的樣式。 (注意:此時會彈出一個錯誤的提示框,我們確定掉即可。后面才解釋)
7. 替換圖標,在選中了"1033"后,右鍵"1033",就會出現右鍵菜單
8. 點擊(上數第4個選項) "替換資源..."
9. 彈出了個對話框(替換圖標與.........),讓你選擇你要替換的圖標(ico文件),點擊左上角的"打開新圖標文件(0)..."
10. 你選擇圖標文件,找到你要替換的圖標文件后(ico)選中,點擊對話框右下角的 "打開(0)"
11. 接著點擊右下角的 "替換(R)"
12. 出現錯誤提示框,點擊確定即可
13. “3”號圖標我們替換好了,下一步就是保存文件了。點擊ResHacker菜單欄上的"文件(F)"選擇 "保存為(A)..."
好了,如何把ico文件封到dll文件里面現在大家都知道了
二:使用ResHacker如何替換avi?
ResHacker提取并保存avi,第一到第四步即可完成提取 。(第四步重點說明提取avi步驟)
1,啟動 ResHacker 并打開你所要編輯的文件,在此過程中使用 srchadmin.dll 文件示范 。
2,選擇左邊資源樹的 AVI(文件夾)點擊拉開,再次點擊拉開 1301(文件夾)直到看到目標編號為1033 avi并選中 。
3,游覽窗口顯示 1033的avi動畫, 確定你選中了 資源樹中的 1301-1033 。
4,右鍵 資源樹的 1033,( 附加:此時選擇 保存(S)[ AVI:1301:1033..... ] 即可提取并保存 1301 avi動畫) 選擇 替換資源.... ,出現對話框, 點擊 打開新資源文件(O)... , 現在請你找出已經準備好的 avi文件并選中打開 。
5,此時在剛才那個 替換一個資源... 的對話框中,出現了3個選項 。
資源類型(T):
資源名稱(N):
資源語言(L):
6,第一項(資源類型)填寫:AVI ,第二項(資源名稱)填寫:1301 ,第三項(資源語言)填寫:1033 ,然后點擊 替換 。此時你將看到替換好的 avi 效果,接著 文件 — 另存為 ,保存好修改后的文件完成 。
錯誤修復:修復了損壞的加速器編譯