|

[cracking: шаг первый]
Xakep, номер #043, стр. 043-036-2
После того как изменения внесены, генерируется сам крэк, содержащий отличия между оригинальным экзешником и взломанным. Для этого существуют специальные программы, сравнивающие два файла. Для создания крэка в текстовом формате используются утилиты C2C (Compare2Crack), C2U (Compare2Unlimited) либо, в крайнем случае, команда FC (FileCompare) с ключом /B (двоичное сравнение), поддерживаемая еще со старых версий MS-DOS. Но можно создавать крэки в виде исполнимых файлов (*.EXE или *.COM), что будет более удобно для людей, которые ими воспользуются. Это позволяют делать программы Code Fusion, PatchEngine, aPATCH, PGPE (Patch Generator for Packed Executables) и другие. А утилиты CRK2COM и XCK2COM могут пригодиться для перевода уже существующих в текстовом виде крэков в исполнимые файлы.
Однако, прежде чем заняться непосредственно взломом программы, хороший крекер учитывает тот факт, что экзешник может оказаться запакованным и зашифрованным. Для определения этого служат утилиты FA (File Analyzer), EXESCAN, GetTyp и многие другие. Они предоставят информацию, каким упаковщиком сжат файл и, в некоторых случаях, даже чем он откомпилирован. Большинство сжатых файлов распаковывается стандартным образом - многие упаковщики поддерживают функцию распаковки. Но если программа зашифрована с использованием пароля, сжата каким-то нестандартным пакером или к ней пристыкована навесная защита, то придется воспользоваться специальными распаковщиками. Для старых досовских EXE-файлов написано немало таких программ: X-TRACT, UPC (Universal Program Cracker), AutoHack II, SnapShot, CUP386 (CyberWare Universal unPacker). Особенно хочется отметить последние две. С помощью SnapShot мне удавалось снимать навесную защиту, с которой не справлялись остальные автоматические распаковщики. Но для его использования нужно знать, чем откомпилирована вскрываемая программа. А CUP386 имеет несколько режимов работы, в том числе с использованием встроенного отладчика. Эта возможность может пригодиться опытным взломщикам. Для распаковки PE-файлов (это исполнимые файлы в среде Windows) я бы посоветовал ProcDump32, GUW32 (Generic Unpacker Win32), UN-PACK. Кстати, упомянутый выше PGPE, как следует из названия, поддерживает некоторые типы пакеров и автоматически встраивает распаковщик в генерируемый патч.
Мониторинг
Итак, мы выяснили, какой инструментарий нужен для подготовки программы к взлому и для обработки полученных результатов. Но тебе, вероятно, уже не терпится узнать, как же происходит сам процесс взлома. Главным орудием крэкера является отладчик, чуть реже - дизассемблер. Но о них чуть позже. А сейчас я расскажу о некоторых других инструментах, которые также могут оказаться очень полезными, но более простыми в использовании. Каждый из них предназначен для решения вполне конкретных задач.
Назад на стр. 043-036-1 Содержание Вперед на стр. 043-036-3
|