home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Corleone / MSHearts.txt < prev    next >
Text File  |  2000-05-25  |  5KB  |  51 lines

  1. ---------------------[ Reverse Engineering: MSHearts - Date: 26/01/99 ]---------
  2.  
  3. -= Written By =-                                              Number of pages: 2
  4.   ______
  5.  /  ___ \  ______   ______   ______   ______   ______   _    _   ______
  6.  | /   \| /  ___ \ /  __  \ /  __  \ /  ___ \ /  __  \ / \  / \ /  ___ \
  7.  | |    | | /   \| | /  \ | | /  \ | | /   \| | /  \ | | |  | | | /   \|
  8.  | |      | |_   | | \__/ | | \__/ | | |_   | | \__/ | | |  | | | \____
  9.  | |      |   \    |  __  / |  __  / |   \    |  __  / | |  | | \____  \
  10.  | |    | |  _/  | | /  \ \ | /  \ \ |  _/  | | /  \ \ | |  | |      \ |
  11.  | \___/| | \___/| | |  | | | \__/ | | \___/| | |  | | | \__/ | |\___/ |
  12.  \______/ \______/ \_/  \_/ \______/ \______/ \_/  \_/ \______/  \_____/
  13.  
  14. +----------                                                          ---------+
  15.                      MSHearts: Change the rules of the game 
  16. +----------                                                          ---------+
  17.  
  18. My first tutorial was about cracking Notepad. This one is about changing some things in Micro$oft Hearts. I crack these types of programs, because I write for newbies. The programs I choose as a subject of my next tutorial has to be in anybody's range. So therefore I chose programs that you already have, or not difficult to find. Other tutorials are about programs that you'll have to get from the I-Net.
  19.  
  20. Required:
  21. * W32Dasm, I used version 8.9  <- Find it on the I-Net (f.e. Astalavista.box.sk)
  22. * HView, I used version 6.00   <- Find it on the I-Net (f.e. Astalavista.box.sk)
  23. * A Backup of MSHearts
  24.  
  25. First a short introduction to the game. You want to test what you cracked, don't you? The player who has the 2 of Clubs, must start. If you don't have any Clubs, you cannot begin with any card of Hearts, nor with the Queen of Spades. If you have a card that is the same kind as the one which is played first, you'll have to play it. If your card is the highest one of the four cards played, you get all of the cards played in that turn. At the end of turn all the received cards are counted and added to your score. For every card of Hearts, you'll get one point. For the Queen of Spades, you'll get 13 points. But if you have the Queen and all the Hearts, no points will be added to your score, but the other players will get 26 points each. The one with the most points looses (the game ends when one player has a score of 100+)
  26.  
  27. What do we want to change? First of all that you don't have to use a card, if it is the same kind as the one the beginner of that round plays. Secondly that you can begin with the Queen of Spades or with a card of Hearts. After these examples it won't be difficult to make other changes to the program.
  28.  
  29. Open the backup of MSHearts into W32Dasm. Click on "List and Search for String Data Referenced in Disassembly". The button is between [DLG Ref] and the Print Button, or you could select "String Data References" under the "Refs" menu. Find the message that is shown after playing an other card than the one played first, it is displayed on the statusbar at the bottom of the screen. Double-click it. Close the box. Go upwards until you find a message that says it is jumped from an address:
  30.  
  31. * Referenced by a (U)nconditional or (C)onditional Jump at Address:
  32. |:xxxx.yyyy(C)
  33.  
  34. Select "Goto Code Location" under the "Goto" menu, or use the button on the toolbar between the [Goto Page] and the [Jump To] buttons. Make sure the Segment is set correctly. It must be the same as the four numbers before the dot. The for numbers after the dot is the Offset. Set the Offset and press [OK]. Look at the Offset of the file at the Statusbar (At the bottom: "@Offset xxxxxxxx". If you haven't exit MSHearts, do it now. Load MSHEARTS.EXE into HIEW. 
  35. - Press [F4] (Mode) and choose "Decode". 
  36. Now you see the listing with at the left side the offset, then the bytes then the instruction. 
  37. - Press [F5] (Goto) and input the found offset
  38. - Press [F3] (Edit) and replace the instruction with enough NOP's (NOT TO MUCH, AND NOT TO FEW), so that the instruction is wiped out completely. A NOP is 1 byte long. (90h, you can omit the 'h'). 
  39. - Press [F9] (Update)
  40. - Press [F10] (Quit)
  41.  
  42. Load MSHearts, and play an other card than the one played first. Make sure you don't have the 2 of clubs!! And YES, you fooled MSHearts!!! Now for the last one, make sure it doesn't matter if you play the Queen of spade or a card of hearts first! Do the same things as I described above, but then... Well I won't tell you. You must try it on your own, and try to do it by yourself. If you can do this, you're not so newbie anymore as you thought you were!
  43.  
  44. If you want to E-Mail me, and you want to, mail to this address:
  45.  
  46. cerberus_x@hotmail.com
  47.  
  48. Cerberus
  49.  
  50. -----------------------------------[ Einde ]------------------------------------
  51.