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

  1. *[What]           : CrackMe 9                   
  2. *[ID]             : 6                       
  3. *[Type]           : Name-Company-Serial            
  4. *[Coder]          : tC...                   
  5. *[Downloaded from]: http://crackmes.cjb.net            
  6. *[Official site]  : http://crackmez.cjb.net           
  7.  
  8. By Sanhedrin
  9.  
  10. Tools
  11. WDASM 
  12. Softice
  13.  
  14. --Decompile--
  15.  
  16. Once you decompile this crackme, you notice two references:
  17.  
  18. * Possible StringData Ref from Code Obj ->"-159357-"
  19.                                   
  20. and
  21.  
  22. * Possible StringData Ref from Code Obj ->"-ID-"
  23.  
  24. Probably part of our registration code.  Let's keep those at the back
  25. of our minds for now.  Enter you name, company, serial number 
  26.  
  27. Sanhedrin
  28. Dalfor
  29. 12344321
  30.  
  31. then start up softice
  32.  
  33. BPX HMEMCPY
  34.  
  35. Press register, validate in the crackme and once you have broken into softice disable the breakpoint.
  36.  
  37. Press F12 several times until you get to:
  38.  
  39.  
  40. :00442BC0 E87B06FEFF              call 00423240
  41. :00442BC5 8B45F4                  mov eax, dword ptr [ebp-0C]<----you will land here
  42. :00442BC8 E8670EFCFF              call 00403A34
  43. :00442BCD 83F805                  cmp eax, 00000005<----compare user name to 5 characters
  44. :00442BD0 0F8C85020000            jl 00442E5B<----jump if less than 5
  45. :00442BD6 8D55F4                  lea edx, dword ptr [ebp-0C]
  46. :00442BD9 8B87E0020000            mov eax, dword ptr [edi+000002E0]
  47. :00442BDF E85C06FEFF              call 00423240
  48. :00442BE4 8B45F4                  mov eax, dword ptr [ebp-0C]
  49. :00442BE7 E8480EFCFF              call 00403A34
  50. :00442BEC 83F805                  cmp eax, 00000005<----compare company name to 5 characters
  51. :00442BEF 0F8C66020000            jl 00442E5B<-----jump if less than 5
  52.  
  53. Notice that your user name and company must be at least 5 characters. 
  54.  
  55. --Death by converted code--
  56.  
  57. To make a long story short, this crackme converts your user name and company many times.
  58. This is why it is important to disable all breakpoints prior to continuing.  Press F10, and
  59. watch the code convert before your eyes, until you end up at:
  60.  
  61. :00442DC4 0502010000              add eax, 00000102
  62. :00442DC9 8D55E8                  lea edx, dword ptr [ebp-18]
  63. :00442DCC E86748FCFF              call 00407638
  64. :00442DD1 FF75E8                  push [ebp-18]
  65. :00442DD4 B844594400              mov eax, 00445944
  66. :00442DD9 BA05000000              mov edx, 00000005
  67. :00442DDE E8110DFCFF              call 00403AF4
  68. :00442DE3 E880FDFFFF              call 00442B68<----STOP here
  69. :00442DE8 833D3858440001          cmp dword ptr [00445838], 00000001
  70. :00442DEF 7543                    jne 00442E34
  71.  
  72. At 00442DE3, press F8 to see where this call came from and you will end up at:
  73.  
  74.  
  75. * Referenced by a CALL at Address:
  76. |:00442DE3   
  77. |
  78. :00442B68 A144594400              mov eax, dword ptr [00445944]<----move the real code to eax
  79. :00442B6D 8B1534584400            mov edx, dword ptr [00445834]<----move the entered code to edx
  80. :00442B73 E8CC0FFCFF              call 00403B44<----STOP here
  81. :00442B78 7406                    je 00442B80<----jump if they are the same
  82. :00442B7A E8A9FFFFFF              call 00442B28
  83. :00442B7F C3                      ret
  84.  
  85. At 00442B73 press
  86.  
  87. D EDX <----entered code (12344321)
  88. D EAX <----real code (5850-159357-76050-ID-312)
  89.  
  90. --Conclusion--
  91.  
  92. I have seen this type of protection many times in actual programs. The progammer codes the protection
  93. in such a way that he/she hopes to frustrate the cracker.  Just keep following the code and eventually
  94. you should end up at the final compare sequence.
  95.  
  96.  
  97. Thanks to all of those coders that make these crackmes, and of course to Eternal Bliss.
  98.  
  99.  
  100. Sanhedrin
  101. stachi@geocities.com