与众不同 制作会唱歌的WinRAR - imsoft.cnblogs
为了使用方便,我们可能会把RAR压缩包制作成自解压文件。WinRAR自带的自解压模块虽然使用很方便,但千篇一律的外观看起来实在
乏味。其实,只要通过简单改造,你就可以制作出与众不同,声色俱佳的WinRAR自解压界面,让你的朋友羡慕去吧。
认清自解压模块的真面目
进入WinRAR的安装路径,你会看到几个后缀名为“SFX”的文件,它们就是WinRAR的自解压模块(图1)。找到“Default.SFX”并复制一
份作为备份,以便在操作失败后补救。你可以把它的后缀名改为“EXE”,运行一下看看(图2)。奇怪吧,看上去就是一个普通的WinRAR自解压
文件。它实际是一个用来包装WinRAR压缩文件的外壳,因为不包含任何文件,所以才显示“压缩文件格式未知或已经损坏”。现在大家应该明
白了,自解压文件的界面就是由“Default.SFX”来决定的,改造它就可以让自解压文件改头换面。
图1:
图2:
既然“Default.SFX”是一个可执行的程序,那么问题就简单了,汉化软件的常用工具eXeScope和Resource
Hacker都可以查看和编辑可执行程序的资源。用Resource
Hacker打开,试试查看它的对话框资源,得到的却是一个错误提示(图3)。看来这个文件是被压缩过的(也称为加壳)。用ASPack、UPX或
PECompact等工具软件对EXE文件进行压缩,不会影响其使用,但可以减小文件体积,还能避免文件被破解或者资源被修改。现在无法用 Resource
Hacker查看“Default.SFX”中的资源,就是这个原因。
图3:
与众不同 制作会唱歌的WinRAR(二)
由于无法确定是用哪种软件压缩的,因此需要借助工具软件PEiD对其进行分析。用PEiD打开“Default.SFX”,显示它被UPX工具压缩过
(图4),因此首先要进行解压(脱壳),否则无法对它进行修改。用UPX Shell打开“Default.SFX”(UPX
Shell是UPX的图形化界面程序,通过它能够方便地调用UPX完成各种操作),选择解压缩(图5)。
图4:
图5:
与众不同 制作会唱歌的WinRAR(三)
浓妆淡抹,改造外观
用Resource
Hacker打开解压后的“Default.SFX”,现在就能正确显示其中资源了(图6)。先从“对话框”下手,可以看到每个子项都包含3个资源:“1028
”为繁体中文资源,“1033” 为英文资源,“2052”为简体中文资源。为了减小自解压模块的体积,把用不到的繁体中文和英文资源全部删掉。同样的道理,无用的繁体中
文和英文字符串资源也可以一并剔除。
图6:
接下来,我们开始替换其中的图标及位图资源。图标资源就是自解压文件在Windows系统中显示的图标,而位图资源则是显示在自解压
主界面的图片,我们可以找一些喜欢的图片和图标替换默认资源。图片必须是BMP格式(256色),尺寸可以自定,但是最好不要超过400×227或
227×400像素,否则很容易出现问题;而图标则为ICO格式,需要4个样式(分别是16×16@16色、16×16@256
色、32×32@16色和32×32@256色)。备齐这些资源后,用eXescope打开“Default.SFX”文件,选择要替换的资源,点击“导入”按钮进行替换
,并在提示更新文件时予以确认(图7)。
图7:
easy提示
位图资源的尺寸对自解压模块的体积影响很大,如果自解压模块的图片过大,压缩文件转换为自解压文件后体积将增加很多,这将影响 其实用性。
下面来看看对话框资源,按“F12”键可进行预览(图8),可以确认其中的“ASKNEXTVOL”为分卷压缩包解压提示,“GETPASSWORD1”为
输入解压密码,“LICENSEDLG”为安装协议对话框,“RENAMEDLG”为重命名对话框,“REPLACEFILEDLG”为替换文件对话框,“STARTDLG”为
自解压模块主界面。显然,需要修改的就是“STARTDLG”和“LICENSEDLG”。
图8:
与众不同 制作会唱歌的WinRAR(四)
选中“STARTDLG”按下“F8”键即可打开“对话框编辑器”。点选其中的对象元素,然后通过鼠标的即时操作调节其大小与位置(图9)
。如果要进行比较精细的调整(例如对齐),可在eXescope右侧窗口的上方直接填写具体的数值。文字信息也可以在标题中直接修改。另外,我
们还可以对其中的资源的布局进行设置,如不想要其中的文字说明部分,只需取消它的可见属性(图10)。
图9:
图10:
修改的过程中,尤其要注意的是图片框的尺寸不能小于前面设置的位图资源,否则会显示不完整,影响整体效果。靠肉眼观察显示是不
准确的,那有没有能较好地解决这个问题的方法呢?答案是有的。例如位图的尺寸为176像素宽,209像素高,除以1.5以后为117和140,直接在
eXescope中把图像对象的尺寸设置为117×140就可以了(图11)。修改尺寸时要注意确认对象类型,以免弄错。通过不断的修改,自解压模块的
界面已经焕然一新了(图12)。“LICENSEDLG”与“STARTDLG”有很多相同之处,但对象元素较少,因此可参照按照“STARTDLG”进行修改,这
里便不再赘述。为了风格统一,建议两者使用相同布局。
图11:
图12:
与众不同 制作会唱歌的WinRAR(五)
至此,自解压模块的修改已基本完成,为了进一步彰显个性,还可以为自解压模块打上专属标记,比如主页及电子信箱等信息。用 Resource
Hacker打开“Default.SFX”文件,在对话框资源“STARTDLG”中单击鼠标右键,选择“插入控件”(图13)。点击“label”或者从预定义控件
下拉列表中选择“STATIC”,并在标题位置填入想显示的信息(图14)。如果有多行可以分别添加,调整好控件的大小及位置后,点击“编译脚
本”按钮(图15),保存退出即可。
图13:
图14:
图15:
与众不同 制作会唱歌的WinRAR(六)
接下来开始测试。具体过程是将自解压模块放在WinRAR的安装目录中,然后创建自解压文件测试自解压模块工作是否正常(图16)。某些
情况下,Resource
Hacker保存资源后会出现无法使用的问题,这时只需将修改出问题的模块删掉,使用其保存前自动备份的模块(Default_original.SFX)改名后
重新修改即可。测试满意后,再利用UPX
Shell将修改后的模块压缩。一般来讲,压缩比能达到50%左右,体积已大幅减小。再次将压缩后的模块复制到WinRAR的安装路径下,如果测试
没问题,恭喜你,大功告成(图17)。
图16:
easy提示
将修改好的自解压模块改名为“Default.SFX”,覆盖WinRAR安装目录中的同名文件,这样便可直接使用,减少选择
模块的过程,精简操作步骤。
与众不同 制作会唱歌的WinRAR(七)
锦上添花,加入音乐
视觉效果已经完成了,下面再来加入听觉效果。找一个合适的音乐文件作为自解压文件的背景音乐,文件格式可以是MP3、MIDI等。考
虑到文件的体积,建议使用MIDI格式,如果实在想使用MP3格式,最好是节选一段并降低码率,以控制文件体积。
选择需要压缩的文件及文件夹,右键单击选择“添加到压缩文件”,在弹出的对话框中勾选“创建自解压格式压缩文件”(图18),填写
好文件名后点击“高级”页面中的“自解压选项”。切换到“文本和图标”页面,在“自解压文件窗口中显示的文本”中填入以下信息(图19)
。由于WinRAR的安装脚本支持部分HTML格式,因此这部分内容就是当作HTML处理的。
┌───────────────────────────────┐
│ │
│……此处信息可自定义……
│
│……根据需要填写相应信息…… │
│ │
│
│
└───────────────────────────────┘
图18:
图19:
其中“EMBED
src="http://article.pchome.net/http://article.pchome.net/midi.mid"”指定背景音乐文件名,“autostart="true"”代表自动播放音乐文件,“width”和“height”代表控制面板的宽和高,两者
设为“0”就不会显示播放控制面板,破坏整体美观。点击两次“确定”后就可以生成自解压文件了。
与众不同 制作会唱歌的WinRAR(八)
然后把背景音乐文件“http://article.pchome.net/http://article.pchome.net/midi.mid”以及刚才生成的自解压文件同时选中,再次打包为自解压文件。先填写好文件名,点击“高级”页面
中的“自解压选项”,在“常规”页面的“解压后运行”输入框中填入上第一次打包生成的自解压文件名(图20)。在“模式”页面勾选“解包
到临时文件夹”、“全部隐藏”和“覆盖所有文件”这三项(图21),点击两次“确定”按钮后即可得到最终的自解压文件(使用这种模式要慎重
,网络上某些木马就是通过这种方式传播的)。
图20:
图21:
运行自解压文件,稍等一下就会看到我们定制的自解压界面,同时还有优美的背景音乐从音箱中传出,制作一个这样的自解压文件发给
朋友,自豪地告诉他们“我的WinRAR会唱歌!”
与众不同 制作会唱歌的WinRAR - imsoft.cnblogs的更多相关文章
- 轻松制作儿童趣味算术软件 - imsoft.cnblogs
轻松制作儿童趣味算术软件 马震安 电脑爱好者 2014-07-23 08:38技巧 0 条评论 标签:软件 兴趣是学习的动力,以动感的软件和自动判断得分的形式测试孩子的算术能力,总要比在白纸上出几 ...
- 很全面的WinRAR实用技巧系列 - imsoft.cnblogs
WinRAR也可以管理我的桌面时间长了,桌面上堆的东西实在太多,平时该如何管理呢?安装了WinRAR的朋友可以请它来帮忙,用它管理清除无用的桌面文件或图标. 以XP系统为例,系统所在目录是“c:\wi ...
- 多个Tomcat同时运行环境配置 - imsoft.cnblogs
解压下载好的Tomcat压缩包,两次.此例中分别命名为tomcat和tomcat2. 1. 在MyEclipse中配置好第一个Tomcat环境,可以正常运行项目后. 2. 再配置tomcat2这个项目 ...
- winrar在右键菜单上加上:打包自动加上日期时间标签【图文教程】 - imsoft.cnblogs
说明: 注册表HKEY_CURRENT_USER\Software\WinRAR\Profiles\0找到GenerateArcName修改0为1,修改GenerateMask为你想要的日期式(默认 ...
- WinRAR的自解压模式 - imsoft.cnblogs
一个 SFX (SelF-eXtracting)自解压文件是压缩文件的一种,它结合了可执行文件模块,一种用以运行从压缩文件解压文件的模块.这样的压缩文件不需要外部程序来解压自解压文件的内容,它自己便可 ...
- WinRAR备份技巧 - imsoft.cnblogs
RAR控制台日常备份策略 run.batrar a -ep1 -agYYYY{年}MM{月}DD{日} 备份 @list.txt-ep1是忽略原文件路径,rar包里是一堆文件,没有目录结构-ag附加命 ...
- SecureCRT最佳配色方法+直接修改默认配置方法 - imsoft.cnblogs
SecureCRT默认显示效果是黑白且刺眼的主题,看起来很不舒服.经过一番搜索,总结结果如下,直接设置默认属性,设置一次,不需再改. 效果图: 具体操作方法: Options->Global O ...
- MyEclipse多次重装、删除注册表、重装系统激活都不成功,终极解决方法 - imsoft.cnblogs
问题:注册成功的MyEclipse被修改了一个配置文件之后,激活失败,然后在网上找激活码,激活不成功,但激活文件一直保存在电脑中,每次打开MyEclipse的激活界面总看得到之前的激活码.后面尝试 ...
- 八、MyEclipse多次重装、删除注册表、重装系统激活都不成功,终极解决方法 - imsoft.cnblogs
MyEclipse(2010,2014)激活不成功的结论: [问题原因]激活不成功时,主要是激活的密钥文件.myeclipse.properties不在指定的位置.(一般都在D.E.F.G等盘符根目录 ...
随机推荐
- Jsp基础语法(由简入杂)
JSP基础语法 一,JSP简介 Jsp是一个简化的Servlet设计,是在服务器端执行,他实现了再Java中使用HTML标签. Jsp是一种动态网页技术标准也是JAVAEE的标准 二,常见动态网站开发 ...
- 【Python】给图片添加水印的Python及Golang实现
前言 不知道大家有没有这样的习惯,一篇比较得意的博客在发表一段时间之后会特别关注,前段时间一篇写到凌晨的博客被 码迷 这个网关爬取之后发表了,因为搜索引擎先爬取码迷的,所以我的博客无法被搜索到,即使直 ...
- vysor 破解 (插件 V1.7.8 客户端2.1.0)
0.环境 mac os ===19年更新-客户端破解=== 换了个电脑,老的Chrome 插件各种问题,就换了客户端,然后就是一片模糊... 参考文档:https://www.sdbeta.com/w ...
- 你真的了解Spring Framework吗?
Java 框架 上世纪90年代,使用Java开发Web应用普遍使用J2EE标准,J2EE具有平台无关性,对事务.消息等企业级的特性都有很好的支持,但当时的J2EE仍存在一些问题: 非常复杂:EJB的诞 ...
- linux下ssh公钥验证的设置和远程登录
1.第一步 在自己本机,通过工具生成一对公私钥对,对应id_rsa/id_rsa.pub 2.第二步 修改服务器配置 1)复制id_rsa.pub公钥内容 将文件内容追加到~/.ssh/ ...
- Confluence 6 使用 LDAP 授权连接一个内部目录 - Schema 设置
基本 DN(Base DN) 根专有名称(DN),这个名称在你对目录服务器上进行查询的时候使用.例如: o=example,c=com cn=users,dc=ad,dc=example,dc=com ...
- 『Pandas』数据读取&DataFrame切片
读取文件 numpy.loadtxt() import numpy as np dataset_filename = "affinity_dataset.txt" X = np.l ...
- SQL Server 创建定时任务JOB
1. SQL Server 代理 → 作业(右键)→新建作业 2.在[常规]中输入 “名称” 并确认已勾选 “已启动”. 3.在[步骤]中 "新建步骤": 填写 “步骤名称 ...
- Eclipse详细设置护眼背景色和字体颜色
代码区背景色: 参考地址: http://jingyan.baidu.com/article/d5a880eb6c4f7813f147ccef.html Package explorer 颜色 : ...
- Apache Tomcat 6.0 Tomcat6 服务因 1 (0x1) 服务特定错误而停止
1.Tomcat目录下的bin