1 20 50 150 500
欢迎来到瑞博软件站,找素材,搜软件,就上瑞博软件站!
当前位置 >首页 >软件下载 >电脑软件 >应用软件 >文件管理

ts-rar合成jpg 1.0.1 绿色版

软件信息
  • 分类:文件管理
  • 大小:13KB
  • 语言: 中文
  • 环境: WinAll, Win7
  • 更新:2024-11-12
  • 评级:
  • 系统: Windows Linux Mac Ubuntu
  • 软件类别: 国产软件 / 免费软件 / 文件处理
  • 插件情况:
  • 相关链接: http://www.cr173.com

经常看到分享“福利”的时候,都是放一张图片,改了后缀,变成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。

下载地址

热门软件

Top