Resource Hacker(ResHacker) v5.1.8 绿色中文版
资源介绍
是非常强大的资源查看器,编译和反编译工具!Resource Hacker 主要用于察看、反汇编和取代 Windows 32 位可执行程序中的资源,支持 Delphi 5 和 C++ Builder。这款资源替换修改工具非常的简单实用,操作方面与eXeScope几乎没什么两样。
你想自定义应用软件吗? 例如:更改字体,更改菜单,更改对话框的排列,等等。但你会认为这是不可能的,因为你没有资源文件。ResHacker能在没有资源文件的情况下分析,显示不同的信息,重写可执行文件的资源,包括(EXE,DLL,OCX)等。是方便强大的汉化工具,可以直接修改用 VC++ 及 DELPHI 编制的程序的资源,包括菜单、对话框、字串表等。
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)..."
14. 就存到桌面吧,稍后再自己移动吧
好了,如何把ico文件封到dll文件里面现在大家都知道了
PS:
刚才途中出现了一个错误的提示窗口这里说下,该错误提示可能是由于图标ico文件了面包含了压缩的256px图标信息导致的,我们要是替换不包含压缩256px的图标就不会出现这类提示。还好该提示不影响结果,修改好后文件还是成功的。
希望dtu这个简单的教程能帮助到大家的使用,如果替换更多的图标的dll文件,操作还是一样一样的。
,第一到第四步即可完成提取 。(第四步重点说明提取avi步骤)
进行替换前我想你必须知道一点,系统使用的
动画可不是我们一般看视频那样的
属性的 。通常我们看到的视频
都比较长,所以容积是比较大的,为了达到小容量的目的,
视频将被压缩,压缩是指重新进行编码,减低码率=容积减小 。不管怎样,有编码就必须有解码,要不,播放器是怎么来的,但是``Windows系统默认是没有解码模块的,所以系统调用的avi必须是全帧/无压缩的
文件 。因为之前有想过压缩
以达到减小
文件大小 。
1,启动
并打开你所要编辑的文件,在此过程中使用
文件示范 。
2,选择左边资源树的
(文件夹)
拉开,再次点击拉开
(文件夹)直到看到目标编号为
并选中 。
3,此时你会看到游览窗口显示
的
动画, 确定你选中了 资源树中的
。
4,
资源树的
,( 附加:此时选择
即可
avi动画) 选择
,出现对话框, 点击
, 现在请你找出已经准备好的
文件并选中打开 。
5,此时在刚才那个
的对话框中,出现了
。
资源类型(T):
资源名称(N):
资源语言(L):
6,第一项(资源类型)填写:
,第二项(资源名称)填写:
,第三项(资源语言)填写:
,然后点击
。
,此时你将看到替换好的 avi 效果,接着
,保存好修改后的
。
Resource Hacker 功能特点:
1、查看Windows 32 位和 64 位可执行文件(*.exe、*.dll、*.cpl、*.ocx、*.msstyles 等等)以及 Windows 资源文件(*.res)的资源,在已编译和反编译的格式下都可以。
2、提取(保存) 资源为文件 (*.res) 格式,可作为二进制,或作为反编译过的资源脚本或图像。
图标、位图、指针、菜单、对话、字符串表、消息表、快捷键、Borland 窗体和版本信息资源都可以完整地反编译为其各自的格式,不论是作为图像还是作为 *.rc 文本文件都可以。
3、修改(替换) 可执行文件的资源。
图像资源(图标、指针和位图)可以被相应的图像文件(*.ico, *.cur, *.bmp)、*.res 文件、甚至是另一个 *.exe 文件所替换。
对话、菜单、字符串表、快捷键和消息表资源脚本(以及 Borland 窗体)可以通过使用内部资源脚本编辑器被编辑和重新编译。资源也可以被某个 *.res 文件所替换,只要替换的资源与其是同一类型并且有相同的名称即可。
4、添加新的资源到可执行文件。允许一个程序支持多种语言,或将自定义图标或位图(公司的标识等)添加到程序的对话中。
5、删除资源。大多数编译器添加了应用程序永远都不会用到的资源到应用程序中。删除这些不使用的资源可以减小应用程序的体积。
更新日志:
Resource Hacker(ResHacker) v4.3.20 版本更新:2016年9月11日
更新日志
修正:添加资源到文件不会损坏任何资源
新增:现在可以更改文本资源格式(Unicode,UTF-8,ANSI)
修正:一些 Delphi 窗体未被反编译或正确重新编译
修正:PNG 图像偶尔不显示
修正:主窗口收缩到很小时导致的除零错误
增加时所用到的控件的示例:
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,在插入文字串中,使用“
”来换行。
以上所说的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用来在菜单中添加一个分割线。