热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

资源黑客TM

http:www.angusj.comresourcehacker资源黑客TM..一个免费的资源编译器&Windows应用程序的反编译程序5.1.7版最后更新日期:2

http://www.angusj.com/resourcehacker/

资源黑客TM

..一个免费的资源编译器&Windows应用程序的反编译程序
5.1.7版
最后更新日期:2019年1月3日
版权(1999-2019)Angus Johnson
免费软件-没有麻烦,没有广告和充分发挥作用。
下载

概述:

ResourceHacker™是32位和64位Windows应用程序的资源编辑器。两者都是资源编译器(用于*.rc文件),以及反编译器-允许查看和编辑可执行文件(*.exe;*.dll;*.scr;等)和已编译的资源库(*.res,*.mui)。虽然ResourceHacker™主要是一个GUI应用程序,但它也为从命令行编译和解压缩资源提供了许多选项。

Resource Hacker

汇编:

编译可以通过打开现有的资源脚本文件或使用ResourceHacker的编辑器从头创建一个脚本文件来启动。

可以找到资源定义语句的完整列表这里.

ResourceHacker编译器的其他特性包括:#include指令(访问头文件中的定义语句等)可以嵌套到多个级别,#if和#IFDEF指令也是如此。#Defined,#发展署,#if,#Elif,#Other,#IFDEF,#IFNDEF,#Include,和#Pragma指令都得到了支持。在双引号(“)字符之间的字符串可能包含典型的‘C’样式反斜杠‘转义’字符-\t,\n,\”,\x,\u和\377(八进制)。字符串中的双引号必须使用前面的反斜杠或另一个双引号进行“转义”。脚本注释前面要么是双正斜杠(/),要么是分号(;)。允许具有相对路径的文件名。包含空格的文件名必须用双引号括起来.

报告编译器错误消息,甚至嵌套在Include语句中的错误.

查看和编辑资源:

一旦打开了资源文件,其资源通常会显示为图像(或图像组)或解压缩文本。二进制资源,通常是图像,不能直接用ResourceHacker编辑,但是一旦被外部图像编辑器修改,它们仍然可以很容易地导出和导入。(我认为复制第三方形象编辑器做得这么好没有好处。)





菜单和对话框资源类型有自己的WYSIWYG设计器:





具有未知格式的二进制资源将显示为只读二进制文本。(如果需要,也可以这种方式查看任何资源。)

其他行动:


 

命令行语法:

几乎所有资源黑客™的功能都可以从命令行访问,而不必打开ResourceHacker™GUI。
命令行指令和ResourceHacker™脚本可以删除重复资源黑客™任务所带来的繁重工作。
命令行指令是如下表所解释的开关语句和开关参数的组合:命令行语句:

开关 参数
-开放 文件名-要修改的文件的名称。它应该是一个WindowsPE文件(*.exe、*.dll等)或一个已编译或未编译的资源文件(*.res或*.rc)
-储蓄 通常是新文件或修改文件的文件名,但在提取多个资源时也可以是文件夹。
-资源 文件名-包含要添加到打开的文件中的资源。
-行动 对打开的文件执行的操作
  • -添加资源,但如果资源已经存在,则失败
  • addoverwrite-添加资源,如果资源已经存在,则覆盖
  • 加跳-添加资源,但如果资源已经存在,则跳过
  • 编译-将资源脚本文件(*.rc)编译为二进制资源文件(*.res)
  • 删除-删除资源
  • 提取液-提取资源
  • 修改-修改资源
  • 变化语言(LangId)-改变所有资源的语言
-面具 资源掩码-类型、名称、语言
逗号是强制性的,但类型、名称和语言中的每一个都是可选的
-日志 文件名或控制台诺尔
控制台可以缩写为
记录所执行操作的详细信息。
如果省略此开关,日志将被写入资源黑客
-剧本 文件名-包含多命令脚本,而不是资源脚本以获取更多信息:-帮助脚本。
-帮助 选项-命令行或脚本(总是记录到控制台)其他开关被忽略。


注:

  1. 开关标识符(除-脚本)可以缩写为单个字符(例如-res或-r)。
  2. 开关指令不必按任何特定顺序排列。
  3. 包含空格的文件名必须用双引号括起来。


批处理文件示例 (在简洁的地方使用rh.exe而不是ResourceHacker.exe)

