下载站

展开
精品推荐
ts-rar合成jpg

ts-rar合成jpg

文件处理大小:27.76MB语言: / 类别:应用软件系统: / WinAll, Win7 提供:
应用介绍

经常看到分享“福利”的时候,都是放一张图片,改了后缀,变成rar,就可以找到资料。RAR变JPG,JPG变RAR压缩包与图片合成工具,就是把两个文件强行合并,图片放在上面!一般在百度贴吧想给别人发压缩包但是又不能上传就可以用这本工具将RAR与JPG合并成JPG图片发到贴吧别人把图片下载回来改成RAR就能解压。在帖子里还能看图。。。

这种「同时是多种格式」的文件叫做polyglot,本来指同时能被多种编程语言编译的源代码。

程序原理分析:

本质上它是利用文件格式设计而hack,最重要的一个原理就是:RAR的文件格式规定文件头不必从0地址开始。RAR程序解压文件时,会寻找0x520x610x720x210x1a0x070x00这样一串字节,具体意义请见,前四个字节转为ASCII码恰好是「Rar!」。正常的RAR文件会把这串字节放在文件头部,但RAR文件格式并没有规定这是必须的(实际上,RAR文件并不是开放的格式,怎么才算「正确」的RAR文件并无公共可见的文档),所以如果文件头并没有出现它,RAR解压程序就会持续搜寻这个字串,找到之后把后面的部分当作RAR来处里,前面的部分就无视掉了。反过来,JPG格式规定文件起始两个字节必须是0xFF0xD8,如果找不到这两个字节,那么就不认为它是JPG文件。RAR并不是唯一一种不规定文件格式必须起始于文件头的格式。比如下面这个文件同时是:

Windows应用程序

AdobePDF

JavaJAR

HTML网页

为了提高可用性.jpg"/>还rar这样的软件都会试图在解码时排除那些错误的字节,一般情况下,除非文件头位置,其他位置的错误最多造成马赛克而已。最简单的是copya.jpg"/>+b.rarc.jpg"/>基本上不会影响两个文件的打开。最早还有txt的玩法。推荐winhex深入研究。

16进制分析:

用16进制编辑器打开这样的文件,很明显看到两个文件的文件头大写JPEG和!RAR。可以实现的主要原因有两个,一是jpeg的头格式里面保存了jpeg图像的图像的宽度和高度,而window图片阅读器正好是按照jpeg的格式处理的,活该它就这样,读取到jpeg文件结尾,rar的开头后就停止了。二是rar要支持用rar程序打开自解压形式的压缩文件。因为自解压是一种可执行文件的形式,rar的实现方法就是把rar文件附到自解压程序的尾部。于是在我们按照'用winrar打开'这种方式给它发命令时,它只是把jpeg当作一个自解压程序了!不信你去桌面右键->'用winrar'一.jpg"/>。

Tags:rar合成jpg.

应用推荐查看更多
热门下载查看更多
精选应用
点击查看更多
专题合集查看更多
热门专题查看更多
友情链接0投诉联系:ichaoinc@gmail.com