无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3490|回复: 8
打印 上一主题 下一主题

[自己找到答案了] 修改 XP 的安装程序 setup.exe

[复制链接]
跳转到指定楼层
1#
发表于 2011-2-17 20:10:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如图所示,可以用 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 编辑 ]
2#
 楼主| 发表于 2011-2-17 20:24:52 | 只看该作者
我知道有个叫做 DPs_BASE.exe 的工具可以完成驱动解压的工作。
现在的问题不是我不会用这工具,而是我想弄清楚 DPs_BASE 里的这个冒充 XP 的安装程序 setup.exe 是怎么写出来的。
或者说,我也想学习一下,然后自己也写个与之类似的东东。
望高人不吝赐教!……

回复

使用道具 举报

3#
 楼主| 发表于 2011-2-18 10:43:41 | 只看该作者
问题自己解决了……原来这东西是用汇编语言写的。
随便找了一段汇编代码,复制、粘贴、编译,再将其更名为 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, 下载次数: 86)

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

回复

使用道具 举报

4#
发表于 2011-2-19 15:50:44 | 只看该作者
原来如此。。。。。。。。
回复

使用道具 举报

5#
发表于 2011-2-19 16:19:52 | 只看该作者
请问什么语言算是汇编?
回复

使用道具 举报

6#
发表于 2011-2-19 18:59:48 | 只看该作者
其实,驱动提前解压没什么意义,你完全可以用svcpack、winnt.sif的T13、T9、GUIRunOnce等方式来做,T39方式人为复杂化了——对于现在的电脑能省多少时间?
回复

使用道具 举报

7#
 楼主| 发表于 2011-2-20 13:31:44 | 只看该作者
原帖由 wjgyz740526 于 2011-2-19 18:59 发表
其实,驱动提前解压没什么意义,你完全可以用svcpack、winnt.sif的T13、T9、GUIRunOnce等方式来做,T39方式人为复杂化了——对于现在的电脑能省多少时间?

这个方式比较保险,虽然时间上节省不了,但是能保证系统安装之前驱动程序先解压完毕。
其它方式解压驱动会不会稍微晚了一点?
回复

使用道具 举报

8#
发表于 2011-2-20 20:39:58 | 只看该作者
怎么会呢?我说的那几种方式是需要等待完成才会进行下一步安装的,而你的这种T39方式正好相反是不等待执行的,而且还涉及到一个驱动目录写入注册表的问题——所以,T39方式给我的感觉是既复杂又不保险
回复

使用道具 举报

9#
 楼主| 发表于 2011-2-21 13:09:30 | 只看该作者
T39方式是完全掌握了控制权的。
全部解压完毕以后,再调用原版 setup.exe 开始正式安装。

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

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-28 08:27

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表