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


         

Исследование tiny-crackme извне и изнутри


Сразу же после запуска крякмиса на экране появляется короткая заставка и строка "enter password", ожидающая пароля. Вводим что-нибудь наугад (например, "KPNC") и, естественно, получаем "Wrong password, sorry…".

Рисунок 3 tiny-crackme, запрашивающий пароль

Password:

root@6[~]# cd /home/kpnc/hack

root@6[hack]# ./tiny-crackme

      Tiny_crackme - nisto's crackme #2

      ---------------------------------

This one has a particularly small size...

Hope u'll get some fun with it.

You can join me at yanisto@nuxed.org or on #secdev@freenode.net

Enter the Password :   KPNC

 Wrong password, sorry...

Листинг 1 реакция tiny-crackme на неправильный пароль

Дальше гадать бессмысленно, надо ломать. Загружаем файл в свой любимый gdb ("$gdb tiny-crackme"), но… не тут-то было! Отладчик, грязно ругается, отказываясь признавать tiny-crackme исполняемым файлом (см. рис. 4). Что за чертовщина! Ведь мы же его только что запускали и он вполне нормально исполнялся. Ладно, берем objdump и расчехляем дизассемблер ("$objdump -D tiny-crackme"), но... он тоже не может распознать формат файла и с позором убегает.

Рисунок 4 tiny-crackme не отлаживается gdb и не дизассемблируется objdum'ом

GNU gdb 6.1-debian

Copyright 2004 Free Software Foundation, Inc.

GDB is free software, covered by the GNU General Public License, and you are

welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.

There is absolutely no warranty for GDB.  Type "show warranty" for details.

This GDB was configured as "i386-linux"..."/home/kpnc/hack/tiny-crackme": not in executable format: File format not recognized

Листинг 2 попытка отладки tiny-crackme с помощью gdb и ее результаты

root@5[hack]# objdump -D tiny-crackme

objdump: tiny-crackme: File format not recognized



Содержание  Назад  Вперед