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

  1.     <How to find the right serial in Brad Soblesky┤s crackme>
  2.  
  3.                 Hi there!
  4. This is my first attempt of writing a tutorial for a crackme, lucky for
  5. me I chose an easy one :) It might be good for real newbies to check it
  6. out.
  7.  
  8.                 The crack
  9. Fireupp the crackme, and enter a fake serial. Now switch to si(softice)
  10. and set some breakpoints, we use the most commons ones,
  11.  
  12. :bpx getdlgitemtexta
  13. :bpx getwindowtexta
  14.  
  15. Then go out of si and press ok. If you did everything right you should
  16. now be in si again. So press F11 once to get to the break, and then F12
  17. to get into the code. Lets look what happens.
  18.  
  19. You should land right here:
  20.  
  21.  
  22. :0040155C 8D45F4                  lea eax, dword ptr [ebp-0C]
  23. <If we do "d eax" here, we can se the fake serial>
  24.  
  25. :0040155F 50                      push eax
  26. <Pushes the fake serial into the stack>
  27.  
  28. * Reference To: KERNEL32.lstrlenA, Ord:0308h
  29.                                   |
  30. :00401560 FF1504204000            Call dword ptr [00402004]
  31. :00401566 8945F0                  mov dword ptr [ebp-10], eax
  32.  
  33. <Check if we entered a serial>
  34. :00401569 837DF001                cmp dword ptr [ebp-10], 00000001
  35.  
  36. :0040156D 7316                    jnb 00401585 <if we did, jump>
  37. :0040156F 6A40                    push 00000040
  38.  
  39. * Possible StringData Ref from Data Obj ->"CrackMe"
  40.                                   |
  41. :00401571 682C304000              push 0040302C
  42.  
  43. * Possible StringData Ref from Data Obj ->"Enter Registration Number"
  44.                                   |
  45. :00401576 6834304000              push 00403034
  46. :0040157B 8B4DE0                  mov ecx, dword ptr [ebp-20]
  47.  
  48. * Reference To: MFC42.Ordinal:1080, Ord:1080h
  49.                                   |
  50. :0040157E E87B050000              Call 00401AFE
  51. :00401583 EB3C                    jmp 004015C1
  52.  
  53. * Referenced by a (U)nconditional or (C)onditional Jump at Address:
  54. |:0040156D(C)
  55. |
  56.  
  57. <After the jump we land here:>
  58.  
  59. :00401585 8D4DE4                  lea ecx, dword ptr [ebp-1C]
  60. :00401588 51                      push ecx
  61. :00401589 8D55F4                  lea edx, dword ptr [ebp-0C]
  62. :0040158C 52                      push edx
  63.  
  64. <Push real serial into ecx and the fake into edx>
  65. <Do a "d ecx" here and you can se the real serial.>
  66.  
  67. * Reference To: KERNEL32.lstrcmpA, Ord:02FCh
  68.  
  69. <calls the lstrcmpa funktion, it compares the 2 strings with each other>
  70.  
  71.                                   |
  72. :0040158D FF1500204000            Call dword ptr [00402000]
  73.  
  74. <test the outcom of the compare>
  75. :00401593 85C0                    test eax, eax
  76.  
  77. <If serial is bad, jump to bad boy, if not just go on>
  78. :00401595 7516                    jne 004015AD
  79. :00401597 6A40                    push 00000040
  80.  
  81. * Possible StringData Ref from Data Obj ->"CrackMe"
  82.                                   |
  83. :00401599 6850304000              push 00403050
  84.  
  85. * Possible StringData Ref from Data Obj ->"Correct way to go!!"
  86.                                   |
  87. :0040159E 6858304000              push 00403058
  88. :004015A3 8B4DE0                  mov ecx, dword ptr [ebp-20]
  89.  
  90. So, that wasnt so difficult was it ? If you did "d ecx" where i
  91. told you the serial would be you would se: <BrD-SoB> = real serial.
  92.  
  93. If you got any questions about this tutorial, send them to:
  94.  
  95. ingetalls@hotmail.com
  96.  
  97. Bye!        /tarq
  98.  
  99.