二进制杂文(5) 如何使可以正常运行的PE文件后缀直接改为zip后同时还能正常解压

发布于 2021-08-09  45 次阅读


很早之前奇怪过的一个问题

在52上面下载盗版游戏的时候有时候就会遇到一些炫技的师傅整出这种骚操作

下载下来一个特别大的exe打开之后读条半天,读条结束之后弹框,校验完成,请把后缀直接改成zip解压即可游玩

第一次看见的时候一愣一愣的(一时半会儿找不到示例程序,各位想象一下就行)

其实这个和PE文件有关

PE文件的Overlay段可以塞下任何数据而不会影响主体内容的运行,一般的操作就是往里面塞数据包什么的

我们还可以看一下zip的一个特点

zip文件的构建是基于相对偏移的,而非绝对虚拟内存地址

换句话来说就是文件头可以不位于文件的头部

但我还是很奇怪这个东西该怎么开发比较好,

数据包文件和主体解包程序两个文件拼接在一起

虽然说直接使用C语言的write就行,但是还是感觉应该会有更oop的方式才对,不过目前没找到