home *** CD-ROM | disk | FTP | other *** search
/ Power DOS 1995 July / Power_DOS_CD-ROM_Walnut_Creek_July_1995.iso / games / crackutl / cm386201.txt < prev    next >
Text File  |  1993-03-02  |  9KB  |  176 lines

  1.   
  2.                       CrackerMate v2.01
  3.                         Copyright (C)
  4.                     by ChanWaiKwong Wilfred
  5.                         December, 1992
  6.                       All rights reserved
  7.                       
  8. v1.00: original release in August, 1992                      
  9.  
  10. v2.00: 1) added DESQview check
  11.        2) added CPU type check
  12.        3) slightly improved on Data Analysis so that even fructuating
  13.           data can also be found, and a default of 'Decrease' has been
  14.           assumed if input is not 'i' or 'I'
  15.        4) the input segment and offset in Hardware breakpoint option
  16.           has been modified so that only 4-digit-input will be accepted
  17.           to avoid unnecessary errors
  18.        5) built-in debugger is added so that no external debugger is
  19.           needed, CrackerMate become a standalone program
  20.        6) compability to Tseng Labs vedio card added
  21.        7) bugs in instruction fetch of hardware breakpoint fixed
  22.        8) bugs in interrupt handling fixed
  23.        9) uninstall option added
  24.       10) better display, borderline added
  25.       
  26. v2.01: 1) some bugs in finding empty vector table slots in installing
  27.           fixed
  28.         
  29.         
  30.                           Introduction
  31.                          ---------------
  32.         CrackerMate is a game cracking program. It provides the ability
  33. to crack the 'life' as well as the password in a game, especially the
  34. password appears in the middle of a game. It is designed to run with 
  35. any debugger to provide the game cracking features.
  36.  
  37.         CrackerMate occupies less than 14.5K of base memory only, using
  38. no expanded nor extended memory. It is purely written in assembly lan-
  39. guage. Since the memory usage is so small, it does not restore the screen 
  40. completely in graphic mode. Anyway, the screen will still look alright 
  41. in graphic mode and do not affect game cracking.
  42.  
  43.         Current version of CrackerMate does not popup in Dos when Dos is
  44. busy. One reason for this implementation is to save memory usage. Another
  45. reason is that there is no point to popup inside Dos itself in respect
  46. to cracking a game (the code cannot be inside Dos!).
  47.  
  48.                         
  49.                         System Requirement
  50.                        ---------------------
  51.                 1) 386+ machine
  52.                 2) VGA display
  53.                 3) Dos 3+
  54.                 
  55.                 
  56.                 
  57.                    About the new built-in debugger
  58.                   ----------------------------------
  59.         The built-in debugger provides all compabilities of the debugger
  60. provided in Dos package except a few options. Anyway, the function avail-
  61. able is more than enough in the purpose of cracking a game. You can just
  62. press  '?' to see  the commands  available.  With the  built-in debugger,
  63. CrackerMate no longer needs  an external debugger. Thus the new  version
  64. is more reliable  and stable. Furthermore,  it will save  up more memory
  65. as the built-in debugger occupies much less memory than the external one.
  66. If there are any breakpoint errors, error message 'BP Error' will be
  67. shown on screen where BP means BreakPoint (not a register error!).
  68. Currently maximum of 10 breakpoints can be set.
  69.  
  70.                        
  71.                   
  72.                                Usage
  73.                               -------
  74. 1) Data analysis:
  75.                 Just enter two temporary filenames in first analysis.
  76.                 In the next analysis, user is required to input Increase
  77.                 or Decrease which mean the current data is supposed to
  78.                 be an increase or decrease compared to the previous data
  79.                 analysed.
  80.                 
  81. 2) Start another analysis:
  82.                 Whenever you want to start over the Data analysis, you can
  83.                 use this option.
  84.  
  85. 3) List address:
  86.                 This option let you know what is the address found by the
  87.                 Data Analysis option.
  88.                 
  89. 4) Hardware breakpoint:
  90.                 Whenever you get the address from List address, you can
  91.                 set a hardware breakpoint on the address. Usually the
  92.                 breakpoint is 'write memory' kind since the life is
  93.                 overwritten by the game to a lesser value. You can then
  94.                 immediately find the code in next 'life decrease'. You
  95.                 can modify the code to your like by next option Return
  96.                 to debugger (you should have some knowlege in assembly 
  97.                 language at this point). The cracking life procedure is 
  98.                 finished. Note that when inputing the addresses, all the
  99.                 four digits must be entered, e.g. 0011 instead of 11.
  100.                 
  101. 5) Uninstall:
  102.                 When you want to free CrackerMate from memory, you can
  103.                 use this option.
  104.                                 
  105. 6) Return to debugger:
  106.                 This option will allow you to return control to debugger.
  107.                 Thus allow you to debug the game.
  108.                 
  109. 7) Return to game:
  110.                 If you have returned to debugger, this option will allow
  111.                 you to return from debugger back to game. Make sure you
  112.                 'run' (the G command in Dos debugger) the game before you
  113.                 popup CrackerMate and use this option, otherwise the game 
  114.                 will hang and you will need to reboot.
  115.                 
  116.         
  117.                       Procedure of cracking 'life'
  118.                      -----------------------------
  119.         Run the game, then popup CrackerMate.
  120.         1) Choose Data analysis, choose Decrease as life is decreasing.
  121.            Enter the temporary filenames.
  122.         2) Press Esc to return to game.
  123.         3) When your life decrease, popup CrackerMate again and choose 
  124.            Data analysis. This time you are not required to input but 
  125.            wait for the analysis. My 386 machine take about 15 seconds 
  126.            for the longest one. Then press Esc to return to game.
  127.         4) After several analysis, choose List address to find the
  128.            possible addresses of the 'life' data. If the life decrease
  129.            in the order 3-2-1, you may want to look at the address with
  130.            3-2-1 data. Note the data closest to the address is the most
  131.            recent value, so you may see the display like:
  132.            4000:0011  01 02 03
  133.         5) After knowing the address, set a Hardware breakpoint on it.
  134.            Since the address is overwritten by the game, choose the
  135.            Write memory option. From step 4, the segment is 4000 and
  136.            offset is 0011. Make sure you entered all the four digits,
  137.            i.e. 0011 instead of 11. After setting up a breakpoint, press
  138.            Esc to return to game. CrackerMate will popup when finding the
  139.            code address, you can see the break address by choosing the
  140.            Hardware breakpoint option again. Then you can press R to 
  141.            return to debugger to see the code in the address and modify
  142.            the code to your like. Notice the break address is the address
  143.            immediately after the actual code modifying the data. So if
  144.            you find the break address is 1234:5678, you may look at the
  145.            code before the address, e.g.,1234:5675, (depends on the code).
  146.            (For the Instruction fetch, the break address will be exactly
  147.            the same as the code located, a little bit different from
  148.            Read/Write memory breadkpoint.)
  149.         6) After modifying the code, you can type g to continue executing
  150.            the game if in Dos debugger. Then popup CrackerMate again, press
  151.            Esc and the screen of the game will be restored, then you can
  152.            continue playing the game (Note it is necessary to continue
  153.            executing the game before popup CrackerMate again, otherwise you
  154.            may never continue to play the game). You can also record down
  155.            the code and modify the code directly in the game file so that
  156.            the cracking become 'permanent' not 'temporary'.
  157.                              
  158.            
  159.            
  160.                     Procedure of cracking password
  161.                    --------------------------------
  162.         When prompting for a password, you can popup CrackerMate and return
  163. to debugger. Then you can debug the game to crack the password.
  164.  
  165.  
  166. Note that the Hotkey is NumLock or Pause as their scan code are the same.
  167.  
  168.  
  169. * Note that CrackerMate has conflicts with EMM386.EXE device driver,
  170.   so it is necessary to remove EMM386.EXE (if any) in config.sys.
  171.  
  172.  
  173.  
  174. Any comments are welcome, the e-mail address of the writer are
  175. h9109253@hkuxa.hku.hk
  176.