Crackme

CrackMe — это компьютерная программа, содержащая механизм контроля доступа, который предназначен для обхода[1]. Такая программа, как правило, при запуске запрашивает пароль или серийный номер. Цель заключается в обходе данного защитного механизма. Помимо этого, большинство CrackMe состоит лишь из короткого, часто шуточного текста или изображения, которые отображаются после успешной попытки взлома.

История

Взлом CrackMe рассматривается как своеобразный «спорт» среди специалистов по обратному инжинирингу[1]. CrackMe предоставляют легальное поле деятельности для реверс-инжиниринга, который в случае коммерческого программного обеспечения может быть юридически проблематичен, а в случае открытого ПО — не представляет интереса. Существуют специализированные веб-сайты, предлагающие CrackMe различных уровней сложности и сопутствующие учебные материалы[1][2].

Возможные «решения» CrackMe могут быть разными:

  • найти корректный пароль или серийный номер;
  • изменить программу так, чтобы она принимала любой серийный номер или вовсе не запрашивала его;
  • написать программу, которая генерирует серийные номера, принимаемые CrackMe.

Для взлома CrackMe обычно используются такие инструменты, как дизассемблер и отладчик, поскольку исходный код CrackMe, как правило, намеренно не предоставляется. Поэтому большинство CrackMe пишутся на компилируемых языках программирования и распространяются только в исполняемом виде. Сложность CrackMe часто заключается в затруднённом для восприятия человеком обфусцированном коде.

Типы

CrackMe можно подразделить на различные типы:

KeygenMe

В этих CrackMe задача состоит в создании генератора ключей. Это отличается от обычного CrackMe тем, что, как правило, требуется применение интересных криптографических алгоритмов и знание криптографических и шифровальных методов для создания кейгена[3].

ReverseMe

В данном случае речь идёт о CrackMe, где требуется модифицировать файл приложения так, чтобы он выдал нужную информацию — например, код, — либо отразил изменённые сведения. В отличие от обычных CrackMe, ReverseMe используют широкий спектр техник защиты от анализа, выходящих за пределы применения криптографических алгоритмов, чтобы затруднить модификацию файла программы[4].

UnpackMe

UnpackMe — особый вид CrackMe, в котором файл был сжат, защищён или обфусцирован с помощью специального или коммерческого упаковщика или протектора для исполняемых файлов. Задача состоит в распаковке — восстановлении исходной формы исполняемого файла. В большинстве случаев это включает в себя восстановление таблицы импортов, восстановление исходного кода и реконструкцию структуры исполняемого файла для того, чтобы добиться его корректного запуска[4].

См. также

Примечания

  1. 1 2 3 CrackMes.de: Frequently Asked Questions (англ.). crackmes.de. Дата обращения: 18 июня 2024. Архивировано 14 июля 2006 года.
  2. CrackMes на tdhack.com. tdhack.com. Дата обращения: 18 июня 2024.
  3. STEM Cyber Challenge 2018: Keygenme (англ.). TechOrganic Blog (21 апреля 2018). Дата обращения: 18 июня 2024.
  4. 1 2 How to write a CrackMe for a CTF competition (англ.). PELock (июль 2016). Дата обращения: 18 июня 2024.

Категории