分类

游戏分类软件分类

ts-rar合成jpg1.0.1 绿色版

ts-rar合成jpg

1.0.1 绿色版

大小:.01M更新:2015-01-08

类别:文件处理系统:WinAll,Win7

立即下载
没有数据
  • ts-rar合成jpg

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

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

程序原理分析:

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

Windows 应用程序

Adobe PDF

Java JAR

HTML 网页

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

16进制分析:

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

相关下载
  • 最热排行
应用排行榜

点击查看更多

关注微信随时找攻略,尽情下游戏!
打开微信
说两句网友评论
    我要跟贴
    取消
    实时热词
    时间相机头条搜索极速版独角兽教育分贝噪音测试盛京银行北京协和医院海狸洗衣四川农信手机银行扇贝单词英语版视客眼镜网