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

  1.             Tutorial Number 5
  2.  
  3. Written by Etenal Bliss
  4. Email: Eternal_Bliss@hotmail.com
  5. Date written: 23rd Jan 1999
  6.  
  7. Program Details:
  8. Name: CrackMe v4.0
  9. Author: Magenta
  10. Language: Visual Basic
  11.  
  12. Tools Used:
  13. NuMega SmartCheck 6.01
  14.  
  15. Cracking Method:
  16. Analyzing Data in SmartCheck
  17.  
  18. Viewing Method:
  19. Use Notepad with Word Wrap switched on
  20. Screen Area set to 800 X 600 pixels (Optional)
  21.  
  22. __________________________________________________________________________
  23.  
  24.  
  25.                         About this protection system
  26.  
  27. No disabled function. Protection is based on a 8 digit combination which 
  28. must satisfy an algorithm.
  29.  
  30. __________________________________________________________________________
  31.  
  32.  
  33.                                  The Essay
  34.  
  35. As this is a tutorial for newbies, I'll go into details about how I go about 
  36. cracking the program. I suggest that you read this tutorial first.
  37. When you have completed the tutorial, leave this tutorial open and follow
  38. the instructions while using SmartCheck. Re-do it once more after you have
  39. completed the step by step guide...
  40.  
  41. __________________________________________________________________________
  42.  
  43.                 Data Analysis in SmartCheck
  44.  
  45.  
  46. Run SmartCheck. Load the program using it by using "File", "Open"
  47. and choose Crackme#4.exe
  48.  
  49. If this is your first time using SmartCheck, do the following:-
  50. Under Program Settings:-
  51.     Error Detection: "tick" all boxes except "Report errors immediately".
  52.     Advanced: "tick" first 4 boxes. 
  53.           Make sure "Suppress system API and OLE calls" is not "ticked".
  54.     Reporting: All boxes "ticked" except for "Report MouseMove events 
  55.            from OCX controls"
  56.  
  57. **I have captured the images of the three boxes for better reference. They are 
  58.   available on http://crackmes.cjb.net
  59.  
  60. Run Crackme#4.exe in SmartCheck by pressing F5. Type in any registration
  61. code you want. (I used 26398457) Then click "Ok". You will get a 
  62. "You failed, try again loser" message. Exit the program.
  63.  
  64. Ok. You will see a few lines in the left window. Look for Command1_Click.
  65.  
  66. **This is the subroutine in VB that is called when you click on the 
  67.   "Ok" button.
  68.  
  69. Click on Command1_Click. Under "View" in SmartCheck, choose
  70. "Show All Events" and "Show Arguments".
  71.  
  72. **This is also capture in a file called setting4.jpg file on 
  73.   http://crackmes.cjb.net
  74.  
  75. **Make sure you click on Command1_Click first or you will be lost
  76.   in a sea of codes!!!
  77.  
  78. Click on the + sign next to Command1_Click to expand the threads
  79. under it. You can go through every single thread if you want.
  80. I'm saving you time now by telling you what to look for...
  81.  
  82. Note: what I entered is 26398457
  83.  
  84. Interesting lines include:
  85. 1) __vbaVarMul(VARIANT:String:"2", VARIANT:String:"6") ...
  86. **1st number multipied by 2nd = 12
  87.  
  88. 2) __vbaVarAdd(VARIANT:String:"3", VARIANT:String:"9") ...
  89. **3rd number joined with 4th = 39 and not 12!!
  90.  
  91. 3) __vbaVarSub(VARIANT:Double:12, VARIANT:String:"39") ...
  92. **Answer from step 1 subtracted by answer from step 2 = -27
  93.  
  94. 4) __vbaVarMul(VARIANT:String:"8", VARIANT:String:"4") ...
  95. **5th number multiplied by 6th number = 32
  96.  
  97. 5) __vbaVarAdd(VARIANT:Double:-27, VARIANT:Double:32) ...
  98. **Answer from step 3 plus answer from step 4 = 5
  99.  
  100. 6) __vbaVarAdd(VARIANT:Double:5, VARIANT:String:"5") ...
  101. **Answer from step 5 plus 7th number = 10
  102.  
  103. 7) __vbaVarSub(VARIANT:Double:10, VARIANT:String:"7") ...
  104. **Answer from step 6 subtracted by 7 = 3
  105.  
  106. 3rd line from step 7 you will see
  107. 8) __vbaVarTstEq(VARIANT:Double:3, VARIANT:Const Integer:10)...
  108. **Answer from step 7 is compared to 10
  109.  
  110.  
  111. Overall formula for the protection scheme:
  112. ((a * b) - (c & d)) + (e * f) + g - h = 10
  113. where a = 1st number, b = 2nd number, c = 3rd number etc...
  114.  
  115. So, by understanding this, we can create our own correct serial.
  116. For example, g = 1 and h = 1
  117. So, ((a * b) - (c & d)) + (e * f) = 10
  118.  
  119. If (a * b) = 16, (c & d) = 12 and (e * f) = 6, we will get 10
  120. So, a = 2, b = 8,  --> 2 * 8 = 16
  121.     c = 1, d = 2,  --> 1 & 2 = 12
  122.     e = 2, f = 3,  --> 2 * 3 = 6
  123. So, (16 - 12)  + 6 = 10
  124.  
  125. One of the correct serial will be 28122311
  126.  
  127. __________________________________________________________________________
  128.  
  129.                 
  130.                                 Final Notes
  131.  
  132. This tutorial is dedicated to all the newbies like me. I've tried to
  133. explain everything in details.
  134.  
  135. And because I'm a newbie myself, I may have explained certain things wrongly
  136. So, if that is the case, please forgive me.
  137.  
  138.  
  139. My thanks and gratitude goes to:-
  140.  
  141. The Sandman
  142. All the writers of Cracks tutorials