Posted: BBS Tsinghua University Station (Sat Apr 11 19:45:47 1998)
Starting from DOS versions above 3.3 (including version 3.3), the hard disk partitioning function was added. However, due to an oversight by the programmer, there was a vulnerability in a module of IO.SYS. Due to this vulnerability, under certain circumstances, it would cause the computer to fail to boot from both the floppy and hard disks.
In general, this vulnerability is not a big deal. But because a famous domestic anti-virus software company used this vulnerability for so-called copyright protection, it caused some problems. Since it is extremely harmful when neither the floppy nor the hard disk can boot, an approach is introduced to plug this vulnerability while ensuring other functions of DOS still work normally. In other words, the modified DOS can be used the same as normal DOS.
Since this method involves analyzing the DOS kernel assembly code and directly modifying the IO.SYS file, the situation is slightly different for different DOS versions. The following only gives solutions for two typical DOS versions.
1. Modification plan for Western MS-DOS 6.22 version: Use tools like nu, debug, pctools, ultraedit, etc., to find the string (in hexadecimal representation) in the IO.SYS file:
C2 03 06 E8 0A 00 07 72 03
Replace with: C2 03 90 E8 0A 00 72 80 90
Actually, only four bytes are changed. (In fact, this method is also suitable for the Chinese version of MS-DOS 6.22)
2. Modification plan for Western IBM-DOS 3.3 version: Find the string in the file IBMBIO.SYS:
C2 03 E8 2B 00 72 25 E8 2C
Replace with: C2 03 E8 2B 00 72 92 E8 2C
Actually, only one byte is changed.
3. For other DOS versions, similar processing can be done.
After making the above modifications to DOS, the boot failure of DOS is corrected, and the situation where it cannot boot from both the floppy and hard disks will no longer occur (of course, the situation where the hardware of the floppy or hard disk itself is faulty is not included).
Note: 1. This method is different from previous methods. Only the DOS on the system disk needs to be modified as above, and any other modifications are redundant or even harmful.
2. The DOS modified by the above method can be used normally, and there is no need to change it back after use.
As for why this modification is done and why it can correct the boot failure, it is believed that friends who are interested and understand assembly will不难 understand.
!!! Important statement: Introducing this method is purely a technical issue. I have no intention of having any disputes with any company, and it is not aimed at any effective copyright protection measure. If the dissemination of this method leads to the failure of any effective copyright protection method, it is not my intention. I strongly encourage the use of genuine software, especially domestic software.
Starting from DOS versions above 3.3 (including version 3.3), the hard disk partitioning function was added. However, due to an oversight by the programmer, there was a vulnerability in a module of IO.SYS. Due to this vulnerability, under certain circumstances, it would cause the computer to fail to boot from both the floppy and hard disks.
In general, this vulnerability is not a big deal. But because a famous domestic anti-virus software company used this vulnerability for so-called copyright protection, it caused some problems. Since it is extremely harmful when neither the floppy nor the hard disk can boot, an approach is introduced to plug this vulnerability while ensuring other functions of DOS still work normally. In other words, the modified DOS can be used the same as normal DOS.
Since this method involves analyzing the DOS kernel assembly code and directly modifying the IO.SYS file, the situation is slightly different for different DOS versions. The following only gives solutions for two typical DOS versions.
1. Modification plan for Western MS-DOS 6.22 version: Use tools like nu, debug, pctools, ultraedit, etc., to find the string (in hexadecimal representation) in the IO.SYS file:
C2 03 06 E8 0A 00 07 72 03
Replace with: C2 03 90 E8 0A 00 72 80 90
Actually, only four bytes are changed. (In fact, this method is also suitable for the Chinese version of MS-DOS 6.22)
2. Modification plan for Western IBM-DOS 3.3 version: Find the string in the file IBMBIO.SYS:
C2 03 E8 2B 00 72 25 E8 2C
Replace with: C2 03 E8 2B 00 72 92 E8 2C
Actually, only one byte is changed.
3. For other DOS versions, similar processing can be done.
After making the above modifications to DOS, the boot failure of DOS is corrected, and the situation where it cannot boot from both the floppy and hard disks will no longer occur (of course, the situation where the hardware of the floppy or hard disk itself is faulty is not included).
Note: 1. This method is different from previous methods. Only the DOS on the system disk needs to be modified as above, and any other modifications are redundant or even harmful.
2. The DOS modified by the above method can be used normally, and there is no need to change it back after use.
As for why this modification is done and why it can correct the boot failure, it is believed that friends who are interested and understand assembly will不难 understand.
!!! Important statement: Introducing this method is purely a technical issue. I have no intention of having any disputes with any company, and it is not aimed at any effective copyright protection measure. If the dissemination of this method leads to the failure of any effective copyright protection method, it is not my intention. I strongly encourage the use of genuine software, especially domestic software.
ko20010214
=================================
大功告成,打个Kiss!
ko20010214@MSN.com
神州优雅Q300C
Intel CeleronM 370处理器 | 256MbDDR内存
40G硬盘 | USB2.0 | IEEE 1394
13.3 ' WXGA 宽屏(16:10) | COMBO光驱
10/100M网卡 | 四合一读卡器
=================================
大功告成,打个Kiss!
ko20010214@MSN.com
神州优雅Q300C
Intel CeleronM 370处理器 | 256MbDDR内存
40G硬盘 | USB2.0 | IEEE 1394
13.3 ' WXGA 宽屏(16:10) | COMBO光驱
10/100M网卡 | 四合一读卡器

DigestI