自解压原理介绍及制作

您所在的位置:网站首页 winrar的扩展名是什么 自解压原理介绍及制作

自解压原理介绍及制作

2023-12-09 14:35| 来源: 网络整理| 查看: 265

目录

自解压文件:

原理:

自解压文件制作 —— 基于WinRAR:

WinRAR命令行创建自解压文件:

自解压文件制作 —— 基于7z。

自解压文件:

一个 SFX (SelF-eXtracting)自解压文件是压缩文件的一种,因为它可以不用借助任何压缩工具,而只需双击该文件就可以自动执行解压缩,因此叫做自解压文件。同压缩文件相比,自解压的压缩文件体积要大于普通的压缩文件(因为它内置了自解压程序),但它的优点就是可以在没有安装压缩软件的情况下打开压缩文件(文件类型为·exe格式)。

 

原理:

 

sfx文件通常为二进制文件,用作压缩解压软件的自解压程序模板。其实就是一个exe程序,组成格式如上

主要分为三部分:

sfx文件打头,这是一个真正的程序,实现了根据config.txt配置信息解压缩尾部的压缩文件,并执行相应的操作config.txt文件做相关的配置,比如标题,解压缩位置,解压缩之后执行什么样的操作等压缩文件,这里是真正的数据内容

 

自解压文件制作 —— 基于WinRAR:

选中要压缩的文件 -> 右键 -> 添加到压缩文件:

 

勾选创建自解压格式压缩文件。-> 确定:

 

得到test.exe

 

双击exe,弹出解压提示窗,继续即可完成解压:

 

自解压高级设置:

右键 -> 添加到压缩文件 -> 勾选创建自解压格式压缩文件 -> 切换高级页签 -> 点击自解压选项:

这里可以设置解压路径,exe图标,提取后运行文件,是否静默等 高级选项。

例如:将上述文件高级选项设置为:解压路径,提取后运行,静默设置如下图:

生成exe后,双击,可看到,解压出了11文件夹,并自动打开了bbb.txt文档:

右键test.exe,选择用WinRAR打开,查看注释,发现注释中包含自解压命令脚本。—— WinRAR的自解压命令是可以从注释中装载的。

 

WinRAR命令行创建自解压文件:

WinRAR安装后,安装目录有WinRAR.chm帮助文档,里面介绍了命令行参数的调用方式。

以上述文件举例:

命令行写法为:

"C:/Program Files/WinRAR/WinRAR" a aaa.exe aaa bbb.txt -sfx -iiconh:/gg/1.ico -zzhushi.txt

双击aaa.txt,效果与上面GUI操作一致。

注释文件文本如下:

 

自解压文件制作 —— 基于7z。

https://www.7-zip.org/ 下载7Z安装包。安装后,安装目录有对应的帮助文档。7-zip.chm

根据7Z文档中 -sfx 的使用介绍。

7z a -sfx a.exe *.txt 命令可进行文件自解压。

以上述文件为例,命令为 >

"C:/Program Files (x86)/7-Zip/7z" a -sfx7z.sfx aaa.exe aaa bbb.txt

运行可弹出解压提示窗。

但这个命令没办法包含高级命令选项。

如文档所述,高级命令选项需要借助配置文件:

注意其例子中使用的sfx文件为7zSD.sfx,该文件不存在与7z安装目录中,同样的操作方式用安装目录中的7z.sfx操作,不能完成自解压高级命令选项。

要完成该操作,需要下载7zSDK, https://www.7-zip.org/sdk.html

下载后bin\installer 目录中有demo,一个config.txt文件,用于包含高级选项配置,一个cr.bat包含打包命令。

该命令可直接运行。详细可下载文件查看并修改,不再赘述。

打包出的exe,如下:

右键查看详细信息:

全部为7z相关信息。

这个是7z的相关sfx文件自带的。(sfx本质其实就是一个exe,可以按字节偏移解压文件,并按配置文件运行文件。)

所以要修改这个信息,可以用resource_hacker工具,直接打开sfx文件,对其进行相应修改。截图如下:

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3