资源黑客[size=-1]TM...一个免费的Windows应用程序资源编译器和反编译器®
版本 5.2.8
最后更新时间:2025 年 3 月 6 日
版权所有 © 1999-2025 Angus Johnson
awj1958@gmail.com
免费软件 - 没有唠叨,没有广告,功能齐全。
下载
概述:Resource Hacker[size=-1]TM 是适用于 32 位和 64 位 Windows® 应用程序的资源编辑器。它既是资源编译器(用于 *.rc 文件),又是反编译器 - 支持查看和编辑可执行文件(*.exe;*.dll;*.scr;等)和已编译资源库(*.res、*.mui)中的资源。虽然 Resource Hacker 主要是一个 GUI 应用程序,但它也提供了许多选项,用于从命令行编译和反编译资源。
一个免费的Windows应用程序资源编译器和反编译器
一个免费的Windows应用程序资源编译器和反编译器
编译:可以通过打开现有资源脚本文件来启动编译,也可以使用 Resource Hacker 的编辑器从头开始创建一个。
可在此处找到 Resource-Definition Statements 的完整列表。
Resource Hacker 编译器的其他功能包括:#INCLUDE 指令(用于访问头文件等中的定义语句)可以嵌套到多个级别,#IF 和 #IFDEF 指令也可以嵌套。 #DEFINE、#UNDEF、#IF、#ELIF、#ELSE、#IFDEF、#IFNDEF、#INCLUDE 和 #PRAGMA 指令均受支持。双引号 (“) 字符之间的字符串可能包含典型的 'C' 样式反斜杠 '转义' 字符 — \t 、 \n 、 \\ 、 \” 、 \x、 \u 和 \377 (八进制)。字符串中的双引号必须使用前面的反斜杠或另一个双引号进行“转义”。脚本注释前面有双正斜杠 (//) 或分号 (;)。允许使用具有相对路径的文件名。包含空格的文件名必须用双引号字符括起来。
报告编译器错误消息,甚至 INCLUDE 语句中嵌套的错误 ...
一个免费的Windows应用程序资源编译器和反编译器
查看和编辑资源:打开资源文件后,其资源通常会显示为图像(或图像组)或反编译文本。二进制资源(通常是图像)不能直接使用 Resource Hacker 进行编辑,但一旦被外部图像编辑器修改,它们仍然可以非常轻松地导出和导入。(我认为复制第三方图像编辑器做得如此出色的内容没有任何好处。
一个免费的Windows应用程序资源编译器和反编译器
一个免费的Windows应用程序资源编译器和反编译器
Menu 和 Dialog 资源类型有自己的 WYSIWYG 设计器:
一个免费的Windows应用程序资源编译器和反编译器
一个免费的Windows应用程序资源编译器和反编译器
格式未知的二进制资源将显示为只读二进制文本。(如果需要,也可以以这种方式查看任何资源。
一个免费的Windows应用程序资源编译器和反编译器
其他作:
一个免费的Windows应用程序资源编译器和反编译器
命令行语法:Resource Hacker 的几乎所有功能都可以从命令行访问,而无需打开 Resource Hacker GUI。
命令行说明和 Resource Hacker 脚本可以消除重复 Resource Hacker 任务所需的繁琐工作。
命令行指令是 switch 语句后跟 switch 参数的组合,如下表所述:命令行语句:
开关 | | 参数 |
-打开 | | filename - 要修改的文件的名称。它应该是 Windows PE 文件(*.exe、*.dll 等)或已编译或未编译的资源文件(*.res 或 *.rc) |
-救 | | 通常是新文件或修改文件的文件名,但在提取多个资源时也可以是文件夹 |
-资源 | | filename - 包含要添加到打开的文件的资源。 |
-行动 | | 对打开的文件执行的作
- add - 添加资源,但如果资源已存在,则失败
- addoverwrite - 添加资源,并覆盖资源(如果已存在)
- addSkip - 添加资源,但如果资源已存在,则跳过
- compile - 将资源脚本文件 (*.rc) 编译为二进制资源文件 (*.res)
- delete - 删除资源
- extract - 提取资源
- modify - 修改资源
- changelanguage(langID) - 更改所有资源的语言
|
-面具 | | 资源掩码 - 类型,名称,语言
逗号是必需的,但类型、名称和语言都是可选的 |
-日志 | | 文件名或 CONSOLE 或 NUL
CONSOLE 可以缩写为 CON
Logs 所执行
作的详细信息 如果省略此开关,则日志将写入 resourcehacker.log |
-脚本 | | filename - 包含多命令脚本,而不是资源脚本,有关详细信息,请访问:-help script |
-帮助 | | options - 命令行或脚本(始终记录到 CONSOLE)其他开关将被忽略。 |
笔记:- 开关标识符(除了 -script)可以缩写为单个字符(例如 -res 或 -r)。
- Switch 指令不必按任何特定顺序排列。
- 包含空格的文件名必须用双引号括起来。
批处理文件示例[size=0.7em](为简洁起见,在一些地方使用 rh.exe 而不是 ResourceHacker.exe)
reshack_help.bat:
reshack_compile_res_script.bat:
reshack_add_icon_to_old.bat:
reshack_extract_all_source_icons_to_icons_folder.bat:
reshack_extract_all_dialogs.bat:
reshack_execute_my_script.bat:
资源黑客脚本:
使用以下语法从命令行执行 Resource Hacker 脚本:
Resource Hacker 脚本是采用以下格式的文本文件:
注意:包含空格的文件名必须用双引号括起来。
Resource Hacker 脚本示例:
rh_script_myprog_rus.txt -
rh_script_myprog_upd_images.txt -
rh_script_myprog_upd_all.txt -ResourceHacker.exe -help@pause :: to see the console output before the CMD window closes.rh.exe -open .\in\resources.rc -save .\out\resources.res -action compile -log NULrh.exe -open old.exe -save new.exe -action addskip -res my.ico -mask ICONGROUP,MAINICON,rh.exe -open source.exe -save .\icons -action extract -mask ICONGROUP,, -log
CON@pauserh.exe -open source.exe -save .\dialogs.rc -action extract -mask DIALOG,, -log rh.logResourceHacker.exe -script myscript.txt ResourceHacker.exe -script ScriptFile //comments are preceded by double slashes [FILENAMES] Open= Save= Log= [COMMANDS] //one or more of the following commands ... -add SourceFile, ResourceMask -addskip SourceFile, ResourceMask -addoverwrite SourceFile, ResourceMask -addoverwrite SourceFile, ResourceMask -modify SourceFile, ResourceMask -extract TargetFile or TargetFolder, ResourceMask -delete ResourceMask -changelanguage(langID) //This script deletes all Language Neutral (0) //string-table, menu and dialog resource items //in MyProg.exe before replacing them //with Russian (1049) items... [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 //This script updates 2 bitmaps and an //icon in MyProg.exe ... [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 //This script replaces all resources //in MyProg.exe with all the resources //in MyProgNew.res [FILENAMES] Exe= MyProg.exe SaveAs= MyProg_Updated.exe [COMMANDS] -delete ,,, //delete all resources before... -add MyProgNew.res ,,, //adding all the new resources
“打包”或“压缩”可执行文件:某些可执行文件是使用压缩算法进行“打包”或“压缩”的。这不仅会减小文件大小,还会使查看和修改资源的难度略有增加。我怀疑这个资源“隐藏”是(或曾经是)这个过程中的一个共同目标。无论如何,为了尊重这些作者,我选择不使用 Resource Hacker 解压缩文件。顺便说一句,在过去 5 到 10 年中,“打包的”可执行文件似乎已经变得相当罕见,软件作者在可执行资源中公开的信息更多而不是更少。我怀疑之前对逆向工程会丢失知识产权的担忧已经得到缓解。
使用许可 - 条款和条件:本 Resource Hacker
TM 软件作为免费软件发布,前提是您同意以下条款和条件:
- 本软件不得通过任何网站域或任何 未经版权所有者事先书面许可的其他媒体。
- 不得以任何方式利用本软件进行非法修改。
免责声明:本 Resource Hacker
TM 软件的用户承认他或她是按“原样”接收本软件,并且用户不会出于任何目的依赖本软件的准确性或功能。用户进一步承认,使用本软件的风险将由用户自行承担,版权所有者不承担因使用或应用本软件而产生的任何责任。
上述许可条款构成美国法典第 17 篇第 1202 节所指的“版权管理信息”,不得从许可作品中更改或删除。更改或从许可作品中删除这些作品,以及在没有上述所有许可条款的情况下原封不动地分发许可作品,可能违反第 1202 条并引起民事和/或刑事后果。
下载版本 5.2.8:EXE 安装 (4.1MB)
ZIP 安装 (3.3MB)
5.2.8 中的更改:- 修复了在 DialogEx 中编译 ID 为 -1 的控件的错误
5.2.7 中的更改:5.2.6 中的更改:
set 限制解除