home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / open / manyunp.lzh / ML207.UNP < prev    next >
Text File  |  1984-07-07  |  3KB  |  53 lines

  1. >>>> THIS NOTICE REPLACES A SIMILAR NOTICE CONCERNING MULTILINK (TM) V2.05 <<<<
  2. >>>> THE USER PATCHES SPECIFIED FOR 2.05 WILL NOT WORK FOR 2.07.   SEE THE <<<<
  3. >>>>       FOLLOWING UPDATED NOTICE TO PATCH MULTILINK V2.07 PROPERLY      <<<<
  4.  
  5.      The excellent multi-tasking software called MultiLink (tm) claims to not
  6. be copy protected.  In fact, they (in versions 2.05 and 2.07 for IBM DOS 2.0)
  7. have placed a hidden data track on track 41 and used a complicated scheme of
  8. self-modifying code to prevent finding the read-check.
  9.  
  10.      Experienced programmers can modify their source to permit functional back
  11. up (and use with drives the cannot reach track 41) by NOP'ing the disk reads
  12. and data checks.
  13.  
  14.      Use DEBUG to find and modify the following code fragments in MLINK.COM.
  15. The addresses will change if you say "GO" so resist the urge to do so until the
  16. code has been changed.
  17.  
  18.      BE CAREFUL:  This patch will work for MLINK V2.07 *ONLY* as far as I know.
  19. Similar code probably exists in other versions.  If you are unsure where this
  20. code may lie, here are some hints:
  21.         - To find the first code fragment, type in "S CS:0 9FFF 08 29".  This
  22.           will display the next location after the start of the first section
  23.           (in this case, it would display CS:33F2).
  24.         - The second and third code fragments lie shortly after the first, so
  25.           simply "U" (unassemble) a few times after the first fragment and you
  26.           will find the next two.
  27.         - To find the last fragment, type in "S CS:0 9FFF B4 09".  This will
  28.           give you all of the addresses which have a "MOV AH,09" instruction.
  29.           These addresses will indicate spots where MLINK is about to print out
  30.           some text.  Directly before each "MOV AH,09" will be an instruction
  31.           "LEA DX,[####]", with the #### representing the address of the text
  32.           that is about to be printed.  Find the address that points to the
  33.           text "ZZZ$" and you know the region where the last section of code
  34.           is.  In this case, the proper "MOV AH,09" is at address 34BC, a few
  35.           bytes after the fragment of code to fix.
  36.  
  37.         EXISTING CODE                   CHANGE TO
  38.         -------------                   ---------
  39.  
  40. CS:33F1  MOV CX,2908
  41. CS:33F4  CALL 34DF                      NOP, NOP, NOP
  42. CS:33F7  JNB 340D                       JMP 340D
  43.  
  44. CS:33E9  MOV CX,2903
  45. CS:33EC  CALL 34DF                      NOP, NOP, NOP
  46. CS:33EF  JNB 340D                       JMP 340D
  47.  
  48. CS:3414  JNZ 33FF                       NOP, NOP
  49.  
  50. CS:34B6  JZ 34C3                        JMP 34C3
  51.  
  52.  
  53.