驱动driver自解压静默安装-运用7-zip自解压技术

一.工具下载与名词解释

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

UPX (the Ultimate Packer for eXecutables)是一款先进的可执行程序文件压缩器,压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过 UPX 压缩过的程序和程序库完全没有功能损失和压缩之前一样可正常地运行,对于支持的大多数格式没有运行时间或内存的不利后果。 UPX 支持许多不同的可执行文件格式 包含 Windows 95/98/ME/NT/2000/XP/CE 程序和动态链接库、DOS 程序、 Linux 可执行文件和核心。

7z SFX Archives splitter用于逆向分析,能够分离自解压文件,三个文件:自释放模块.sfx、安装程序配置.txt、7z 压缩档案.7z。

自解压工具很多,偏爱7z,强大而又免费。

2.官网下载7-zip:http://www.7-zip.org/ 中文:http://sparanoid.com/lab/7z/

3.7-ZIP SFX Maker(7-ZIP高级自解压生成工具):https://sourceforge.net/projects/sfx-maker/ ,http://www.softpedia.com/get/Compression-tools/7-ZIP-SFX-Maker.shtml

4.UPX 下载官网:http://upx.sourceforge.net/#downloadupx

5.自解压文档分离器:7z自解压文档分离器汉化版(7z SFX Archives splitter):http://download.csdn.net/detail/greless/9804981 

6.SFX:通常在压缩解压软件的安装目录下会有几个扩展名为sfx的文件,这些文件通常为二进制文件,用作压缩解压软件的自解压程序模板。

二、自解压技术相关流程

1.7-Zip的自解压文件制作功能

-sfx (创建自释放档案) 选项

功能:创建自释放档案。

语法

-sfx[{SFX_Module}]

{SFX_Module}

指定将被添加到压缩档案的自释放(SFX)模块。然而被指定的模块必须和 7z.exe 文件在同一目录。如果 {SFX_Module} 未指定,7-Zip 将使用命令行自释放模块 7zCon.sfx。
SFX_Module
说明

7zC.sfx
                      Windows 版本

7zCon.sfx
                   命令行(DOS)版本

7zS.sfx
                   Windows 安装版本

7zSD.sfx
                 Windows 安装版本(需调用 MSVCRT.dll)

    除 7zC.sfx 之外,大多数的自释放模块都是未压缩的。您可以使用 UPX 程序 (http://upx.sourceforge.net) 来压缩这些模块。在使用 UPX 程序压缩之后,自释放模块的大小将比压缩之前减小 40-50%。

2.自释放安装模块

    自释放安装模块(7zS.sfx 和 7zSD.sfx)可让您创建软件的安装程序。这类模块将释放文件到一临时文件夹,然后运行指定的程序来进行安装。安装之后再自动删除临时文件。要创建自释放档案必须有三个文件:自释放模块.sfx、安装程序配置.txt、7z 压缩档案.7z。其中安装程序配置文件是可选的。您可以使用下列命令来创建安装程序:

copy /b 7zS.sfx + config.txt + archive.7z archive.exe

    请注意上述文件的输入顺序:*.sfx、*.txt、*.7z。最后的 archive.exe 即为生成的安装程序。

    选项 -y 使用在自释放安装模块中可设置释放时是否为安静模式。

3.安装程序配置文件格式

    配置文件包括安装程序的命令行。文件要以字串 ;!@Install@!UTF-8! 开头,以 ;!@InstallEnd@! 结尾。且文件必须使用 UTF-8 编码。文件中还需包含下列变量:

    ID_String="Value"
ID_String 

Title
——————对话框信息标题。

BeginPrompt
——————安装前提示信息。

RunProgram
——————欲执行命令。若添加子命令 %%T 则会把文件释放到系统的临时目录。

    您可以省略上述任何一部分。

4.配置文件示例

;!@Install@!UTF-8!

Title="7-Zip 1.00"

BeginPrompt="应用程序将安装 7-Zip 1.00,是否继续?"

RunProgram="Setup.exe /T:%%T"

;!@InstallEnd@!

    程序将以 BeginPrompt 中的信息提示用户,再执行 RunProgram 中的命令。然后程序将使用 .inf 文件的内容并调用压缩包中的 advpack.dll 文件进行安装。

示例

7z a -sfx a.exe *.txt

添加 *.txt 文件到自释放档案 a.exe 并使用默认的命令行自释放模块。

7z a -sfx7zC.sfx a.exe * -r

添加所有文件到自释放档案 a.exe 并使用 7zC.sfx Windows 版本的自释放模块。

可以和此选项结合使用的命令

a (添加), d (删除), u (更新)

三.sfx文件定制

7z工具自带几个SFX文件,我们需要定制的,这里要用到7-ZIP高级自解压生成工具 7-ZIP SFX Maker和upx,官方工具,不像网上其他工具做出来有病毒报错等,根本不敢用于公司产品。

1.安装后管理员模式运行,不然报错。

注:安装完后不能修改图标,下载ResHacker.exe(保证文件名ResHacker.exe)并放入C:\Program Files (x86)\7-Zip SFX Maker\Resources 目录下,即可修改或定制图片了。

2.make SFX 生成文件为win32_15.40.17.4377.sfx.exe,这就是自解压文件

3.upx 提取自解压模块setup.sfx文件

 upx win32_15.40.17.4377.sfx.exe -osetup.sfx --overlay=strip

如果自解压文件有用UPX压缩过,则要加参数“-d”

upx win32_15.40.17.4377.sfx.exe -d -osetup.sfx --overlay=strip

4.这时候得到setup.sfx的模块就可以批量制作了

四.自释放安装模块SFX制作exe自解压文件

1.win32_15.40.17.4377文件如下压缩为.7Z格式,如果报错7zip:Unsupported method,请修改压缩方法LZMA

2.cmd下运行copy /b setup.sfx + config.txt + win32_10.18.15.4277.7z setup.exe

config.txt文件如下:

;!@Install@!UTF-8!
RunProgram="win32_15.40.17.4377\Setup.exe   "
;!@InstallEnd@!

3.setup.exe 是生成的文件名。覆盖原驱动包内的setup.exe,自解压会自动定位到setup.exe,直接点击setup.exe 情况如图。

 ---------------> 


4.那么win32_15.40.17.4377这个驱动静默安装可以为Setup.exe -overwrite -s

QA




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值