Главной особенностью дизассемблирования под LINUX
Главной особенностью дизассемблирования под LINUX является полное отсутствие достойных дизассемблеров (кроме IDA PRO, конечно) и другого инструментария. Поэтому, даже простая защита ставит хакеров в тупик. На самом деле это не тупик, а хитро замаскированный лаз, ведущий в хату чувака Кролика. Ну, а там где есть Кролик, обязательно найдется и мыщъх (по-испански raton), показывающий как эту штуку взломать.
Рисунок 1 чувак кролик
Вот и сейчас он сидит в своей норке и топчет клавиатуру, намериваясь продемонстрировать технику дизассемблирования под LINUX на примере yanisto's tiny crackme, который можно скачать с хорошего немецкого сайта http://www.crackmes.de/users/yanisto/tiny_crackme/. Бесплатно, разумеется. Тут собрана целая коллекция crackme разных уровней сложности и постоянно появляются новые с краткой информацией о них. В частности, описание нашего выглядит так:
It has a very small size (< 400 bytes of bytecode) but implements a few tricks all the same :
имеет очень малый размер (<400 байт байткода), но все-таки реализует некоторые трики:
- Elf headers corrupted, - разрушенный ELF-заголовок;
- "Ciphered" binary, - крипиованный бинарник
- CRC checking, - подсчет CRC
- Anti ptrace, - анти ptrace
- Anti gdb. - анти gdb
Difficulty: 3 - Getting harder сложность: 3 - ("становись сильнее")
Platform: Unix/linux etc. платформа: UNIX/LINUX
Language: Assembler язык ассемблер
Вот его-то мы и будем пытать! В принципе, можно не мучаться, а заглянуть в одно из готовых решений (солюшенов), представленных на сайте, но это нечестно, да и неинтересно. Крякмисов под LINUX совсем немного, хороших крякмисов — еще меньше, и каждый смакуется как вобла с пивом до последнего ребрышка!
Нашим основным инструментом будет IDA PRO, однако, мы так же покажем, как взломать программу с помощью обычного hex-редактора типа HIEW'а, но это будет потом, а пока же откроем пиво и, вставив диск с "Крематорием" в дисковод, наберем в командной строке "$./tiny-crackme".
Рисунок 2 скачиваем tiny-crackme