REHACK_HELP.BAT:

ResourceHacker.exe -help
@pause :: to see the console output before the CMD window closes.


reshack_COMPILE_RES_script.bat:

rh.exe -open .\in\resources.rc -save .\out\resources.res -action compile -log NUL


rehack_add_图标_to_old.bat:

rh.exe -open old.exe -save new.exe -action addskip -res my.ico -mask ICONGROUP,MAINICON,


reshack_extract_all_source_icons_to_icons_folder.bat:

rh.exe -open source.exe -save .\icons -action extract -mask ICONGROUP,, -log CON
@pause


reshack_export_all_dialogs.bat:

rh.exe -open source.exe -save .\dialogs.rc -action extract -mask DIALOG,, -log rh.log


reshack_Execute_my_script.bat:

ResourceHacker.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)


注意:包含空格的文件名必须用双引号括起来。

资源黑客™脚本示例:

rh_script_myprog_rus.txt-

//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.exeSaveAs= MyProg_Rus.exeLog= 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-

//This script updates 2 bitmaps and an//icon in MyProg.exe ... [FILENAMES]Exe= MyProg.exeSaveAs= 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-

//This script replaces all resources//in MyProg.exe with all the resources//in MyProgNew.res [FILENAMES]Exe= MyProg.exeSaveAs= MyProg_Updated.exe[COMMANDS]-delete ,,, //delete all resources before...-add MyProgNew.res ,,, //adding all the new resources

 

“包装”或“压缩”可执行文件:

一些可执行文件使用压缩算法进行“打包”或“压缩”。这不仅减少了文件大小,还使查看和修改资源变得更加困难。我怀疑这个资源‘隐藏’是(或曾经)在这个过程中的一个共同目标。无论如何,出于对这些作者的尊重,我选择不使用ResourceHacker解压缩文件。顺便提一句,在过去的5到10年里,“打包”的可执行文件似乎变得相当罕见,软件作者在可执行资源中公开的信息更多,而不是更少。我怀疑早先对逆向工程失去知识产权的担忧已经得到缓解。
 

使用许可证-条款和条件:

这个资源黑客TM如果您同意下列条款和条件,软件将作为免费软件发布:

  1. 未经版权所有人事先书面批准,本软件不得通过任何网站、域名或任何其他媒体分发。
  2. 本软件不得以任何方式非法修改软件。

免责声明:此资源黑客的用户TM软件承认,他或她是在“如实”的基础上接收该软件的,并且用户并不依赖于该软件的准确性或功能来达到任何目的。用户进一步承认,本软件的任何使用将由用户自己承担风险,版权所有者不承担因使用或应用该软件而产生的任何责任。

上述许可条款构成“美国法典”第17编第1202节所指的“版权管理信息”,不得从被许可的作品中更改或删除。他们更改或移离领有牌照的工程,以及在没有上述所有牌照条款的情况下,以未更改的方式分发领有牌照的作品,可能违反第1202条,并会造成民事及/或刑事后果。


下载5.1.7版:

EXE安装(2.9MB)

拉链安装(3.0MB)


5.1.7的变化:

  • Bugfix:固定故障加速器编译

 

 

 


推荐阅读
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文介绍了win7系统休眠功能无法启动和关闭的解决方法,包括在控制面板中启用休眠功能、设置系统休眠的时间、通过命令行定时休眠、手动进入休眠状态等方法。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 本文介绍了在Windows系统下安装Python、setuptools、pip和virtualenv的步骤,以及安装过程中需要注意的事项。详细介绍了Python2.7.4和Python3.3.2的安装路径,以及如何使用easy_install安装setuptools。同时提醒用户在安装完setuptools后,需要继续安装pip,并注意不要将Python的目录添加到系统的环境变量中。最后,还介绍了通过下载ez_setup.py来安装setuptools的方法。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • DSP中cmd文件的命令文件组成及其作用
    本文介绍了DSP中cmd文件的命令文件的组成和作用,包括链接器配置文件的存放链接器配置信息、命令文件的组成、MEMORY和SECTIONS两个伪指令的使用、CMD分配ROM和RAM空间的目的以及MEMORY指定芯片的ROM和RAM大小和划分区间的方法。同时强调了根据不同芯片进行修改的必要性,以适应不同芯片的存储用户程序的需求。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
author-avatar
阿加芬散阿加芬散
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有