Windows 更新程序重新封装指南-详细图解
思路是这样的:
1、用WinHex编辑一个更新程序,删除文件 MSCF 之后的所有内容,保存 -> cab.SFX;
2、make cab压缩你需要的文件 -> files.cab;
3、用命令行合并文件 -> files.exe
copy /b cab.sfx+files.cab files.exe
4、用WinHex编辑得到的files.exe,找到你要运行的程序,例如 setup.exe ,在 setup.exe 之前会有一个 20 00 的标记,改成60 00,然后保存运行即可。
来源于 早上向请教时他翻译过来的。
2008年4月20日
补充一点比较重要的信息:
修改后的update.inf,直接用update.exe安装会出错,需要破解update.exe来安装修改过的update.inf才行。也就是破解update.exe检测文件的完整性。方法如下:
update.exe版本号是6.2.29.0 破解方法:
用WinHex打开update.exe找到Offset地址 00049823 把74 A8 改为 90 90
update.exe版本号是6.3.4.1破解方法:用WinHex打开update.exe找到Offset地址 0004C317 把74 A6 改为 90 90
以我打包IE7安装程序为例,下面是图解:
1、用WinHex 编辑一个Windows的更新程序,利用查找功能,找到 MSCF 标记;

2、删除从 MSCF 开始,直到文件结束的所有内容,另存为 -> cab.SFX;




确认SFX文件大小是否一致: 
3、用准备好的WMZ_IE7.cab文件
用命令行合并文件 -> WMZ_IE7.exe:
copy /b cab.sfx+WMZ_IE7.cab WMZ_IE7.exe
另外,也可以用 WinHex 打开需要转换的cab文件,将所有数据粘贴在sfx末尾,保存后直接生成 WMZ_IE7.exe。这样麻烦一点。


4、关键部分!最后用 WinHex 编辑生成的 WMZ_IE7.exe,找到你需要在解压完文件后运行的程序,例如 update\\setup.exe 。在 update\\setup.exe 之前会有一个 20 00 的标记,改成 60 00,然后保即可。

文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面