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

и хакнули не самый простейший


Вот мы и хакнули не самый простейший crackme под LINUX, продемонстрировав базовою технику взлома. Конечно, это грязный взлом, так же именуемый bit-hack'ом, и тут совершенно нечем гордится. Более аккуратные хакеры анализируют алгоритм проверки пароля и пишут кей-ген, генерирующий подходящий пароли/серийные номера. Это намного более сложная операция, которую трудно изложить в одной-единственной статье. Лучше сходите на мой ftp-сервер (nezumi.org.ru). Если мыщъх не спит и из его трубы идет дым, сервер стоит на раздаче всяких интересных материалов.
Но все-таки вернемся к кей-генам. Вот пара готовых решений, которые стоит почитать начинающим (но только после того, как вы напишите своей собственный key-gen). Вот: www.crackmes.de/users/yanisto/tiny_crackme/solutions/tiocsti
и вот www.crackmes.de/users/yanisto/tiny_crackme/solutions/krio.
Кстати, вот несколько подходящих паролей: b00m, v2Do, f64k. По идее, после взлома программа должна воспринимать их как неправильные (мы же ведь инвертировали условный переход), но… "вопреки усилиям врачей", она к ним вполне благосклонна. Вот так головоломка! Но на самом деле все проще простого. Создатель крякмиса совместил в одном переходе контроль целостности кода с проверкой валидности пароля. Поскольку, после хака целостность кода была нарушена, инвертированный условный переход срабатывает *всегда* независимо от того какой пароль был введен. Вообще говоря, tiny-crackme содержит довольно много секретов… Поковыряйте его на досуге. Получите массу удовольствия.

Рисунок 9 взломай меня!

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