home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hall of Fame
/
HallofFameCDROM.cdr
/
open
/
manyunp.lzh
/
ML207.UNP
< prev
next >
Wrap
Text File
|
1984-07-07
|
3KB
|
53 lines
>>>> THIS NOTICE REPLACES A SIMILAR NOTICE CONCERNING MULTILINK (TM) V2.05 <<<<
>>>> THE USER PATCHES SPECIFIED FOR 2.05 WILL NOT WORK FOR 2.07. SEE THE <<<<
>>>> FOLLOWING UPDATED NOTICE TO PATCH MULTILINK V2.07 PROPERLY <<<<
The excellent multi-tasking software called MultiLink (tm) claims to not
be copy protected. In fact, they (in versions 2.05 and 2.07 for IBM DOS 2.0)
have placed a hidden data track on track 41 and used a complicated scheme of
self-modifying code to prevent finding the read-check.
Experienced programmers can modify their source to permit functional back
up (and use with drives the cannot reach track 41) by NOP'ing the disk reads
and data checks.
Use DEBUG to find and modify the following code fragments in MLINK.COM.
The addresses will change if you say "GO" so resist the urge to do so until the
code has been changed.
BE CAREFUL: This patch will work for MLINK V2.07 *ONLY* as far as I know.
Similar code probably exists in other versions. If you are unsure where this
code may lie, here are some hints:
- To find the first code fragment, type in "S CS:0 9FFF 08 29". This
will display the next location after the start of the first section
(in this case, it would display CS:33F2).
- The second and third code fragments lie shortly after the first, so
simply "U" (unassemble) a few times after the first fragment and you
will find the next two.
- To find the last fragment, type in "S CS:0 9FFF B4 09". This will
give you all of the addresses which have a "MOV AH,09" instruction.
These addresses will indicate spots where MLINK is about to print out
some text. Directly before each "MOV AH,09" will be an instruction
"LEA DX,[####]", with the #### representing the address of the text
that is about to be printed. Find the address that points to the
text "ZZZ$" and you know the region where the last section of code
is. In this case, the proper "MOV AH,09" is at address 34BC, a few
bytes after the fragment of code to fix.
EXISTING CODE CHANGE TO
------------- ---------
CS:33F1 MOV CX,2908
CS:33F4 CALL 34DF NOP, NOP, NOP
CS:33F7 JNB 340D JMP 340D
CS:33E9 MOV CX,2903
CS:33EC CALL 34DF NOP, NOP, NOP
CS:33EF JNB 340D JMP 340D
CS:3414 JNZ 33FF NOP, NOP
CS:34B6 JZ 34C3 JMP 34C3