无忧启动论坛

标题: [自己找到答案了] 修改 XP 的安装程序 setup.exe [打印本页]

作者: 2011注册    时间: 2011-2-17 20:10
标题: [自己找到答案了] 修改 XP 的安装程序 setup.exe
如图所示,可以用 7-zip 打开 Windows XP sp3 的安装程序 setup.exe
这个 setup.exe 可以从 I386 目录里的 setup.ex_ 解压得到
或者直接复制 C:\WINDOWS\system32\setup.exe 的也行。

现在,我想对它进行一番修改,以完成我的如下目的:
   1、解压我需要的驱动包;
   2、然后执行 setup.exe -newsetup 正式安装;
   3、最后清理已解压的驱动目录

可是,我不知道这个 setup.exe 是用什么工具打包的,
虽然 7-zip 里可以看到几个文件,但是解压以后又不知道该用什么工具修改它。



没办法,只好用 AU3 写了个小程序准备在解压完驱动之后调用原版 setup.exe 以完成第2步。
可是,麻烦出来了,这个AU3程序根本无法执行,错误提示如下图。



我想,我的AU3程序是运行在Windows系统里的,
可是实际上这个Windows系统只完成了文本复制阶段,至于图形界面的安装阶段还没开始。
因此,这个Windows系统应该是不健全的,从而导致AU3程序不能运行。

特此求教解决方法,虽然编写批处理文件可以完成我的任务,但是有个DOS黑框很难看。
所以,还是想编写 exe 文件,或者是修改 setup.exe

[ 本帖最后由 2011注册 于 2011-2-18 10:44 编辑 ]
作者: 2011注册    时间: 2011-2-17 20:24
我知道有个叫做 DPs_BASE.exe 的工具可以完成驱动解压的工作。
现在的问题不是我不会用这工具,而是我想弄清楚 DPs_BASE 里的这个冒充 XP 的安装程序 setup.exe 是怎么写出来的。
或者说,我也想学习一下,然后自己也写个与之类似的东东。
望高人不吝赐教!……


作者: 2011注册    时间: 2011-2-18 10:43
问题自己解决了……原来这东西是用汇编语言写的。
随便找了一段汇编代码,复制、粘贴、编译,再将其更名为 setup.exe
再将此 setup.exe 用 makecab.exe 压缩成 setup.ex_
最后将 setup.ex_ 放入 I386 文件夹里替换掉原版 setup.ex_
完成之后开启虚拟机安装操作系统……在图形安装界面刚刚启动之后就看到如下截图一了。

没错,Windows XP 系统的安装程序 setup.exe 正是用汇编语言所写!
而我编译出的冒牌 setup.exe 也可以用 7-zip 来打开,截图如附件二。
与1楼里原版 setup.exe 比较一下,差不多,都是用小数点打头的文件夹或者文件。

用汇编写的 EXE 文件与用 AU3 写的 EXE 文件到底有多大差别?
这里与一楼的截图对比一下就可以看出差别之一为:
      用 AU3 写的 EXE 文件根本就不能执行,连错误提示都是乱码。
      用汇编而成的 EXE 文件可以正常执行。

[ 本帖最后由 2011注册 于 2011-2-18 10:52 编辑 ]

2011-02-18_102008.gif (20.08 KB, 下载次数: 87)

2011-02-18_102008.gif

2011-02-18_102137.gif (12.07 KB, 下载次数: 91)

2011-02-18_102137.gif

setup.7z

569 Bytes, 下载次数: 42, 下载积分: 无忧币 -2


作者: zhhsh    时间: 2011-2-19 15:50
原来如此。。。。。。。。
作者: haijie1223    时间: 2011-2-19 16:19
请问什么语言算是汇编?
作者: wjgyz740526    时间: 2011-2-19 18:59
其实,驱动提前解压没什么意义,你完全可以用svcpack、winnt.sif的T13、T9、GUIRunOnce等方式来做,T39方式人为复杂化了——对于现在的电脑能省多少时间?
作者: 2011注册    时间: 2011-2-20 13:31
原帖由 wjgyz740526 于 2011-2-19 18:59 发表
其实,驱动提前解压没什么意义,你完全可以用svcpack、winnt.sif的T13、T9、GUIRunOnce等方式来做,T39方式人为复杂化了——对于现在的电脑能省多少时间?

这个方式比较保险,虽然时间上节省不了,但是能保证系统安装之前驱动程序先解压完毕。
其它方式解压驱动会不会稍微晚了一点?
作者: wjgyz740526    时间: 2011-2-20 20:39
怎么会呢?我说的那几种方式是需要等待完成才会进行下一步安装的,而你的这种T39方式正好相反是不等待执行的,而且还涉及到一个驱动目录写入注册表的问题——所以,T39方式给我的感觉是既复杂又不保险
作者: 2011注册    时间: 2011-2-21 13:09
T39方式是完全掌握了控制权的。
全部解压完毕以后,再调用原版 setup.exe 开始正式安装。

不仅如此,在 setup.exe 安装结束想要重新启动电脑之前,
还可以进行扫尾工作,或者此时稍微修改一下设置(移动收藏夹、桌面什么的到D盘)
一切完毕之后,再重启电脑……




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3