home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / open / protect.lzh / FW110.UNP < prev    next >
Text File  |  1985-07-16  |  4KB  |  93 lines

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