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