当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 17 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2009-08-06 14:10 
头像

注册: 2007-12-17 21:41
帖子: 773
送出感谢: 67
接收感谢: 22
Linux下打开rar/zip/7z自解压格式文件的技巧

Linux 下支持多种压缩文件格式,但是Windows 下生成的 rar/zip/7z等自解压格式文件,在 Linux下却没有相应的程序能打开或解压缩。其实我们也可以通过一些简单的处理,把自解压文件变成普通压缩文件,就可以正常打开。

一、原理
rar/zip/7z自解压格式文件,其实就是在普通的压缩文件的文件头,添加了一个自解压模块,自解压模块的文件名一般是Default.SFX, 或者Zip.SFX, 或者7z.sfx。只是zip自解压格式稍微复杂一点,它还修改了普通zip格式压缩文件末尾的5个字节(普通zip格式压缩文件末尾的5个字节内容一般是5个 0x00)。

二、需要用到的linux命令和程序

1 dd 命令(用于跳过自解压文件头,直接把普通压缩文件复制出来);
对于 rar/zip/7z自解压格式文件, 只用这个命令就行了。再在linux用解压缩软件直接打开压缩文件就行了。

2 二进制编辑器 (主要用于编辑 zip自解压格式文件的末尾5个字节)
如 gnome 下的 ghex, bless; KDE 下的 khexedit; 文本模式的 qemacs, hexedit 等。
安装方法:
代码:
sudo apt-get install ghex bless khexedit gemacs hexedit


3 cat 命令 (主要用于合并自解压模块和普通压缩文件,生成一个新文件)

三、技术常识
3.1 WinRAR 3.71 for Windows 的自解压模块的大小:
* Default.SFX (rar自解压模块): 103424字节;
* Zip.SFX (zip自解压模块): 67584字节;

3.2 7-zip 自解压模块的大小:
* 7z.sfx (7z自解压模块): 60928字节;

说明:不同的程序使用的自解压模块,不同的程序版本号,不同的自解压模块版本,上面的大小可能不同。如果无法正常打开处理后的压缩文件,请用二进制编辑器查看自解压格式文件的压缩模块结尾和普通压缩文件的文件头,确定有效的自解压模块大小,再进行处理。

四、操作实例:
4.1 提取 WinRAR 3.71 for Windows 生成的rar自解压文件中的普通压缩文件
代码:
dd if=old.rar.exe of=new.rar bs=103424 skip=1

警告: 使用dd 命令有一定的风险,使用时尽可能以普通用户身份运行,并且 if,of,等号(=)的前后不要有空格。使用错误的参数可能带来不可预知的后果或数据损坏!!!
上面的 old.rar.exe 是旧文件名,
new.rar 是新文件名,
103424 是自解压模块的大小,单位是字节(byte)
skip=1 代表复制时跳过文件前面的自解压模块103424字节*1 =103424

4.2 提取 WinRAR 3.71 for Windows 生成的zip自解压文件中的普通压缩文件
代码:
dd if=old.zip.exe of=new.zip bs=67584 skip=1

这时提取出的 new.zip 是不能正常打开的,还需要用二进制编辑器(如 gnome 下的 ghex, bless; KDE 下的 khexedit; 文本模式的 qemacs, hexedit 等),把文件末尾最后的5个字节改为 5个 0x00, 这才变成地地道道的 zip 普通压缩文件,再用其它解压缩软件打开。

4.3 提取 7-zip 生成的7z自解压文件中的普通压缩文件
代码:
dd if=old.7z.exe of=new.7z bs=60928 skip=1

再用解压缩软件打开得到的新文件 new.7z 即可。

五、自己把普通压缩文件处理成自解压文件
5.1 先制作一个普通的 rar/7z 压缩文件,再运行下面的命令即可。
(注意:不推荐生成 zip 自解压文件,因为要对文件末尾进行处理,操作较复杂)
代码:
cat rar.sfx old.rar > new.rar.exe
(生成rar自解压文件)
------------------
代码:
cat 7z.sfx old.7z > new.7z.exe
(生成7z自解压文件)
上面的 rar.sfx 和 7z.sfx 分别是自解压模块。如果没有,也可按下面的命令进行提取:
代码:
dd if=old.rar.exe of=rar.sfx bs=103424 count=1

代码:
dd if=old.zip.exe of=zip.sfx bs=67584 count=1

