home *** CD-ROM | disk | FTP | other *** search
/ Various Unprotection Examples / unprotect.zip / unprotect / COPYPROT / WS2000.UNP < prev    next >
Text File  |  1985-06-01  |  5KB  |  108 lines

  1.                Wordstar 2000 version 1.00  -  Unprotect
  2.                             by Gerald Lee
  3.                             
  4.                             derived from
  5.  
  6.                  dBase III version 1.10  -  Unprotect
  7.                           by The Lone Victor
  8.  
  9.      The following instructions show you how to bypass the SoftGuard
  10. copy protection scheme used on WORDSTAR 2000 version 1.00.  This is the 
  11. same scheme used for FrameWork 1.10 and for dBase III version 1.10.  
  12. Wordstar 2000 version 1.10 does not use a copy protection scheme, while
  13. versions 1.00 of dBase III and FrameWork used ProLock.  To unprotect 
  14. Prolock disks read the file PROLOCK.UNP.
  15.  
  16.      First, using your valid, original Wordstar 2000 diskettes, install 
  17. it on fixed disk.  Softguard hides two files in your root directory: 
  18. CML0200.HCL and VDF0200.VDW.  WS2000.EXE is the real Wordstar 2000
  19. program, encrypted.  When you run Wordstar, the program WS2000.COM loads
  20. CML0200.HCL high in memory and runs it.  CML decrypts itself and reads 
  21. VDF0200.VDW.  The VDF file contains some code and data from the fixed disk
  22. FAT at the time of installation.  By comparing the information in the VDF 
  23. file with the current FAT, CML can tell if the CML, VDF, and WORDSTAR.EXE
  24. files are in the same place on the disk where they were installed.  If 
  25. they have moved, say from a backup & restore, then WORDSTAR 2000 will 
  26. not run.
  27.  
  28.      Second, un-hide the two files in the root directory.  You can do
  29. this with the programs ALTER.COM or FM.COM, or UNHIDE.COM and HIDE.COM
  30. found on any BBS.  PC-SWEEP2 is the easiest it will copy the files to 
  31. another directory unhidden.
  32.  
  33.      Make copies of the two files, and of WS2000.COM and WS2000.EXE, into
  34. some other directory.
  35.  
  36.      Hide the two root files again if using ALTER or FM.  Leave alone if
  37. using PC-SWEEP2.
  38.  
  39.      Following the WORDSTAR instructions, UNINSTAL WORDSTAR 2000.  You
  40. can now put away your original WORDSTAR diskettes.  We are done with them.
  41.  
  42.      Next we will make some patches to CML0200.HCL to allow us to trace
  43. through the code in DEBUG.  These patches will keep it from killing our
  44. interrupt vectors.
  45.  
  46. DEBUG CML0200.HCL
  47. E 3F9 <CR>  2A.4A <CR>          ; change the 2A to 4A
  48. E 49D <CR>  F6.16 <CR>          ;  if any of these numbers don't show up
  49. E 506 <CR>  E9.09 <CR>          ;  it's not working.
  50. E A79 <CR>  00.20 <CR>          ;
  51. E AE9 <CR>  00.20 <CR>          ;
  52. E 73C  97 FA FA F4 F1 7E <CR>   ; this is an encrypted call to 0:300
  53. W <CR>                          ; write out the new CML file
  54. Q <CR>                          ; quit debug
  55.  
  56.  
  57.      Now copy your four saved files back into the root directory and
  58. hide the CML0200.HCL and VDF0200.VDW files using ALTER, FM or PC-SWEEP2.
  59.  
  60.      We can now run WS2000.COM using DEBUG, trace just up to the point
  61. where it has decrypted WORDSTAR.EXE, then write that file out.
  62.  
  63. DEBUG WS2000.COM
  64. R <CR>                          ; write down the value of DS for use below.
  65. A 0:300 <CR>                    ; we must assemble some code here
  66.         POP     AX <CR>
  67.         CS: <CR>
  68.         MOV     [320],AX <CR>   ; save return address
  69.         POP     AX <CR>
  70.         CS: <CR>
  71.         MOV     [322],AX <CR>
  72.         PUSH    ES <CR>         ; set up stack the way we need it
  73.         MOV     AX,20 <CR>
  74.         MOV     ES,AX <CR>
  75.         MOV     AX,0 <CR>
  76.         CS: <CR>
  77.         JMP     FAR PTR [320] <CR> ;jump to our return address
  78.  <CR>
  79. G 406 <CR>                      ; now we can trace CML
  80. T <CR>
  81. G 177 <CR>                      ; this stuff just traces past some
  82. G 1E9 <CR>                      ;   encryption routines.
  83. T <CR>
  84. G 54E <CR>                      ; wait while reading VDF & FAT
  85. G=559 569 <CR>
  86. G=571 857 <CR>                  ; WS2000.EXE has been decrypted
  87. rBX <CR>                        ; length WS2000.EXE = 1AC00 bytes
  88. :1 <CR>                         ; set BX to 1
  89. rCX <CR>
  90. :AC00 <CR>                      ; set CX to AC00.  
  91. nWS12 <CR>                      ; name of file to write to
  92. W XXXX:100 <CR>                 ; where XXXX is the value of DS that
  93.                                 ;   you wrote down at the begining.
  94. Q <CR>                          ; quit debug
  95.  
  96.      Last, unhide and delete the two root files CML0200.HCL, VDF0200.VDW, 
  97. and WS2000.COM and WS2000 directory.  Rename WS12 to WS2000.COM and 
  98. replace in the WS2000 directory.  This is the routine that starts the 
  99. real WS2000.EXE program without any SoftGuard code or encryption.   It 
  100. requires the .OVL and .MSG files to run.  I have not tried it on a two
  101. disk systems but I think it should work.
  102.  
  103.      If you have any comments on this unprotect routine, please leave
  104. them on the Chino RBBS (714) 591-7002.
  105.  
  106.                                           GERALD LEE - 5/12/85
  107.  
  108.