home *** CD-ROM | disk | FTP | other *** search
/ Various Unprotection Examples / unprotect.zip / unprotect / JUMPMAN / JUMPMAN.UNP < prev   
Text File  |  1987-02-06  |  3KB  |  58 lines

  1. UNPROTECT FOR JUMPMAN (IBM ENTERTAINMENT FAMILY VERS 1.00)
  2.  
  3. First, make a copy of the master disk using DOS DISKCOPY program.
  4. Put the original away in a safe place (i.e. under a telephone about to ring).
  5.  
  6. Load DEBUG from your DOS diskette (A>DEBUG)
  7. Put the copy of the JUMPMAN disk in drive A:
  8. From the DEBUG prompt (-), type the following:
  9.  (a)  -L 0 0 0 2                  {loads first 2 sectors from Drive A:,
  10.                                    Track 0, starting with Sector 0}
  11.  
  12.  (b)  -U 236                      {disassemble some code}
  13.       You should see something like:
  14.      2488:0236 B80804        MOV     AX,0408
  15.      2488:0239 BB0000        MOV     BX,0000
  16.      2488:023C B90127        MOV     CX,2701
  17.      2488:023F BA0001        MOV     DX,0100
  18.      2488:0242 CD13          INT     13
  19.      2488:0244 7207          JB      024D  <----make sure this sucker matches
  20.      2488:0246 B80000        MOV     AX,0000
  21.      2488:0249 CD13          INT     13
  22.      2488:024B EBF9          JMP     0246
  23.  
  24. If the lines match between this and your disk, you're in luck.
  25.  
  26.  (c)  -E 0244 EB 07                {tell the program to ignore a few things}
  27.  
  28.  (d)  -W 0 0 0 2                   {save the change}
  29.  
  30.  (e)  -Q                           {exit DEBUG}
  31.  
  32. Your disk is now unprotected.  Enjoy!
  33.  
  34. For those of you interested, listed below is an explanation of what you've
  35. just done.
  36.  
  37. 2488:0236 B80804        MOV     AX,0408   {verify 8 sectors}
  38. 2488:0239 BB0000        MOV     BX,0000   {doesn't do anything}
  39. 2488:023C B90127        MOV     CX,2701   {track #27 (39 decimal), sector 1}
  40. 2488:023F BA0001        MOV     DX,0100   {drive A:, side 1}
  41. 2488:0242 CD13          INT     13        {executes the verify command}
  42. 2488:0244 7207          JB      024D      {on error, continue with the pgm}
  43. 2488:0246 B80000        MOV     AX,0000   {if no error, reset the drive....
  44. 2488:0249 CD13          INT     13         execute reset, and...
  45. 2488:024B EBF9          JMP     0246       begin infinite loop to 0246}
  46.  
  47. Track 39 (decimal) on the disk has a screwy format - instruction #023C above
  48. tries to find sector #1 on track 39.  There is no sector #1, so on the
  49. master disk, it generates an error which is picked up by line 0244. If you've
  50. made a DISKCOPY of the disk, the copy would have a sector #1, generate no
  51. error, and continue on to the infinite loop.  What the change does is tell
  52. the program to continue whether or not the error occurs.  The changed line
  53. now reads:
  54.  
  55. 2488:0244 EB07          JMP     024D  {no matter what, jump to the pgm}
  56.  
  57. Jeff Johnson 2/7/87
  58.