一、前言
1.1 Winrar 解压缩工具
市场上有很多优秀的压缩工具,常用的有Winrar 和360 压缩工具。Winrar是免费压缩工具,特色是每次使用都会弹出广告。影响用户体验和工作效率,当然最重要的是影响心情。效果如下图。
二、问题处理说明
2.1 问题解决方式
此处使用工具Resourcehacker 对winrar.exe 程序进行反编译,找到exe 程序的字符串String Table 表下的广告弹窗文件,修改文件内容使其找不到广告弹窗即可。
2.2 相关名词解释
1.2.1 字符串表
关于exe资源文件下的String Table: 是字符串表,包含的文件是程序所要显示的文本、链接、消息、消息框等。
在程序中加载它们,程序通过字符串的ID来加载ID对应的文本、链接、消息、弹框等。
此处广告的ID是1272。即我们修改ID 为1272 对应的文本内容即可。
1.2.2 Resourcehacker工具
百度百科:用于查看,修改,添加和删除 Win32 可执行文件的资源。
其中内置了一个内部资源编译器和反编译器。 就是说能对程序进行反编译,查看源文件并修改,然后能再次编译, 即使用修改后的程序。
三、图文操作
3.1 下载安装Resourcehacker
首先你或许没有安装这个程序,安装过的直接跳过,谢谢。
官网download: http://www.angusj.com/resourcehacker/
拖拉到网页底部,如图3-1 所示下载位置,下载exe 程序。下载完成后,双击安装程序进行安装,一路Next 即可,可自定义安装路径。安装完成后打开程序默认目录区与编辑区是空白的,如图3-2所示。
3.2 使用Resourcehacker 工具打开winrar.exe
在Resourcehacker 程序工作页面左上角菜单栏打开要处理的文件,功能菜单File – Open,找到Winrar的安装路径下的Winrar.exe文件选择打开。
3.3 找到字符串表下ID 为1272 为广告弹窗文本
打开后会反编译出程序的源文件,我们通过找到广告弹框相关的文件,做修改处理,使程序找不到该广告弹框,即可处理Winrar 的广告弹框问题。
前面说到广告弹框文本对应的字符串表中的ID 为1272,我们找到这个文本。
展开String Table 字符串表下的80:2052 文件,打开文件,编辑区即文本内容。此处可以找到ID 为1272 的文本,winrar.exe 程序即通过读取其文本来弹出广告弹框。
3.4 广告弹窗文本修改并保存
此处怎么处理都可以,你可以将该ID 及后面的文本一起删除,也可以修改其文本内容为一个不可用的资源即可。
此处修改文本为空字符串。
STRINGTABLE
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
{
1265, "当前文件夹"
1266, "本地硬盘驱动器"
1270, "http://www.winrar.com.cn"
1271, "http://www.buysoftware.cn"
1272, ""
1273, "https://www.rarlab.com/themes.htm"
}
修改内容后,使用Resourcehacker 工具重新编译winrar.exe 保存即可,通过点击绿色三角按钮执行编译动作。编译完成后Ctrl + S 保存编译后文件即可,或者单击图3-8 中的保存按钮即可。
3.5 世界还是很美好的
重新打开winrar.exe 此时广告弹出已经不会被加载了。世界还是很美好的!