查看文章
 
Windows 更新程序重新封装指南
2008-10-31 23:04

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,然后保存运行即可。
来源于http://www.msfn.org/board/SFXCABEXE-t44639.html 早上向小三请教时他翻译过来的。
以我打包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,然后保即可。

1. MSCF 有3个 , 从 9800删除到最后便是.
如果只找第一个 MSCF ,只得出错误的 18kb 文件.

2. \update\update.exe 我做的是繁体版, 看来前面是 01 改 60 , 而非 20 改 60.
如果只找\update\update.exe 前面有 20 ,会找到 \update\update.exe.manifest 而出错.

3. 最后便是 update.inf 的修改啰.

update.inf 直接用楼主的文件转码来使用.
1. 修改 zh-cn ->   zh-tw
2.0804 ->   0404
3.提取相关补丁文件
4.修改;KB947864;KB938127;KB933873相关参数 如下
hklm,"SOFTWARE\Microsoft\Updates\Windows XP\SP0\KB933873-IE7\Filelist\0","BuildCheckSum",,"87f10"
hklm,"SOFTWARE\Microsoft\Updates\Windows XP\SP0\KB933873-IE7\Filelist\0","BuildDate",,"Sat Mar 10 09:50:37 2007"
hklm,"SOFTWARE\Microsoft\Updates\Windows XP\SP0\KB933873-IE7\Filelist\0","FileName",,"jscript.dll"
hklm,"SOFTWARE\Microsoft\Updates\Windows XP\SP0\KB933873-IE7\Filelist\0","Version",,"5.7.0.20550"

5. 仍出现下列错误, 请问还要注意什么地方?

[ 本帖最后由 ericlai 于 2008-4-15 16:44 编辑 ]

附件

tt.jpg (44.5 KB)

2008-4-13 10:10

tt.jpg

6000应该是MS CAB作为自解压时运行文件的一个特定标识符,每个文件前面都有2000的标记

引用:
原帖由 zhfi 于 2008-4-13 12:26 发表
2000与语言版本无关,这是特定标识符。

可是我确实找到的是 01 , 而非 20.
inf 也完成啦.

UPDATE 内,直接 COPY   简体程序替代繁体使用,居然一次便OK啦.
目前只有安装时出现简体画面,其他可算成功啦.

安装程序使用原版简体程序替代繁体是不能成功的.
因此得破解UPDATE.EXE 程序才行.
另外便是 UPDATE.INF 得修改为可由 UPDATE.EXE 运行才可以.

UPDATE.EXE 要修改49820: 00 85 C0 74 A8 两位元为 90 90 成啦. 哈哈!!!

一般而言 IE7 原版14 MB , 整合包约 10MB .

此种方式为 13MB , 若加入 SVCPACK 静默整合.
则可拥有完整移除之功能

引用:
原帖由 ericlai 于 2008-4-13 12:44 发表


可是我确实找到的是 01 , 而非 20.
inf 也完成啦.

UPDATE 内,直接 COPY   简体程序替代繁体使用,居然一次便OK啦.
目前只有安装时出现简体画面,其他可算成功啦.

安装程序使用原版简体程序替代繁体是不能成 ...

:L IE7的这个update.exe 确实是经过破解滴,忘记把这段话加入了。呵呵
你已经搞定了破解是吗?

引用:
原帖由 bida 于 2008-4-13 20:06 发表


:L IE7的这个update.exe 确实是经过破解滴,忘记把这段话加入了。呵呵
你已经搞定了破解是吗?

:$   全数理解了, 顺便做了 IE8 BETA1. ;P

你如果把update\iesetup.exe那个默认打勾(更新)那个选择框去掉的话,安装界面更佳好看。

引用:
原帖由 bida 于 2008-4-13 22:18 发表
嘿嘿,不错!
加分鼓励一下!

你如果把update\iesetup.exe那个默认打勾(更新)那个选择框去掉的话,安装界面更佳好看。

IE8 BETA1   的   update\iesetup.exe   我删除了, 没有必要使用到. (已测试无误)
和 IE7 破解作法相同. 因此 IE7 的 IESETUP.EXE 应该也能删除. ( 未测试)

但是我将来会做静默安装,置于 \SVCPACK 之下.

原帖由 ericlai 于 2008-4-13 22:26 发表


IE8 BETA1   的   update\iesetup.exe   我删除了, 没有必要使用到. (已测试无误)
和 IE7 破解作法相同. 因此 IE7 的 IESETUP.EXE 应该也能删除. ( 未测试)

但是我将来会做静默安装,置于 \SVCPACK 之下.

这样打包的IE7可以支持于 /quiet /passive /norestart 。。。。那些参数的。

运行iesetup.exe   会去检测update.exe的完整性。 因为修改了update.exe所以iesetup.exe 可以不要它了。

你可以解压一个KB补丁 进入到update\目录下
修改一下update.inf,然后再运行update.exe,结果出错。
所以要把update.exe破解

原帖由 bida 于 2008-4-15 23:06 发表
你可以解压一个KB补丁 进入到update\目录下
修改一下update.inf,然后再运行update.exe,结果出错。
所以要把update.exe破解。
方法在11楼。

那是因为效验码不对,改为正确的就可以了!


类别:软件| |分享到i贴吧|浏览(434)|评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
     

   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu