CM's questions, answered (Miscellaneous)
Moving the technical questions to this thread
CM asked :
1 > How do you find the DOS code segment?
There are more than one roads. I try to choose the quickest yet secure one.
Here's my pick. Once we've asserted we are under a true MSWinDOS 7/8, as discussed in earlier exchanges :
- Case DOS 8 (checked the version of IO.SYS for floppies, since the regular one does not even process a Config.Sys hence is of no relevance) : easiest, DOSCode = FFFFh. Seems to be hardwired, HiMem is built-into IO.SYS and DOS is always loaded in the HMA (DOS=LOW has no effect).
Amusingly Microsoft seems to ignore this fact and includes a copy of HIMEM.SYS on their boot disquettes, which is just wasting space (unless you want to give HIMEM extra parameters, you may delete it).
- Case DOS 7.x : peek into DOSData, there is a table of 8 far pointers used by DOS to jump to the actual internal interrupt entries in its main code segment, whether in HMA or not.
Any one will do, they should all have the desired segment number - of particular interest may be the pointer to int 27 code, at DATA:0F8E, because that one points very near the Magic TEST Instruction, that could provide a double/triple checking if we wanted.
2 > How do you locate the instruction that has to be patched?
Search for the MTI and a few bytes of context. Actually the MTI alone appears to be unique in the CodeSeg, adding some context will render us quieter. And we could add more checks like the proximity to the int 27 entry per the above, or check vs. the offsets we found by manual examination of various versions of IO.SYS. The MTI should not wander too far away from its expected location, even allowing for internal revisions, QFEs and the like. Not all these checks will be needed I think.
3 > If you release the program (hopefully generally including the source), could you document the DOS data segment items that you found to be used by MS-DOS? I'm just interested.
I think I will provide the source code per request rather than make it downloadable anonymously. I'll try to make the comments readable and useful before that happens.
Cheers
---
Ninho
Complete thread:
- new HACKWRAP fix for MS-DOS7+, aka smashing the bug - Ninho, 11.12.2009, 00:17 (Miscellaneous)
- new HACKWRAP fix for MS-DOS7+, aka smashing the bug - ecm, 11.12.2009, 15:02
- new *FIXWRAP* for MS-DOS7+, aka smashing the bug - Ninho, 12.12.2009, 01:12
- FIXWRAP technical thread. News - Ninho, 12.12.2009, 16:05
- CM's questions, answered - Ninho, 12.12.2009, 18:22
- CM's questions, answered - ecm, 12.12.2009, 22:40
- CM's questions, answered - Ninho, 13.12.2009, 00:10
- CM's questions, answered - ecm, 13.12.2009, 00:51
- CM's questions, answered - Ninho, 13.12.2009, 10:32
- CM's questions, answered - ecm, 13.12.2009, 00:51
- CM's questions, answered - Ninho, 13.12.2009, 00:10
- CM's questions, answered - geoffchappell, 14.12.2009, 10:42
- CM's questions, answered - Ninho, 14.12.2009, 12:19
- CM's questions, answered - ecm, 12.12.2009, 22:40
- CM's questions, answered - Ninho, 12.12.2009, 18:22
- new HACKWRAP fix for MS-DOS7+, aka smashing the bug - geoffchappell, 14.12.2009, 10:41
- new HACKWRAP fix for MS-DOS7+, aka smashing the bug - Ninho, 14.12.2009, 11:49
- new HACKWRAP fix for MS-DOS7+, aka smashing the bug - geoffchappell, 15.12.2009, 16:55
- new HACKWRAP fix for MS-DOS7+, aka smashing the bug - Ninho, 15.12.2009, 19:08
- new HACKWRAP fix for MS-DOS7+, aka smashing the bug - Ninho, 17.12.2009, 16:35
- new HACKWRAP fix for MS-DOS7+, aka smashing the bug - geoffchappell, 15.12.2009, 16:55
- new HACKWRAP fix for MS-DOS7+, aka smashing the bug - Ninho, 14.12.2009, 11:49
- the DOS code segment hunt, results/questions - Ninho, 14.12.2009, 20:37
- the DOS code segment hunt, results/questions - ecm, 14.12.2009, 23:30
- the DOS code segment hunt, results/questions - Ninho, 15.12.2009, 00:59
- Aha! Share was a *red herring* ! Hunt over !!! - Ninho, 15.12.2009, 10:32
- Aha! Share was a *red herring* ! Hunt over !!! - ecm, 15.12.2009, 21:13
- Aha! Share was a *red herring* ! Hunt over !!! - Ninho, 15.12.2009, 22:32
- Aha! Share was a *red herring* ! Hunt over !!! - ecm, 15.12.2009, 23:05
- Aha! Share was a *red herring* ! Hunt over !!! - Ninho, 15.12.2009, 22:32
- Aha! Share was a *red herring* ! Hunt over !!! - ecm, 15.12.2009, 21:13
- the DOS code segment hunt, results/questions - geoffchappell, 15.12.2009, 16:56
- the DOS code segment hunt, results/questions - ecm, 15.12.2009, 21:19
- the DOS code segment hunt, results/questions - Ninho, 15.12.2009, 22:38
- the DOS code segment hunt, results/questions - ecm, 15.12.2009, 23:06
- the DOS code segment hunt, results/questions - Ninho, 16.12.2009, 09:22
- the DOS code segment hunt, results/questions - ecm, 15.12.2009, 23:06
- the DOS code segment hunt, results/questions - Ninho, 15.12.2009, 22:38
- the DOS code segment hunt, results/questions - Ninho, 16.12.2009, 20:24
- the DOS code segment hunt, results/questions - Ninho, 30.12.2009, 10:50
- the DOS code segment hunt, results/questions - ecm, 15.12.2009, 21:19
- the algorithm, sketched for review. Nitpicks ? - Ninho, 16.12.2009, 19:51
- the algorithm, sketched for review. Nitpicks ? - ecm, 17.12.2009, 16:19
- the algorithm, sketched for review. Nitpicks ? - Ninho, 17.12.2009, 17:14
- the algorithm, sketched for review. Nitpicks ? - ecm, 17.12.2009, 20:32
- the algorithm, sketched for review. Nitpicks ? - Ninho, 17.12.2009, 21:05
- the algorithm, sketched for review. Nitpicks ? - ecm, 17.12.2009, 21:13
- the algorithm, sketched for review. Nitpicks ? - Ninho, 17.12.2009, 23:16
- digression : MSDOS 7 and SHARE.EXE revisited - Ninho, 18.12.2009, 13:04
- digression : MSDOS 7 and SHARE.EXE revisited - ecm, 18.12.2009, 14:31
- digression : MSDOS 7 and SHARE.EXE revisited - Ninho, 18.12.2009, 17:19
- digression : MSDOS 7 and SHARE.EXE revisited - ecm, 18.12.2009, 18:19
- digression : MSDOS 7 and SHARE.EXE revisited - Ninho, 18.12.2009, 18:55
- digression : MSDOS 7 and SHARE.EXE revisited - ecm, 18.12.2009, 18:19
- digression : MSDOS 7 and SHARE.EXE revisited - Ninho, 18.12.2009, 17:19
- digression : MSDOS 7 and SHARE.EXE revisited - ecm, 18.12.2009, 14:31
- the algorithm, sketched for review. Nitpicks ? - ecm, 17.12.2009, 21:13
- the algorithm, sketched for review. Nitpicks ? - Ninho, 17.12.2009, 21:05
- the algorithm, sketched for review. Nitpicks ? - ecm, 17.12.2009, 20:32
- the algorithm, sketched for review. Nitpicks ? - Ninho, 17.12.2009, 17:14
- the algorithm, sketched for review. Nitpicks ? - ecm, 17.12.2009, 16:19
- the DOS code segment hunt, results/questions - ecm, 14.12.2009, 23:30
- HACKWRAP.SYS news, testing - Ninho, 20.12.2009, 02:44
- FIXWRAP.SYS 0.5 beta - released - please try it ! - Ninho, 23.12.2009, 00:07
- new HACKWRAP fix for MS-DOS7+, aka smashing the bug - ecm, 11.12.2009, 15:02