|
|
HDDReg 1.71主要有3个文件:cd、dsck.tr、hddreg.exe,大家都知道直接将这3个文件放到其它DOS工具箱的IMG中,hddreg.exe是不能运行的,会出现“Incorrect Diskette”的错误提示,这是因为原作者限制了hddreg.exe只能在官方原版的IMG中运行。前段时间发现Hiren’s BootCD里也带有HDDReg 1.71,而且居然能正常运行,于是研究了一下,终于知道怎么把hddreg.exe移植到任意IMG中,下面就是方法。
hddreg.exe主要检测如下两个条件是否满足(所有数字均为16进制):
1、IMG的序列号是否为6F 14 06 1E
(这个值怎么得到的?懂汇编的可以用IDA反一下hddreg.exe,在main()函数里就可以看到了)
2、dsck.tr文件从文件偏移23423开始后的200字节是否和IMG的引导扇区完全相等
(这个又是怎么知道的?通过对比Hiren’s BootCD里的dsck.tr和原版的dsck.tr知道的)
只要有1个条件不满足,就会出现“Incorrect Diskette”的错误提示
知道了原理,操作起来就简单了,以移植HDDReg 1.71到MaxDOS 8中为例:
1、修改IMG的序列号为6F 14 06 1E
IMG文件的前200字节为引导扇区,而引导扇区偏移27的地方即为IMG的序列号,因此用WinHex打开MaxDOS.IMG,按Alt+G,输入27,点OK,输入6F 14 06 1E,按Ctrl+S保存即可,保存时出现的提示一律点Yes,保存好后不用关闭WinHex,下面还要用到
2、将IMG的引导扇区复制到dsck.tr文件偏移23423处
用鼠标选中MaxDOS.IMG的前200字节,在WinHex状态栏的最右边显示有当前选中大小:
按Ctrl+C复制,然后用WinHex打开dsck.tr文件,按Atl+G,输入23423,点OK,按Ctrl+B粘贴,出现提示点OK,然后按Ctrl+S保存即可,保存时出现的提示一律点Yes
3、现在把修改好的dsck.tr,连同cd、hddreg.exe放入MaxDOS.IMG中,hddreg.exe就能正常运行了。
最后说明一下,hddreg.exe本身不能在A盘中运行,需要复制到RamDisk中运行。修改好IMG文件后不要再调整IMG文件大小或者修改IMG引导扇区,否则要重新修改一次IMG和dsck.tr。
StarsunYzL原创,转载请注明来源:http://www.sunyzl.cn/?p=263
[ 本帖最后由 StarsunYzL 于 2010-4-6 16:34 编辑 ] |
|