最近听说了一个叫bootflashdos的工具能直接从xp/2003的diskcopy.dll中提取dos 8.0,来制作启动盘,比较有意思,我稍微研究了一下xp和vista的diskcopy.dll,发现里面还真有些秘密的东东。
先来看xp的diskcopy.dll,把它拖入winimage,可以识别出一个1.44MB的软盘镜像,内容就是xp的dos启动盘中的文件,保存这个镜像。用winhex打开,并选择"解释镜像为磁盘",可以看到里面除了可见的文件外,还能看见有许多删除或覆盖的文件,其中前面有问号的是能恢复文件,叉号的是已被覆盖的文件。
恢复这些文件,可以看出这张启动盘就是在原来winme启动盘基础上修改而来的,其中还能见到修改前的io.sys和command.com的身影,以及ms-dos 8.0中被去掉的himem.sys。具体还可以看这个链接,里面有更详细的分析:
http://mirror.href.com/thestarman/winxp/winxpsd.htm
我又看了一下vista的diskcopy.dll,发现winimage不能直接打开,但用winhex能很容易得找出其中的ms-dos 8.0软盘镜像,保存后用winhex打开,发现里面的dos文件又被更新了,而且包含了更多的删除覆盖文件,除了一些原有的winme启动盘文件外,还多了几个2005年的文件,估计这些就是在winvista开发时制作的,打开?eame.txt(就是readme.txt)内容如下:
DOS Boot Disk Readme
======================
May 25, 2001
Aidan Low (aidanl@microsoft.com)
This directory contains the files that make up the DOS boot disk on whistler.
06/08/2000 05:00 PM 58,870 EGA2.CPI
06/08/2000 05:00 PM 58,753 EGA3.CPI
06/08/2000 05:00 PM 58,870 EGA.CPI
06/08/2000 05:00 PM 21,607 KEYB.COM
06/08/2000 05:00 PM 34,566 KEYBOARD.SYS
06/08/2000 05:00 PM 31,942 KEYBRD2.SYS
06/08/2000 05:00 PM 31,633 KEYBRD3.SYS
06/08/2000 05:00 PM 13,014 KEYBRD4.SYS
06/08/2000 05:00 PM 29,239 MODE.COM
06/08/2000 05:00 PM 93,040 COMMAND.COM
06/08/2000 05:00 PM 17,175 DISPLAY.SYS
04/07/2001 01:40 PM 9 MSDOS.SYS <-- should be system, readonly, hidden when copied to the floppy
05/15/2001 06:57 PM 116,736 IO.SYS <-- should be system, readonly, hidden when copied to the floppy
To prepare the disk image for the DOS boot disk, create a system disk on a Win9X Machine so that the boot sector is created properly.
Then copy these files over, setting the appropriate attributes. (the attributes are called out in the list above)
Finally, use the imgtool.exe tool to create a disk image from the floppy. Typically this will be something like
imgtool.exe \\.\a: c:\myimage.bin
======================
其中竟然讲的是2001年5月时winxp中dos 8.0启动盘的制作过程,而不是vista中得启动盘,制作人是Aidan Low。里面用到的imgtool.exe在vista的dos 8.0启动盘中也可以恢复。
Last edited by fujianabc on 2008-4-19 at 09:13 PM ]
Recently, I heard about a tool called bootflashdos that can directly extract DOS 8.0 from xp/2003's diskcopy.dll to make a bootable disk, which is quite interesting. I took a little look at the diskcopy.dll of xp and vista, and really found some secret stuff in them.
First, take the xp's diskcopy.dll. Drag it into winimage, and it can identify a 1.44MB floppy disk image, and the content is the files in the xp's DOS boot disk. Save this image. Open it with winhex and select "Interpret image as disk", and you can see that besides the visible files, there are many deleted or overwritten files. Among them, the ones with question marks in front are recoverable files, and the ones with crosses are overwritten files.
Recovering these files, it can be seen that this boot disk is modified based on the original winme boot disk. Also, you can see the figures of io.sys and command.com before modification, as well as himem.sys which was removed in ms-dos 8.0. You can specifically refer to this link for more detailed analysis:
http://mirror.href.com/thestarman/winxp/winxpsd.htm
I also had a look at the vista's diskcopy.dll. I found that winimage can't directly open it, but it's very easy to find the ms-dos 8.0 floppy disk image in it with winhex. After saving it, open it with winhex, and find that the DOS files in it are updated again, and there are more deleted and overwritten files. Besides some original winme boot disk files, there are several files from 2005 added. It's estimated that these are made during the development of winvista. Open?eame.txt (which is readme.txt), and the content is as follows:
DOS Boot Disk Readme
======================
May 25, 2001
Aidan Low (aidanl@microsoft.com)
This directory contains the files that make up the DOS boot disk on whistler.
06/08/2000 05:00 PM 58,870 EGA2.CPI
06/08/2000 05:00 PM 58,753 EGA3.CPI
06/08/2000 05:00 PM 58,870 EGA.CPI
06/08/2000 05:00 PM 21,607 KEYB.COM
06/08/2000 05:00 PM 34,566 KEYBOARD.SYS
06/08/2000 05:00 PM 31,942 KEYBRD2.SYS
06/08/2000 05:00 PM 31,633 KEYBRD3.SYS
06/08/2000 05:00 PM 13,014 KEYBRD4.SYS
06/08/2000 05:00 PM 29,239 MODE.COM
06/08/2000 05:00 PM 93,040 COMMAND.COM
06/08/2000 05:00 PM 17,175 DISPLAY.SYS
04/07/2001 01:40 PM 9 MSDOS.SYS <-- should be system, readonly, hidden when copied to the floppy
05/15/2001 06:57 PM 116,736 IO.SYS <-- should be system, readonly, hidden when copied to the floppy
To prepare the disk image for the DOS boot disk, create a system disk on a Win9X Machine so that the boot sector is created properly.
Then copy these files over, setting the appropriate attributes. (the attributes are called out in the list above)
Finally, use the imgtool.exe tool to create a disk image from the floppy. Typically this will be something like
imgtool.exe \\.\a: c:\myimage.bin
======================
Actually, it's talking about the production process of the DOS 8.0 boot disk in winxp in May 2001, not the boot disk in vista. The producer is Aidan Low. The imgtool.exe used in it can also be recovered in the DOS 8.0 boot disk of vista.
Last edited by fujianabc on 2008-4-19 at 09:13 PM ]