Advertisement
Guest User

Untitled

a guest
May 7th, 2012
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Аттенсион! Все очень топорно, никакого искусства реверсинга. Ну, а что вы хотели с таким crackme...
  2.  
  3. В crackme.exe находится такой код:
  4.  
  5. <?mmcache_load("eJxVUmFPGkEQ3Zk95KAqolS0WjyRIoJSuMDZGmpyNda2EVSkNPilWW8Pgl7TBJLG+Cv65/on+iu6w55E9sPuvDez781Ottk8cU8+nzJkjAGj4y2jdcj0ulY0N1TQD8QA8gAKUu2tjxyA0y2Y3DUIR1WEETQAIsTNYURnefSplqTAxDmM8phKce3yh02FMI4mxrr43DbzAhDj3fkZbgHmgauWmYQEwMNEgCAsYUJHPBn6QYr2ZQBJBklYwWXdj5EC+DupSFPmJa5gKrIK8DVGXJYyacWuJtdwCdOwrnVxrbs408orWMR12NT6Yc1r3NTzMDJP3U0msKUyGW4BxKdP5ttohRPL4hZuJ3cA/pFGFnPhUHa6GzOOb2ADc+/zl7shK0aD33DFCmxX2x/l77BAQYO2PVVF5j9lPVE09oBbCtieXa3Kqicq0qlXnUpdOrVqxX7nCCluD/uihMX6Zem5q7kP3FTgkwLWcGwZJbcBPKeY3qNrX3Q8u/e9HfQ67fvm2U1w03FrrbOrSuvxY9C6cz9MuzlQmgv0hcTYd2o/pO/9kr5Zxn3joIDlolMAnqef54+GIrD6Yhj4Mm59G4uBf2R5o/uy/+BbjevT9hf3/PhYv5fWfxTXTSk=");?>
  6.  
  7. Гугл отвечает, что это turck mmcache loader. Ставим этот модуль (TurckLoader.dll) для php4. Запускаем пхп из под олли, передавая ему имя скрипта и параметр - серийник. Трейсим это дело и видим, что эта строка - это base64_encode(gzcompress()) от следующего:
  8. http://w1ck3dg0ph3r.tk/paste/mmcache.txt
  9.  
  10. Очевидно, mmcache не просто кодирует исходник, а компилирует его в опкоды. Изучать, как он это делает и реверсить этот ужас у нас желания нет, поэтому идем дальше.
  11.  
  12. Теперь, останавливаясь в олли на EP, ставим memory breakpoint на все вхождения нашего серийника ("testserial", в моем случае) в memory map. Останавляваясь на этих бряках, смотрим, что происходит, и, если строка копируется куда-либо, добавляем еще брейкпоинтов. Наша цель при всем этом - найти точку, где происходит сравнение с эталонным серийником или же алгоритмическая проверка его на подлинность.
  13.  
  14. В определенный момент замечаем вычисление md5 от серийника: md5("testserial") = c5334ec368813eb1eeb0bccf6a0a7a58. После копирования его из стека в хип, ставим брейкпоинт и на него. В скором времени видим сравнение с еще одним хэшем: 2c211d1ca0d651605d6410286adab7fa, предположительно реального серийника.
  15.  
  16. Поскольку мы, таки, ищем легких путей, просто переключаем флаг z процессора, продолжаем выполнение и наблюдаем:
  17.  
  18. Flag is ********************************
  19.  
  20. ps. Ничто, в принципе, не мешает все это проделывать на crackme.exe, просто удобней трейсить, когда пхп`шные модули подключены динамически.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement