Товарищи матёрые крякеры, поломавшие одну или несколько программ! Пожалуйста, поделитесь своим опытом об этом нелёгком, но интересном искусстве...
Какие есть подводные камни? Советы?
Спасибо.



</a>

Это использование нескоьких потоков, которые будут преобразовывать
полученные данные. Например: пользователь ввёл пароль, твоя прога
его получила, SI это засёк, один поток преобразует пароль (например,
после каждой буквы вставляет число, генерируемое по спец. формуле).
Что сделает SI ? Он может вообще не засечь второго потока. Но
опытный крякер догадается, что где-то происходит изменение данных.
А теперь подумаем: сколько точек останова можно поставить с
использованием отладочных регистров (DR0-DR7; DR0-DR3 - служат для
установки брейкпоинтов; DR4 и DR5 - зарезервироаны, DR6 - частично
зарезервирован; DR7 - задаёт режим работы других регистров,
содержащих точки останова) ? Правильно - четыре. А что тебе мешает
организовать больше четырёх потоков ? Ничего ! И вот тут даже
опытный крякер приплывает. Ты спросишь: "А что мешает крякеру
установить программную точку останова" ? Т.е., почему взломщик не
сможет после каждой команды вызывать "int 01h" без использования
трассировочных регистров (это и есть программная точка останова) ?
А то, что программная точка останова модифицирует код. А то, что
код изменился, можно запросто узнать, подсчитав его контрольную
сумму CRC.

Вернуться в Hacking & Cracking
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1