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

  1. *************************************************************************************************
  2.                    Muad'Dib's ReverseMe #1
  3. *************************************************************************************************
  4.  
  5. Author:        Muad'Dib
  6. Protection:    Make the Exit Button work as an Exit Button
  7. URL:        http://www.immortaldescendants.org/users/santmat/reversemes/rm_muaddib.zip
  8. Tools:        W32Dasm V8.93
  9.         Hex-Editor
  10.  
  11.  
  12. --->    Intro...
  13.  
  14. Welcome to my next Tutorial !!!
  15. This time it's a ReverseMe from Muad'Dib :)
  16. The only thing we need to do is making the Exit Button work as an Exit Button, very simple :)
  17.  
  18.  
  19. --->    Let's Begin...
  20.  
  21. Ok open up the ReverseMe and you'll see a window with just one button the Exit Button :)
  22. Click on it and you'll see a Message Box saying:
  23.  
  24. "Your job is to make me work as an exit button!"
  25.  
  26. Ok this explains it all :)
  27. Now close the ReverseMe and open the file in W32Dasm.
  28. Then click on "Strn Ref" (String Data References) and you'll see just two strings:
  29.  
  30. "GOAL:"
  31. "Your job is to make me work as "
  32.  
  33. Then double click on the first one and you'll see this:
  34.  
  35. -------------------------------------------------------------------------------------------------
  36.  
  37. :00401035 8B4510                  mov eax, dword ptr [ebp+10]
  38. :00401038 6683F864                cmp ax, 0064
  39. :0040103C 752A                    jne 00401068                <--- Interesting Jump ;)
  40. :0040103E 6A00                    push 00000000
  41.  
  42. * Possible StringData Ref from Data Obj ->"GOAL:"
  43.                                   |
  44. :00401040 682F304000              push 0040302F
  45.  
  46. * Possible StringData Ref from Data Obj ->"Your job is to make me work as "
  47.                                         ->"an exit button!"
  48.                                   |
  49. :00401045 6800304000              push 00403000
  50. :0040104A FF7508                  push [ebp+08]
  51.  
  52. * Reference To: USER32.MessageBoxA, Ord:01BBh
  53.                                   |
  54. :0040104D E832000000              Call 00401084
  55. :00401052 EB14                    jmp 00401068
  56.  
  57. -------------------------------------------------------------------------------------------------
  58.  
  59. Now look at that "Interesting Jump" :)
  60. Let's see where it leads to:
  61.  
  62. -------------------------------------------------------------------------------------------------
  63.  
  64. :00401068 C9                      leave                <--- It Jumps to this place
  65. :00401069 C21000                  ret 0010
  66.  
  67.  
  68.  
  69. * Referenced by a CALL at Address:
  70. |:00401024   
  71. |
  72.  
  73. * Reference To: KERNEL32.ExitProcess, Ord:0075h
  74.                                   |
  75. :0040106C FF2504204000            Jmp dword ptr [00402004]    <--- Hmm... ExitProcess API ;)
  76.  
  77. -------------------------------------------------------------------------------------------------
  78.  
  79. As you can see here it jumps to the instructions "leave, ret 0010" so the Message Box just
  80. disappears and nothing more happens, but do you see the nice ExitProcess API just below ;)
  81. We're going to let it jump to that API instead of to "leave, ret 0010".
  82. So change:
  83.  
  84. jne 00401068
  85.  
  86. into
  87.  
  88. jmp 0040106C
  89.  
  90. And now the program Exits correctly :)
  91. I think i don't need to tell how to change this in your Hex-Editor, well i do it anyway ;)
  92.  
  93. Go to offset 0000043C and you'll see:
  94.  
  95. 752A
  96.  
  97. Change it into this:
  98.  
  99. EB2E
  100.  
  101. That's all :)
  102. Now when you press the Exit Button the program quits.
  103. Job done...
  104.  
  105.  
  106. --->    Greetings...
  107.  
  108. Everybody from TrickSoft        (www.TrickSoft.net)
  109. Everybody from Cracking4Newbies        (www.Cracking4Newbies.com)
  110. Everybody from Keygenning4Newbies    (Keygenning4Newbies.cjb.net)
  111. Everybody from ReverseMes        (ReverseMes.cjb.net)
  112. And You...
  113.  
  114.             Don't trust the Outside, trust the InSiDe !!!
  115.  
  116.                       Cya...
  117.  
  118.                     CoDe_InSiDe
  119.