首页 > 有趣的冷门小知识

resourcehacker?resource hacker下载

Resource Hacker 汉化版图文使用教程

Resource Hacker汉化版是一个专业的资源编辑工具,大家经常使用它编译、查看、反编译以及再编译 32位和 64位 Windows可执行文件的资源。Resource Hacker(TM)可以打开任意类型的 Windows可执行文件(*.exe、*.dll、*.scr、*.mui等等),因此,可以添加、修改、或删除这些文件内的单独资源。Resource Hacker(TM)可以创建和编译资源脚本文件(*.rc),也可以编辑资源文件(*.res)。

本文为您提供了Resource Hacker汉化版使用教程,以下教程来自ource Hacker汉化版内置的帮助文件,欢迎阅读。

编译:

编译可以通过资源脚本文件作为参数以命令行(见下文)的方式进行,也可以使用 Resource Hacker的文本编辑器进行。

支持的编译器指令包括:#DEFINE、#UNDEF、#IF、#ELIF、#ELSE、#IFDEF、#IFNDEF、#INCLUDE、以及#PRAGMA。

资源语句中的字串以双引号()字符定义。这些字串也可包含典型C风格带有反斜杠escaped字符? \t, \n, \\, \,以及 \000.. \377(八进制)。通过反斜杠或其他双引号字符来处理,字串中的双引号可以被escaped。

脚本注释通过双前斜杠(//)或分号(;)来处理。

资源语句内的文件名只能作为字串解析,因此它们必须由双引号字串封闭,否则会提高编译错误。

完整的资源定义语句列表可在此查阅。

查看资源:一旦打开了文件,大多数资源将被显示为图像(或图像组),或显示为反编译后的文本:

然而,某些资源类型将被同时显示为编译的窗体(如对话框或弹出菜单)以及反编译后的文本格式。

某些资源类型只能显示为原始字节数据的转储:

使用内部编辑器来修改基于文本的资源:

使用内部资源编辑器,可以轻松编辑和重新编译对话框、菜单、字串表、消息表、快捷键和 Borland窗体资源

对话控件也可以可视化地改变大小和/或移动,您所作的更改将自动反映在资源脚本中。它可以自动完成屏幕像素和对话单位之间的转换。在显示的对话中单击选定某个控件。或者,Tab或 Shift-Tab键可以用来分别选择下一个或上一个控件。选定的控件将显示调整框。要想移动控件而不改变大小,请先选定控件,单击并将其拖动到新的位置。箭头键也可以在选定后移动控件。某个控件可以通过单击和拖动其中一个调整框来调整大小。或者,组合 shift箭头键也可以用来调整控件。

对话编辑器可以从右击预览对话显示的弹出菜单中打开,控件编辑器可以从选定控件的同一菜单中打开。

也可以添加新控件。控件编辑器支持可能的所有 Microsoft当前定义的标准和通用的控件类。通过谨慎编辑 Resource Hacker(TM)相同文件夹下的dialog.def文件,用户定义的自定义类也可以添加到类的预定义列表中。工具栏按钮允许选择绝大部分使用的控件。新添加的控件的左上角将默认指向对话被最初右击的地方。

替换图像:

如果要被替换的资源项是图标、指针、或位图,来源可以分别是*.ico、*.cur或*.bmp文件,或者从某个*.res或另一个*.exe文件中选择。从菜单中选择*作|替换图标(指针或位图)。

命令行脚本:

所有 Resource Hacker(TM) GUI的功能(除了查看资源)都可以从命令行来访问,而不用打开 Resource Hacker(TM)。命令行脚本可以去掉运行 Resource Hacker(TM)重复任务的苦差事。

命令行脚本有 2个通用的窗体:

1.单命令:ResHacker.exe命令命令_参数

2.多命令:ResHacker.exe-脚本脚本文件

单命令:

命令和命令_参数:

-add ExeFile, S*eAsFile, ResourceFile, ResourceMask

-addskip ExeFile, S*eAsFile, ResourceFile, ResourceMask

-addoverwrite ExeFile, S*eAsFile, ResourceFile, ResourceMask

-modify ExeFile, S*eAsFile, ResourceFile, ResourceMask

-extract ExeFile, ResourceFile, ResourceMask

-delete ExeFile, S*eAsFile, 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=

S*eAs=

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

S*eAs= 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

S*eAs= 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

S*eAs= MyProg_Updated.exe

[COMMANDS]

-delete,,,//在…之前删除所有资源

-add MyProgNew.res,,,//添加所有新的资源

可执行文件打包

为了减少程序的体积,某些应用程序在编译后被 EXE压缩器打包或压缩。这种情况下,要查看和修改资源是非常困难的。当然,逆向工程后仍可以查看和修改资源,但我决定不那么做,这会对软件作者不尊重。用 Resource Hacker(TM)查看一个压缩的可执行程序时,只有资源类型和名称可以看到,而不是实际的资源。

resource hacker会破坏应用程序主程序吗

Resource Hacker是一个免费的资源编辑工具,它可以对可执行文件(.exe)、动态链接库(.dll)以及 icon文件(.ico)等进行打开、查看和修改。它主要用于修改这些文件的图标、菜单、字符串、对话框等资源。使用 Resource Hacker修改应用程序的资源文件,理论上是有可能会对该应用程序的主程序造成破坏的。主要有以下几个方面:1.错误修改资源ID或资源名称,会导致应用程序无法正确读取资源,影响程序运行。2.修改或者删除某些关键资源,例如菜单资源、对话框资源等,会直接导致应用程序功能出错或无法打开。3.资源文件本身就包含一定的程序逻辑,修改这部分逻辑会影响主程序运行。比如修改一段字符串资源内嵌的if判断逻辑。4.资源文件修改后大小或格式发生变化,会导致主程序无法正确读取资源文件,无法正常启动。5.修改或添加恶意代码到资源文件中,会在主程序运行资源文件代码段时执行,产生安全隐患。所以,严格来说,使用 Resource Hacker随意修改应用程序的资源文件,会有一定的破坏风险。如果没有资源文件格式和功能的深入理解,建议不要轻易修改。

resource hacker怎么汉化

一个类似于exescope的但在某些方面比它还好一些的工具。1.

查看

win32

可执行和相关文件的资源

(*.exe,

*.dll,

*.cpl,

*.ocx),在已编译和反编译的格式下都可以。2.

提取

(保存)

资源到文件

(*.res)

格式,作为二进制,或作为反编过的译资源脚本或图像。图标,位图,指针,菜单,对话,字符串表,消息表,加速器,borland

窗体和版本信息资源都可以被完整地反编译为他们各自的格式,不论是作为图像或

*.rc

文本文件。3.

修改

(替换)

可执行文件的资源。图像资源

(图标,指针和位图)

可以被相应的图像文件

(*.ico,

*.cur,

*.bmp),*.res

文件,甚至另一个

*.exe

文件所替换。对话,菜单,字符串表,加速器和消息表资源脚本

(以及

borland

窗体)

可以通过使用内部资源脚本编辑器被编辑和重新编译。资源也可以被一个

*.res

文件所替换,只要替换的资源与它是同一类型并且有相同的名称。4.

添加新的资源到可执行文件。允许一个程序支持多种语言,或者添加一个自定义图标或位图

(*的标识等)

到程序的对话中。5.

删除资源。大多数编译器添加了应用程序永远不会用到的资源到应用程序中。删除这些不使用的资源可以减小一个应用程序的大小。

本文链接:http://www.okyx8.com/html/87966326.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。