home *** CD-ROM | disk | FTP | other *** search
/ Cracking 2 / Cracking II..iso / Texty / crackme / CM2_TUT.TXT < prev    next >
Encoding:
Text File  |  1996-01-01  |  2.9 KB  |  84 lines

  1. Tutorial for c4a Crackme #2
  2. ---------------------------
  3.  
  4. Written by Prophecy [tNO '98] on 5th August 1998.
  5. -------------------------------------------------
  6.  
  7. [Note if there are things you don't quite understand email me at
  8. prophecy_@usa.net or catch me in EFNET in #cracking4newbies or #tno.]
  9.  
  10. Please read my tut for c4a Crackme #1 first!  (get it from crackme.home.ml.org
  11. or proph.home.ml.org in my crack pack).  I didn't check if cm2 crashed
  12. smartcheck, i spose it does.  Using similar techniques to cm1 to break into
  13. the target, the protection is a lamentable improvement on cm1 (and the quick
  14. trick detailed at the end of cm1 tutorial still works as it still does only
  15. XORS on your code!).
  16.  
  17. Another thing is that tracing code is something that comes with experience,
  18. there is no quick and easy way and if c4a are reading this maybe their next
  19. crackme (for newbies) should be in C or something less bloated.  Anyway, I
  20. think most ppl would find the tracing harder than the protection :)
  21.  
  22. Btw, if you are getting stuck trying to find the place where the two XORs
  23. occur, the lines are 0x402ccf and 0x402e14.  First type "addr cm2" , then type
  24. bpx blahfoo.  Softice will break when it reaches that line of code.
  25.  
  26. Now the guys at c4a decided to get clever and first of all XOR each char
  27. of your code with the ascii value 0x34.  So if you entered '678678678'
  28.  
  29.                36 37 38 36 37 38 36 37 38
  30.    xor with:   34 34 34 34 34 34 34 34 34
  31.                --------------------------
  32.                02 03 0c 02 03 0c 02 03 0c
  33.  
  34. Now i'm not sure why but they also like the number 2000 a lot as it pops up
  35. in this crackme as well!  And is used in the exact same way.
  36.  
  37. thus :                02 03 0c 02 03 0c 02 03 0c
  38.          xor with:    32 30 30 30 32 30 30 30 32
  39.                       --------------------------
  40.                       30 33 3c 32 31 3c 32 33 3e (which is 03<21<23> in ascii)
  41.  
  42. This time the code is compared with "VeiajeEjbavwij".
  43.  
  44. Thus:   V  e  i  a  j  ....... (string)
  45.        56 65 69 61 6a          (hex value for ascii)
  46.  
  47.  
  48. so this time: (char1^0x34)^32=56
  49.  
  50. (read my tut for c4a crackme #1 for a better explanation of XOR)
  51.  
  52. let char1^0x34 = a, b = 32, c = 56.
  53.  
  54. thus a ^ b = c, c ^ b = a, a = c ^ b, thus:
  55.  
  56. char1^0x34 = 56 ^ 32
  57.  
  58. now let a = char1, b=34 , c=56^32
  59.  
  60.          so char1=(56^32)^34 = 50 = P
  61.   similarly char2=(65^30)^34 = 61 = a
  62.             char3=(69^30)^34 = 6d = m
  63.             char4=(61^30)^34 = 65 = e
  64.             char5=(6a^32)^34 = 6c = l
  65.  
  66. etc... i'll leave up to you to figure out the rest... pretty obvious... btw
  67. i heard she was going to do a nude photoshoot for playboy soon.. mmmmmm must
  68. get playboy must get playboy :)
  69.  
  70. Greetz:
  71. ------
  72.  
  73. As usual, out to the #cracking4newbies crew.  For a full list of my greetz
  74. see proph.home.ml.org
  75.  
  76. Conclusion:
  77. ----------
  78.  
  79. A trivial protection, however some good tips for newbies in this tut.
  80.  
  81. -Prophecy.
  82.  
  83. Veni Vedi Veci.
  84.