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

  1. Written by - george
  2. Email - george@pentire2.demon.co.uk
  3. Date written - 10th March 1999
  4.  
  5. Program Details:
  6. Name - VBCrackMe v2.0
  7. Author - Eternal Bliss
  8. Language - Visual Basic 6.0
  9.  
  10. Tools Used - SmartCheck
  11.  
  12. Cracking Method - Observation, Hunches, Guessing, luck in general really.
  13.  
  14. Viewing Method - Notepad with word wrap.(full screen preferably)
  15.  
  16.       -----------------------------------------------------------------------------------
  17.  
  18. Protection System:
  19. Based on a serial number of undefined length.
  20.  
  21.       -----------------------------------------------------------------------------------
  22.  
  23. SmartCheck SetUp:
  24. Have a look at EB's early tuts and all will be revealed.
  25.  
  26.       -----------------------------------------------------------------------------------
  27.  
  28. The Essay:
  29. Load up the CrackMe in SC, and press F5 to start the program.
  30. Have a look at what pops up......
  31. Nothing of any real interest there.......
  32.  
  33. Type in your serial number, in my case, 'george123', then press Register.
  34.  
  35. "Wrong!Try Again!!" (A little hopeful, wasn't it?)
  36.  
  37. Okay....
  38.  
  39. Highlight "command1_click" (by left clicking on it once).
  40. Click on VIEW up the top there, then click on show all events.
  41. Open up "command1_click" by clicking on the "+" next to it.
  42.  
  43. WOW! That is alot of info.
  44.  
  45. For the purposes of this tut I will pick out the lines I think are of interest.
  46.  
  47. If you scroll down the page a bit (in SC that is, not this tut), you should see lines 
  48. that bear more than a passing resemblance to these.
  49.  
  50. Mid(VARIANT:String:"george12...",long:1,VARIANT:Integer:1)
  51. __vbaStrVarVal(VARIANT:String:"g") returns DWORD:410414
  52. Asc(String:"g") returns integer:103
  53.  
  54.  
  55. In the first line "long:1" is grabbing the 1st letter;
  56. In the second line, there it is, "g";
  57. In the third line "g" is being converted to its decimal value, "103".
  58.  
  59. We can see the same thing being repeated further down the listing,
  60. except with "long:1" being replaced with "long:,2,3,4,etc...",
  61. and "g....103" being replaced with other letters and their respective decimal values.
  62.  
  63. If we look a bit further down again you will see the line:
  64.  
  65. __vbaStrVal(VARIANT:String:"10310111...") returns DWORD:4104D0
  66.  
  67. If you left click on it and look at the right window, you will see "georg" converted into
  68. decimal and squished together (103101111114103).
  69.  
  70. "That is all well and good," I hear you say, "But I know what I entered in."
  71.  
  72. Well, if you look further down the listings you can see another whole bunch of numbers which
  73. don't seem to have anything to do with anything....
  74.  
  75. "116104", "64104", "84104105...", "10511532", etc, etc.....
  76.  
  77. If you left click on the numbers which are incomplete (have "..." after them) and have a look
  78. at the right window, you can see the complete number.
  79.  
  80. Now, you will recognise the "103101111114103" from earlier, but what are all the other numbers?
  81.  
  82. What if you were to try and convert the decimals to letters?
  83.  
  84. Let's try that....
  85.  
  86. "116104" ---> "th"
  87. "84104" ---> "Th"
  88. "8410410511532" ---> "This_"(in this case "_" means " "(space))
  89. "10511532" ---> "is_"
  90. "99111" ---> "co"
  91. "114" ---> "r"
  92. "10132" ---> "e_"
  93. "1141019911632" ---> "rect_"
  94. "100101" ---> "de"
  95.  
  96. This doesn't make too much sense on it's own, however if you start rearranging it you should be
  97. able to make out a phrase:
  98.  
  99. "This is the correct code"
  100.  
  101. Let's try entering that as our code....
  102.  
  103. Hurrah....
  104. 'Crack' open the bubbly!
  105.  
  106.  
  107.       -----------------------------------------------------------------------------------
  108.  
  109.  
  110. Congrats, apologies and thanks time:
  111.  
  112. Congrats to me for writing my first tut.
  113. Apologies if it makes no sense.
  114. Thanks for taking the time to read it.
  115.  
  116. Apologies to EB for stealing the essay layout (I was never very good at English Lang. in
  117. school, essay structure and the like), and also for stumbling across the solution instead of
  118. doing it the "correct" way.(Hey, whoever said there was a "right" or a "wrong" way to crack 
  119. a program.)
  120.  
  121. Thanks to EB and Sandman for their sites which are a wealth of knowledge.
  122.