代码:
dd if=old.7z.exe of=7z.sfx bs=60928 count=1


重复说明:不同的程序使用的自解压模块,不同的程序版本号,不同的自解压模块版本,上面的大小可能不同。如果无法正常打开处理后的压缩文件,请用二进制编辑器查看自解压格式文件的压缩模块结尾和普通压缩文件的文件头,确定有效的自解压模块大小,再进行处理。

下面是一些压缩文件格式的文件头和文件尾内容,可供有一定经验的用户参考。
附件:
11winrar3.71.rar.head-end.png
11winrar3.71.rar.head-end.png [ 7.82 KiB | 被浏览 9625 次 ]
附件:
12winrar3.71.rar-exe.head.png
12winrar3.71.rar-exe.head.png [ 10.22 KiB | 被浏览 9625 次 ]
附件:
21winrar3.71.zip.head-end.png
21winrar3.71.zip.head-end.png [ 8.48 KiB | 被浏览 9625 次 ]
附件:
22winrar3.71.zip-exe.head.png
22winrar3.71.zip-exe.head.png [ 10.23 KiB | 被浏览 9625 次 ]
附件:
23winrar3.71.zip-exe.end.png
23winrar3.71.zip-exe.end.png [ 10.36 KiB | 被浏览 9625 次 ]
附件:
31-7z.head.png
31-7z.head.png [ 18.34 KiB | 被浏览 9625 次 ]


附件:
32-7z.end.png
32-7z.end.png [ 18.3 KiB | 被浏览 9625 次 ]


附件:
33-7z-exe.head.png
33-7z-exe.head.png [ 12.93 KiB | 被浏览 9625 次 ]


把上面的图片打了包:
附件:
sfx-pic.tar.gz [82.32 KiB]
被下载 32 次


_________________
* 日本人说:就算我们不拜靖国神社,韩国人也不会买我们的东西;
就算我们拜靖国神社,中国人照样买我们的东西。

* 历史不相信眼泪。能挡住狼的不是篱笆,而是棍子和猎枪。
--------------
Careone <emacslocale^126.com>
https://sourceforge.net/projects/emacslocale/files/


页首
 用户资料  
 
2 楼 
 文章标题 : Re: Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2010-03-05 18:42 
头像

注册: 2009-10-08 11:15
帖子: 8430
地址: 大城市铁岭
送出感谢: 0 次
接收感谢: 9
消灭零回复


_________________
我们是命运的妓女,它把我们都嫖了

N卡驱动:http://www.nvidia.cn/Download/index.aspx?lang=cn
极品飞车:http://www.geforce.cn/optimize/optimal-game-settings/need-for-speed-shift-geforce-gts-450-ops
孤岛危机优化设置:http://www.geforce.cn/optimize/optimal-game-settings/crysis-geforce-gtx-450-ops
:cp /etc/skel/.bashrc ~/
PS1="\[\e]2;\u@\H \w\a\e[32;1m\]\T$\[\e[0m\] "
http://cdimage.ubuntu.com/
http://releases.ubuntu.com/


页首
 用户资料  
 
3 楼 
 文章标题 : Re: Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2010-03-05 18:49 

注册: 2008-01-09 22:41
帖子: 18311
送出感谢: 0 次
接收感谢: 6
wormhole


页首
 用户资料  
 
4 楼 
 文章标题 : Re: Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2010-03-05 19:00 
头像

注册: 2009-10-08 11:15
帖子: 8430
地址: 大城市铁岭
送出感谢: 0 次
接收感谢: 9
终于找到这个超时空帖贴了: :em04
07年的问题, 09年才回贴。 :em06
http://diybbs.zol.com.cn/3/12_27326.html


_________________
我们是命运的妓女,它把我们都嫖了

N卡驱动:http://www.nvidia.cn/Download/index.aspx?lang=cn
极品飞车:http://www.geforce.cn/optimize/optimal-game-settings/need-for-speed-shift-geforce-gts-450-ops
孤岛危机优化设置:http://www.geforce.cn/optimize/optimal-game-settings/crysis-geforce-gtx-450-ops
:cp /etc/skel/.bashrc ~/
PS1="\[\e]2;\u@\H \w\a\e[32;1m\]\T$\[\e[0m\] "
http://cdimage.ubuntu.com/
http://releases.ubuntu.com/


页首
 用户资料  
 
5 楼 
 文章标题 : Re: Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2010-03-05 19:15 
