什么是 exe 文件? exe 文件的英文名全称为 EXEcutable file 即可执行文件,在 Windows 系统上后缀名为点 exe 的文件就是 exe 文件。 windows 上大部分的软件,如任务栏记事本, 7-zip 都是使用了 exe 文件, exe 文件的内部是什么结构呢?事实上, EXE 文件以及常见的 DLL 文件都是 PE 文件, PE 文件的英文全称是 portable executable file 即可移植可执行文件。简单来说,它是由以下这些杂七杂八的东西组成的,结构比较复杂。其中也有很多种,常见的有以下几种,有兴趣的可以暂停了解一下。
最后一个 OSRC 就是今天的主角资源,主要包含一些光标、图标位图、对话框、字符串、音频等等资源。如果您用 7-zip 对 exe 文件进行解压,就可以看到这些节,当然资源节也可以看到,但是如果我们想修改 EXC 资源之后 exe 还能用,应该怎么做呢?首先我们下载一个叫 resource hacker 的软件,这个软件内置文件资源编译和反编译器,可以修改 e、x、c、d、m、 l 等文件的资源。下载完成之后对压缩包进行解压。然后双击 resource hacker,打开软件。这是一个叫斯蒂文的圣诞卡的软件,处处已经找不到了。
分析可能是 2004 年左右的一位不知名的网友用 C++ 做的,只有 0.4 兆,但是效果很惊艳。我们先来看一下修改之前是什么效果,感觉不错,点击任务栏的图标,右键点退出就可以关闭了。如果我们想一直欣赏雪花,想关掉 BGM 和右下角的图片,应该怎么做呢?我们把这个文件拖进瑞 source hacker,可以看到很多资源。第一个 media 就是我们刚才听的BGM。稍等一下,我们把它删了。然后在 beat map 里面找一下刚才的这几张图片,也把它删了。
然后点击保存。保存完后再打开一下刚才修改的那个文件是不是没有 BGM 和图片了?如果有些文件删除了之后软件报错了,通过替换成相同格式的资源也可以满足要求。
如果我们想把雪花改成其他的图片,那就要特别注意图片的格式和颜色深度。这个雪花图片的格式是 BPP 32 位的深度的,带透明通道,用画图软件搞不定,要用 PS 等专业的软件编辑,再用特殊的格式的 b m p 保存才行。有需要的话我可以再开一期视频详细讲。不只是删除资源和替换资源,也可以添加一些新的资源进去,比如藏一个文件进去,可以点这个图标,然后选择一个文件。比如刚才下载的压缩包。添加资源,然后再点击保存。稍等一下,忘记退出了。右键退出。然后再点击保存。刚刚的压缩包就藏在里面了,要用的时候就把这个文件保存出来。
然后再用压缩软件打开就可以了,又 get 到一个藏文件小技巧。当然我们也可以用 resource hacker 去看一下, resource hacker。
可以看到非常多的资源。还有对话框。我们可以随意的调整对话框的尺寸等等,更多的玩法可以自己去摸索。特别提醒一下,这个软件只能用于合法的用途,自己玩玩就行了,千万不要干坏事。另外, Steven 的圣诞卡关掉音乐是我小时候无法解决的难题,没想到长大之后就可以解决了。好像也不只有我一个人在纠结这个问题,十几年了,不知道网上这位哥们后面怎么样了?最后,如果对这类科普视频感兴趣的话,别忘了点赞关注我们,下期视频,再见。