home *** CD-ROM | disk | FTP | other *** search
/ KeyGen Studio 2002 / KeyGen_Studio_2002.iso / Tutorials / ReverseMes / s666-rm1.txt < prev    next >
Encoding:
Text File  |  2001-09-21  |  3.6 KB  |  93 lines

  1. *************************************************************************************************
  2.                 How to crack Muad Dib's ReverseMe 1
  3.                      Essay written by seifer666
  4.                          05/26/2000
  5. *************************************************************************************************
  6.  
  7.  
  8.  
  9.  
  10. 1)Introduction
  11.  
  12. Name : Muad Dib's ReverseMe 1
  13. Author : Muad Dib
  14. Level : easy
  15. Protection : your aim is to redirect the task of a button
  16. Tools needed : *WDasm 8.93
  17.            *HexEditor (I used HexWorkShop)    
  18. Download location : www.immortaldescendants.org
  19.  
  20.  
  21.  
  22. 2)The cracking of the death
  23.  
  24.  
  25.     Run the Crackme and click on the exit button. A fucking messagebox appears, and explains
  26. you your goal again. But, after clicking on the Ok button of the messagebox, the process doesn't
  27. exit. So let's dasm it.
  28.     Go in the String Data References and click on the text of the messagebox "Your job is to
  29. make me work as", to locate quickly the problem. You'll arrive at : 
  30.  
  31. * Reference To: KERNEL32.ExitProcess, Ord:0075h
  32.                                   |
  33. :00401024 E843000000              Call 0040106C        ;Calls ExitProcess when clicking on the Windows Exit Cross
  34. :00401029 55                      push ebp
  35. :0040102A 8BEC                    mov ebp, esp
  36. :0040102C 817D0C11010000          cmp dword ptr [ebp+0C], 00000111
  37. :00401033 751F                    jne 00401054
  38. :00401035 8B4510                  mov eax, dword ptr [ebp+10]
  39. :00401038 6683F864                cmp ax, 0064
  40. :0040103C 752A                    jne 00401068
  41. :0040103E 6A00                    push 00000000
  42.  
  43. * Possible StringData Ref from Data Obj ->"GOAL:"
  44.                                   |
  45. :00401040 682F304000              push 0040302F        ;Text of the MessageBox
  46.  
  47. * Possible StringData Ref from Data Obj ->"Your job is to make me work as "
  48.                                         ->"an exit button!"
  49.                                   |
  50. :00401045 6800304000              push 00403000        ;Caption of the MessageBox
  51. :0040104A FF7508                  push [ebp+08]        ;Handle of the MessageBox
  52.  
  53. * Reference To: USER32.MessageBoxA, Ord:01BBh
  54.                                   |
  55. :0040104D E832000000            Call 00401080        ;Calls the MessageBox, we will patch
  56. :00401053 EB2A                  jmp 00401068        ;those two lines !!!
  57.  
  58.  
  59.     If we go to offset 40106C, which is called at 401024, we see : 
  60.  
  61. * Referenced by a CALL at Address:
  62. |:00401024       ;Call 0040106C
  63. |
  64.  
  65. * Reference To: KERNEL32.ExitProcess, Ord:0075h
  66.                                   |
  67. :0040106C FF2504204000            Jmp dword ptr [00402004]    ;we will patch with this jump
  68.  
  69.  
  70.     So if we replace the bytes at offsets 40104D and 401053 by those at offset 40106C, the 
  71. shity prog will exit by clicking on the exit button and the fucking MessageBox won't appear 
  72. anymore hehe. So I patched : 
  73.  
  74. :0040104D E832000000            Call 00401080
  75. :00401053 EB2A                  jmp 00401068
  76.  
  77. by
  78.  
  79. :0040104D FF2504204000            Jmp dword ptr [00402004]    ; = Call ExitProcess
  80. :00401053 90                      nop                ;just to make pretty ;)
  81.  
  82. And the prog exits now by clicking on the cross or the exit button, hehe. It was easy, but great.
  83. We just had to know the ExitProcess API :).
  84.  
  85.  
  86. 3)Final words
  87.  
  88.     Well, I would like to thank ImmortalDescendants and Muad Dib for their very good work !!
  89. I greet all my friends on caramail, #cracking4newbies, all the crackers in the world and every
  90. people supporting me (there are ot a lot because I'm a newbie and not very known).
  91. Excuse me for my lame english, it's not my mother's language.
  92. seifer666
  93. you can join me at seifer666@caramail.com or on ICQ : #61545376