头像

注册: 2008-12-13 19:39
帖子: 13284
地址: 物华天宝人杰地灵
送出感谢: 1
接收感谢: 6
这个坟挖得不错。。。某也乐于鞭尸了。 :em11


_________________
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!


页首
 用户资料  
 
6 楼 
 文章标题 : Re: Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2010-03-05 19:55 
头像

注册: 2008-04-26 12:41
帖子: 10971
送出感谢: 11
接收感谢: 38
wangdu2002 写道:
这个坟挖得不错。。。某也乐于鞭尸了。 :em11

:em06 :em06 :em06


_________________
[新手必读]wubi安装常见问题(FAQ)
[分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
kde下唯美的暗黑内透主题(无需编译)
无穷老机上的Trinity Desktop Environment


页首
 用户资料  
 
7 楼 
 文章标题 : Re: Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2010-03-24 15:01 

注册: 2010-01-13 23:26
帖子: 3173
送出感谢: 0 次
接收感谢: 12
来Mark一下。。。


_________________
Here I am.
Ubuntu 桌面培训 - 全中文官方文档,含汉化截图,提供PDF


页首
 用户资料  
 
8 楼 
 文章标题 : Re: Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2010-03-25 13:02 

注册: 2005-11-06 16:54
帖子: 108
送出感谢: 0 次
接收感谢: 2
干嘛不直接用wine呢?不是很方便吗?


页首
 用户资料  
 
9 楼 
 文章标题 : Re: Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2010-03-30 14:08 

注册: 2009-03-28 8:58
帖子: 23
送出感谢: 0 次
接收感谢: 0 次
Windows 下生成的 rar/zip/7z等自解压格式文件,在 Linux下却没有相应的程序能打开或解压缩


没搞懂啥子意思?

ubntu:
rar:
sudo apt-get install rar

zip:
自带

7z:

sudo apt-get install p7zip


安装候你试试,能不能压缩、解压这些格式???????


页首
 用户资料  
 
10 楼 
 文章标题 : Re: Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2010-05-22 10:51 

注册: 2008-08-30 13:43
帖子: 60
送出感谢: 0 次
接收感谢: 0 次
感觉还是很复杂,办公使用最重要的是简单,易用,其他的都是零。


页首
 用户资料  
 
11 楼 
 文章标题 : Re: Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2010-05-22 16:44 
头像

注册: 2008-10-08 13:48
帖子: 3476
送出感谢: 0 次
接收感谢: 1
:em03 遇到这样的飞鸽叫别人帮我解下,或者直接删除……


_________________
--------------------------------------
论坛精华贴全集:http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=199845
book:http://forum.ubuntu.org.cn/viewtopic.php?f=21&t=198286


页首
 用户资料  
 
12 楼 
 文章标题 : Re: Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2010-05-25 10:37 
头像

注册: 2009-04-04 12:55
帖子: 249
地址: 四川...泸州||江苏...镇江
送出感谢: 0 次
接收感谢: 1
:em06


页首
 用户资料  
 
13 楼 
 文章标题 : Re: Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2010-12-20 18:40 
头像

注册: 2007-02-12 19:46
帖子: 217
送出感谢: 1
接收感谢: 0 次
wanderer11 写道:
Windows 下生成的 rar/zip/7z等自解压格式文件,在 Linux下却没有相应的程序能打开或解压缩


没搞懂啥子意思?

ubntu:
rar:
sudo apt-get install rar

zip:
自带

7z:

sudo apt-get install p7zip


安装候你试试,能不能压缩、解压这些格式???????


自解压格式 是不是exe的?


页首
 用户资料  
 
14 楼 
 文章标题 : Re: Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2010-12-20 22:43 

注册: 2008-10-08 22:01
帖子: 660
送出感谢: 0 次
接收感谢: 2
我觉得从来没有解压缩的麻烦或者困惑
KDE下ark
gonme下的file-roler
都很不错 直接右键解压就是了
需要这么些个么?
TULK:


_________________
代码:
其实我是个Debian GNU/Linux用户

Octave script :http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=254511
Octave中文:http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=318969


页首
 用户资料  
 
15 楼 
 文章标题 : Re: Linux下打开rar/zip/7z自解压格式文件的技巧
帖子发表于 : 2011-03-18 16:30 

注册: 2011-03-18 16:25
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
careone, delectate,


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 17 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Bing [Bot] 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译