Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #92, АВГУСТ 2006 г.

Как сокрушают протекторы

Крис Касперски

Хакер, номер #092, стр. 092-102-5


Компиляция осуществляется простым запуском утилиты make, после чего у нас на диске образуется stripshiva — распаковщик не защищенных паролем файлов и shivalkm.o — загружаемый модуль ядра для взлома паролей. Незапароленные программы распаковываются так:

# stripshiva x.shiva

А вот для взлома запароленных файлов приходится совершать гораздо больше телодвижений (при этом предполагается, что запароленный файл уже запущен, то есть пароль должен быть известен, по-другому, увы, ломать не получается):

КОД

Распаковка файлов, обработанных протектором Shiva и защищенных паролем

; загружаем LKM-модуль в память

$ insmod shivalkm.o

; выгружаем модуль (свою работу он уже выполнил)

$ rmmod shivalkm

; проверяем журнальные записи на наличие любых сообщений

$ tail /var/log/messages

; превращаем дамп в готовый ELF-файл

$ stripshiva -p shivaout

Shiva — это лучший протектор из всех, существующих под *nix, но на проверку это оказывается всего лишь кривая калька с Armadillo и к тому же практически неработоспособная.

Сводная таблица свойств упаковщиков

+-------------------------------------------------------------------+

| характеристика | ELFCrypt | UPX | Byrneye | Shiva |

+-------------------------------------------------------------------+

|anti-debug | нет | нет | да | да |

|anti-dissembler | есть | нет | да | да |

|anti-ltrace | нет | да | да | да |

|allow to attach | да | да | да | нет |

|anti «procdump» | да | нет | нет | да |

|интерфейс | libc | syscall | syscall | syscall |

|содержит распак. | нет | да | нет | нет |

|взломан | да | да | да | да |

+-------------------------------------------------------------------+

Назад на стр. 092-102-4  Содержание