home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / utils / easyun.zip / GRAFWRTR.TXT < prev    next >
Text File  |  1986-03-16  |  3KB  |  91 lines

  1. HOW TO UNPROTECT "GRAPHWRITER" v 4.3 by Graphic Communications
  2.  
  3.  
  4. First, make a copy of the Graphwriter "System Batch" disk. NEVER
  5. mess around with your original distribution disk!
  6.  
  7.  
  8. The copy protection for Graphwriter is contained in the file
  9. GW10.OLY. We will use DEBUG on this file.
  10.  
  11. Debug GW10.OLY
  12.  
  13. -s cs:000 l ffff 25 00 ff              [search for beginning of
  14.                                        test sequence]
  15.  
  16. xxxx:1D67
  17. -u 1d67 l 40
  18. xxxx:1D67 2500FF        AND    AX,FF00
  19. xxxx:1D6A 0BC0          OR    AX,AX
  20. xxxx:1D6C 7531          JNZ    1D9F                 <--NOTE This Jump
  21. xxxx:1D6E 80BE00FE47    CMP    BYTE PTR [BP+FE00],47
  22. xxxx:1D73 752A          JNZ    1D9F
  23. xxxx:1D75 80BE01FE57    CMP    BYTE PTR [BP+FE01],57
  24. xxxx:1D7A 7523          JNZ    1D9F
  25. xxxx:1D7C 80BE02FE04    CMP    BYTE PTR [BP+FE02],04
  26. xxxx:1D81 751C          JNZ    1D9F
  27. xxxx:1D83 80BE03FE01    CMP    BYTE PTR [BP+FE03],01
  28. xxxx:1D88 7515          JNZ    1D9F
  29. xxxx:1D8A 80BE04FE52    CMP    BYTE PTR [BP+FE04],52
  30. xxxx:1D8F 750E          JNZ    1D9F
  31. xxxx:1D91 80BE05FE42    CMP    BYTE PTR [BP+FE05],42
  32. xxxx:1D96 7507          JNZ    1D9F
  33. xxxx:1D98 80BE06FE4A    CMP    BYTE PTR [BP+FE06],4A
  34. xxxx:1D9D 7457          JZ    1DF6                    <--NOTE this
  35.                                                       address!
  36.  
  37. The last jump address in the sequence is the place where Graphwriter goes once
  38. it has satisfied itself that it has a valid original in drive A:.  We will
  39. just persuade it to go there a little bit early:
  40.  
  41.  
  42. -a 1d6c
  43. xxxx:1D6C JMP 1DF6                          <--assemble a new
  44. xxxx:xxxx <cr>    ;to end assembly             jump at the first
  45.                                                jump location!
  46.  
  47. So GW never gets to test for the goodness of the diskette...
  48.  
  49. Next, search for a diskette interrupt:
  50.  
  51. -s cs:0 l ffff cd 13
  52. xxxx:1E19
  53.  
  54. -u 1e10
  55. xxxx:1E10 8A460E        MOV    AL,[BP+0E]
  56. xxxx:1E13 8A6610        MOV    AH,[BP+10]
  57. xxxx:1E16 8B5E12        MOV    BX,[BP+12]
  58. xxxx:1E19 CD13          INT    13                   <--Here it is!
  59. xxxx:1E1B 8BF0          MOV    SI,AX
  60. xxxx:1E1D 8BC6          MOV    AX,SI
  61. xxxx:1E1F 5E            POP    SI
  62. xxxx:1E20 5D            POP    BP
  63. xxxx:1E21 C3            RET    
  64. xxxx:1E22 55            PUSH    BP
  65. xxxx:1E23 56            PUSH    SI
  66. xxxx:1E24 8BEC          MOV    BP,SP
  67. xxxx:1E26 81EC0400      SUB    SP,0004
  68. xxxx:1E2A C746FC0100    MOV    WORD PTR [BP-04],0001
  69. xxxx:1E2F EB03          JMP    1E34
  70.  
  71. Now, let's get rid of the nasty thing:
  72.  
  73. -a 1E19
  74. xxxx:1E19 nop
  75. xxxx:1E1A nop
  76. xxxx:1E1B <cr>    ;to break out of assembly
  77.  
  78. Now GW won't even bother to check drive A: at all!
  79.  
  80. -w
  81. Writing 693A bytes
  82. -q
  83.  
  84. Graphwriter has been unprotected. It may now be freely copied, run from a hard
  85. or ram disk, etc.  NOTE: you may have to run the hard disk install or use an
  86. ASSIGN a=c statement in order to keep Graphwriter from looking for overlays on
  87. drive A:...
  88.  
  89. LET THERE BE SOFTWARE!
  90. <Gosh, this is fun!>
  91.