安装程序 Repack 攻略 之 CAB 篇

某些情况下我们需要对软件的安装程序包进行修改,替换其中的部分文件,也就是所谓 Repack。

本文讨论采用.CAB压缩包的安装程序的拆解打包,主要是搜集工具,使用方法除了Install Shield的高版本描述稍多外,其他均为图形界面程序,所以描述相对简略,也没有截图(主要是因为我比较懒*^_^*)。

以下内容均系本人日常实践(Repack过的软件有Symantec Ghost 7.5 中文版、Dr.eye 2005 专业版、智能狂拼III.3 专业版等),草草归纳,不当之处,敬请指正。

CAB 格式分类
·LZCAB 采用LZX编码压缩的CAB包,一般见于 Freeware
·MSCAB 微软格式的CAB包,常见于微软的程序,Symantec Ghost 7.5 安装程序也采用此格式。
·ISCAB InstallShield制作的安装包中使用,特征是同时存在一个.hdr文件



LZCAB 拆解
·解压
使用WinRAR即可解压
·压缩
使用CabPack打包,Compression Options选择 LZX



MSCAB 拆解
·解压
使用WinRAR即可解压
·压缩
使用CabPack打包,Compression Options选择 MSZIP



ISCAB 拆解
InstallShield 的数据包一般格式为 data1.cab,同时有一个 data1.hdr,用于描述文件分组定义,如果文件较多,还会存在一个 data2.cab ,实际上是分卷压缩包。

ISCAB 6.0 以下的版本可以使用 ZIPSCAN 解压,也可以使用 WinPack 进行文件的提取和替换、添加。

高版本的 ISCAB 可使用 InstallShield 中提供的命令行工具进行操作,以InstallShield X为例,安装InstallShield X后,从安装目录下的./system中提取以下文件:
代码 (双击代码复制到粘贴板)
ISCAB.exe
ISTools.dll
MediaBuild40.dll(MediaUI.dll)

之后可以脱离 InstallShield 运行。

* 为省去安装 InstallShield 的麻烦,我已将提取的文件打包为 iscabX.zip 作为附件上传。

·首先要提取安装包结构信息,使用命令行

ISCAB data1.cab -lx -iCAB.INI

将信息输出到 CAB.INI 文件,大致如以下的格式:
代码 (双击代码复制到粘贴板)
[ISCAB Info]
Product=ISCAB
Version=2.0

[Dat Files]
File1="Setup.dll"
...

·如果要从包中移除某些文件或者替换文件(也要先移除,然后再重新加入),应编辑导出的 CAB.INI 文件,仅保留头部描述段([ISCAB Info])和要移除的文件描述(注意,文件所在的组描述应保留,如 [Dat Files]),将编辑后的文件另存为 DEL.INI,使用命令行

ISCAB data1.cab -r -iDEL.INI


·如果要向包中添加文件,应将相应文件放置在当前目录下,同时和 data1.cab 同目录下的 setup.inx,setup.ini 等文件都必须存在。编辑导出的 CAB.INI 文件,仅保留头部描述段([ISCAB Info])和要加入的文件描述(注意,文件所在的组描述应保留,如 [Dat Files]),将编辑后的文件另存为 ADD.INI,使用命令行

ISCAB data1.cab -a -iADD.INI


好了,安装文件打包完成了,就像“原装”的一样,简单吧?
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值