Skip to content

分享资源的常见方式

文件改后缀

如果发过来的资源其后缀不是 .zip.rar, lz4, 7z 等压缩包格式,那我们通常需要通过修改文件拓展名的方式来使这个资源可以被解压。

比如现在你收到了个资源叫做缘之空.png,但是其大小却不是正常图片的大小,而且无法被查看软件打开,那么此资源很可能是个压缩包

那么方法很简单,将文件后缀改为各种压缩包的格式然后尝试解压(如果分享者告诉你了压缩包格式那就将其改为特定的后缀)。

另外,上面提到的无法被查看软件打开这一条件并不一定满足,但解压方法还是一样的。

还是上面的例子,资源叫做缘之空.png,但是能正常显示图片内容,也能被图片软件打开,这是怎么做到的呢?

随便找一张 .png 后缀的图片查看它的二进制数据:

二进制数据

可以看到数据的开头总是由 89 50 4E 47 0D 0A 1A 0A,这是PNG格式文件的起始符,标记PNG文件的数据从此处开始, 在该起始符前所有的数据都为无效数据

同样的,可以看到数据的最后总是以 49 45 4E 44 AE 42 60 82 结尾,这是PNG格式的终止符,标记PNG文件的数据在这里结束, 在该结束符后所有的数据都为无效数据

类似的,压缩包文件也有它自己的起始符和终止符,无论是图片还是压缩包文件,处理它们的软件都只会解析包裹在起始符和结束符中间的数据

那么,要制作压缩包和图片集合在一起的资源就很简单了,只需要将图片和压缩包的数据头尾相接即可,图片查看器只会解析图片部分,解压软件只会解析压缩包部分,其他所有地方的数据都会被软件忽略

用命令行的 copy 将两个文件的内容拷贝到一个文件,然后将它们输入到一个新文件:

两个文件

命令

命令:copy /b <合并文件1>+<合并文件2> <输出文件>

INFO

请将<>两个符号本身及其内部包含的内容一整个替换为对应参数!

最后我们得到了一个表面上看是图片,实际上是资源的文件(下图中两个文件的二进制数据完全一样,只是改变了拓展名而已):

结果

resource.png 的后缀改为 .rar,可以看见压缩包内的文件:

alt text

TODO