查看: 3251|回复: 21
收起左侧

[系统] 为什么一个文本文件和一个rar合并之后,rar依然可以打开?

[复制链接]
菩提祖师
发表于 2013-2-6 21:13:35 | 显示全部楼层 |阅读模式
为什么一个文本文件和一个rar合并之后,rar依然可以打开?
难道不会破坏文件头吗?文本文件的内容在rar前面.
thelord
发表于 2013-2-6 21:16:17 | 显示全部楼层
换个软件看能不能打开
菩提祖师
 楼主| 发表于 2013-2-6 21:20:47 | 显示全部楼层
本帖最后由 菩提祖师 于 2013-2-6 21:27 编辑
thelord 发表于 2013-2-6 21:16
换个软件看能不能打开


软件倒是没换,不过格式换了,rar换成7z,7z和文本文件合并之后,7z照样可以打开.
thelord
发表于 2013-2-6 21:22:47 | 显示全部楼层
你用的什么软件,什么方法合并的
菩提祖师
 楼主| 发表于 2013-2-6 21:26:34 | 显示全部楼层
thelord 发表于 2013-2-6 21:22
你用的什么软件,什么方法合并的


软件是7z官方版本,合并方法就是
copy 1.txt /b + 2.7z /b 3.txt
用copy命令,合并之后3.txt只要把扩展名改成7z,文档正常打开,正常解压,没有错误提示(至于解压出来的数据是否完全正确我就没有判断)
天月来了
发表于 2013-2-6 22:14:30 | 显示全部楼层
合并前后的文件数据区的纯数据你比对过没?

用WinHex打开看看
菩提祖师
 楼主| 发表于 2013-2-6 23:10:37 | 显示全部楼层
天月来了 发表于 2013-2-6 22:14
合并前后的文件数据区的纯数据你比对过没?

用WinHex打开看看


文件开始的前几个字节完全一样(是文本文件).
恋爱的夏娜
头像被屏蔽
发表于 2013-2-6 23:56:19 来自手机 | 显示全部楼层
也就是文件头还是压缩文件的文件头么?你要么做一个小一些的压缩文件和一个文本文件合并看看?我记得这个合并命令也就是在你的前一个文件的最后一个字节的位置附加后一个文件的数据,而没有其他的啥变化,就跟你往一块木板上面放上一个杯子一样。
loms126
发表于 2013-2-7 00:08:29 | 显示全部楼层
本帖最后由 loms126 于 2013-2-7 00:14 编辑

文件头应该是文本文件的吧?压缩文件解包时应该会先寻找特定的文件头(跳过不识别的数据,比如加入的那个文本文件。猜测,在文本文件中加入 rar的文件头片段会导致无法解压),如rar文件是 Rar!  ,然后再根据后面的toc及数据流解密。
unrar的代码有公开,有兴趣的同学可以研究下http://www.rarlab.com/rar/unrarsrc-4.2.4.tar.gz。我表示我看不懂
这里还有一篇中文的rar格式分析,大家可以参考下http://www.docin.com/p-56091789.html
菩提祖师
 楼主| 发表于 2013-2-7 00:28:42 | 显示全部楼层
loms126 发表于 2013-2-7 00:08
文件头应该是文本文件的吧?压缩文件解包时应该会先寻找特定的文件头(跳过不识别的数据,比如加入的那个文 ...


7z格式的文件头貌似就是7z

我的文本文件内容也是7z,合并之后文件头是两个7z

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-5-15 06:49 , Processed in 0.148960 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表