Особенности дизассемблирования под LINUX на примере tiny-crackme

Главной особенностью дизассемблирования под 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

Содержание раздела