home *** CD-ROM | disk | FTP | other *** search
/ Between Heaven & Hell 2 / BetweenHeavenHell.cdr / 500 / 489 / doubldos.unp < prev    next >
Text File  |  1985-08-31  |  4KB  |  95 lines

  1.  
  2.                  DOUBLEDOS  -  Unprotect
  3.                                         Based on The Lone Victor's
  4.                                         routine.
  5.  
  6.      The following instructions show you how to bypass the SoftGuard
  7. copy protection scheme used on DOUBLEDOS version 1.00.  This is the same
  8. scheme used for FrameWork 1.10 and for Wordstar 2000 1.00.  Wordstar
  9. 2000 version 1.10 does not use a copy protection scheme, while versions
  10. 1.00 of dBase III and FrameWork used ProLock.  To unprotect Prolock disks
  11. read the file PROLOCK.UNP.
  12.  
  13.      First, using your valid, original DOUBLEDOS diskette, install it on
  14. a fixed disk.  Softguard hides three files in your root directory: 
  15. CML0200.HCL, VDF0200.VDW, and DOUBLEDO.EXE.  It also copies DOUBLEDO.COM into
  16. your chosen DOUBLEDOS directory.  DOUBLEDO.EXE is the real DOUBLEDOS program,
  17. encrypted.  When you run DOUBLEDOS, the program DOUBLEDO.COM loads CML0200.HCL
  18. high in memory and runs it.  CML decrypts itself and reads VDF0200.VDW. 
  19. The VDF file contains some code and data from the fixed disk FAT at the
  20. time of installation.  By comparing the information in the VDF file with
  21. the current FAT, CML can tell if the CML, VDF, and DOUBLEDO.EXE files are
  22. in the same place on the disk where they were installed.  If they have
  23. moved, say from a backup & restore, then DOUBLEDOS will not run.
  24.  
  25.      Second, un-hide the three files in the root directory.  You can do
  26. this with the programs ALTER.COM or FM.COM found on any BBS.
  27.  
  28.      Make copies of the three files, and of DOUBLEDO.COM, into some other
  29. directory.
  30.  
  31.      Hide the three root files again using ALTER or FM.
  32.  
  33.      Following the DOUBLEDOS  instructions, UNINSTALL DOUBLEDOS.  You can now
  34. put away your original DOUBLEDOS diskette.  We are done with it.
  35.  
  36.      Next we will make some patches to CML0200.HCL to allow us to trace
  37. through the code in DEBUG.  These patches will keep it from killing our
  38. interrupt vectors.
  39.  
  40. debug cml0200.hcl
  41. e 3F9 <CR>  2A.4A <CR>          ; change the 2A to 4A
  42. e 49D <CR>  F6.16 <CR>          ;  if any of these numbers don't show up
  43. e 506 <CR>  E9.09 <CR>          ;  it's not working.
  44. e A79 <CR>  00.20 <CR>          ;
  45. e AE9 <CR>  00.20 <CR>          ;
  46. e 73C  97 FA FA F4 F1 7E <CR>   ; this is an encrypted call to 0:300
  47. w                               ; write out the new CML file
  48. q                               ; quit debug
  49.  
  50.  
  51.      Now copy your four saved files back into the root directory and
  52. hide the CML0200.HCL, VDF0200.VDW, and DOUBLEDOS.EXE files using ALTER or FM.
  53.  
  54.      We can now run DOUBLEDO.COM using DEBUG, trace just up to the point
  55. where it has decrypted DOUBLEDO.EXE, then write that file out.
  56.  
  57. debug dOUBLEDO.COM
  58. r <CR>                          ; write down the value of DS for use below.
  59. a 0:300 <CR>                    ; we must assemble some code here
  60.         pop     ax
  61.         cs:
  62.         mov     [320],ax        ; save return address
  63.         pop     ax
  64.         cs:
  65.         mov     [322],ax
  66.         push    es              ; set up stack the way we need it
  67.         mov     ax,20
  68.         mov     es,ax
  69.         mov     ax,0
  70.         cs:
  71.         jmp     far ptr [320]   ; jump to our return address
  72.  <CR>
  73. g 406                           ; now we can trace CML
  74. t
  75. g 177                           ; this stuff just traces past some
  76. g 1E9                           ;   encryption routines.
  77. t
  78. g 54E                           ; wait while reading VDF & FAT
  79. g=559 569
  80. g=571 857                       ; DOUBLEDO.EXE has been decrypted
  81. rBX <CR>                        ; length DOUBLEDO.EXE = 04800 bytes
  82. :0                              ; set BX to 0
  83. rCX <CR>
  84. :4800                           ; set CX to 4800.
  85. nDOUBLEDO                       ; name of file to write to
  86. w XXXX:100                      ; where XXXX is the value of DS that
  87.                                 ;   you wrote down at the begining.
  88. q                               ; quit debug
  89.  
  90.      Last, unhide and delete the three root files CML0200.HCL, VDF0200.VDW, 
  91. and DOUBLEDO.EXE.  Delete DOUBLEDO.COM and rename DOUBLEDO to DOUBLEDO.EXE.  This is the
  92. real DOUBLEDOS program without any SoftGuard code or encryption.  It requires
  93. only the DOUBLGD2.PGM and DDCONFIG.SYS files to run.
  94. 
  95.