home *** CD-ROM | disk | FTP | other *** search
/ RBBS in a Box Volume 1 #3.1 / RBBSIABOX31.cdr / dull / drhalo.unp < prev    next >
Text File  |  1985-07-01  |  4KB  |  93 lines

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