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

  1.             Tutorial Number 6
  2.  
  3. Written by Etenal Bliss
  4. Email: Eternal_Bliss@hotmail.com
  5. Website:http://crackmes.cjb.net
  6.         http://surf.to/crackmes
  7. Date written:2nd Feb 1999
  8.  
  9. Program Details:
  10. Name: CrackMe v2.0a
  11. Author: Borna Janes
  12. Language: Visual Basic 6
  13.  
  14. Tools Used:
  15. NuMega SmartCheck 6.01
  16.  
  17. Cracking Method:
  18. Understanding and Analyzing Data in SmartCheck
  19.  
  20. Viewing Method:
  21. Use Notepad with Word Wrap switched on
  22. Screen Area set to 800 X 600 pixels (Optional)
  23.  
  24. __________________________________________________________________________
  25.  
  26.                       Foreword
  27.  
  28. Before you read the following, I suggest that you go to my website and read 
  29. my two essays on VB cracking first. You will find the common breakpoints 
  30. and some uncommon ones. And there are explanation on what they are for. 
  31. Also, I have described the common things you will see in SmartCheck as well. 
  32. They will aid in understanding all the information given by SmartCheck and 
  33. are definitely useful.
  34.  
  35. __________________________________________________________________________
  36.  
  37.  
  38.                         About this protection system
  39.  
  40. No disabled function. Protection is based on a 9 digit combination which 
  41. are compared one by one. Before any serial is checked, the length is 
  42. compared first. If it is not 9 characters, no checking is done.
  43.  
  44. __________________________________________________________________________
  45.  
  46.  
  47.                                  The Essay
  48.  
  49. As this is a tutorial for newbies, I'll go into details about how I go about 
  50. cracking the program. I suggest that you read this tutorial first.
  51. When you have completed the tutorial, leave this tutorial open and follow
  52. the instructions while using SmartCheck. Re-do it once more after you have
  53. completed the step by step guide...
  54.  
  55. __________________________________________________________________________
  56.  
  57.             Understanding and Analysis
  58.  
  59.  
  60. Run SmartCheck. Load the program using it by using "File", "Open"
  61. and choose Bjcm20a.exe
  62.  
  63. If this is your first time using SmartCheck, do the following:-
  64. Under Program Settings:-
  65.     Error Detection: "tick" all boxes except "Report errors immediately".
  66.     Advanced: "tick" first 4 boxes. 
  67.           Make sure "Suppress system API and OLE calls" is not "ticked".
  68.     Reporting: All boxes "ticked" except for "Report MouseMove events 
  69.            from OCX controls"
  70.  
  71. **I have captured the images of the three boxes for better reference. They are 
  72.   available on http://crackmes.cjb.net or http://surf.to/crackmes
  73.  
  74. Run Bjcm20a.exe in SmartCheck by pressing F5. Type in any registration
  75. code you want. (I used 99999999) Then click "Check It". You will get an 
  76. error message. Exit the program.
  77.  
  78. Ok. You will see a few lines in the left window. Look for Command1_Click.
  79.  
  80. **This is the subroutine in VB that is called when you click on the 
  81.   "Check It" button.
  82.  
  83. Click on the "+" sign next to Command1_Click to expand the thread in it. 
  84. You will notice that there are only 3 lines.
  85. The most important line is 
  86. Len(String:"99999999") returns LONG:8
  87.  
  88. **This means that the length of the code you entered is checked...
  89.  
  90. So, I tried 9 characters... "999999999"
  91.  
  92. Re-run the program and enter "999999999". You will get the error message 
  93. again.
  94. Click on the "+" sign next to Command1_Click. 
  95. This time, you will see more lines in it with other functions like 
  96. Asc and Mid...
  97. So, we are right about the length check.
  98.  
  99. Under "View" in SmartCheck, choose "Show All Events" and "Show Arguments".
  100.  
  101. **This is also capture in a file called setting4.jpg file on 
  102.   http://crackmes.cjb.net or http://surf.to/crackmes
  103.  
  104. **Make sure you click on Command1_Click first or you will be lost
  105.   in a sea of codes!!!
  106.  
  107. Interesting lines include:
  108. 1) Mid$(String:"999999999", long:1, VARIANT:Integer:1)
  109. **This means to get the first char of the code you entered.
  110.  
  111. 2) __vbaVarTstNe(VARIANT:Const Double:9, VARIANT:String:"3")...
  112. where did the "3" come from?? And it is compared to our 1st char "9"
  113. **__vbaVarTstNe means VARiant type data is TeSTed to see if they are 
  114.   Not Equal
  115.  
  116. So, we will presume that the first char must be 3.
  117.  
  118. Choose "Show Errors and Specific Events" under "View" to reduce the 
  119. number of lines.
  120.  
  121. Then, re-run the program and this time, enter "399999999"
  122. Repeat the steps above. you will see even more lines now.
  123. Click on the "+" sign again.
  124.  
  125. This time, after the 1st __VbaVarTstNe, you will see
  126. Mid$(String:"399999999", long:2, VARIANT:Integer:1)
  127. **It means get the 2nd char which is "9"
  128.  
  129. Near the end, look for 
  130. __vbaVarTstNe(VARIANT:Const Double:9, VARIANT:String:"0")...
  131. Again... a mysterious number "0" appeared. 
  132. But you will know that we are on the right track because the 2nd char 
  133. is now being compared...
  134.  
  135. So, repeat the steps above again. Entering "309999999"
  136. **Reminder, make sure you reduce the number of lines first by choosing
  137.   "Show Errors and Specific Events" under "View"
  138.  
  139. Keep doing the same thing for 9 times and you will get this serial...
  140. 301674501
  141.  
  142. Program cracked...
  143.  
  144. __________________________________________________________________________
  145.  
  146.                 
  147.                              Final Notes
  148.  
  149. This tutorial is dedicated to all the newbies like me. I've tried to
  150. explain everything in details.
  151.  
  152. And because I'm a newbie myself, I may have explained certain things wrongly
  153. So, if that is the case, please forgive me. Email me if there is anything 
  154. you are not clear about.
  155.  
  156.  
  157. My thanks and gratitude goes to:-
  158.  
  159. The Sandman
  160. All the writers of Cracks tutorials