Cracking: шаг второй
Xakep, номер #045, стр. 045-040-4 Создаем кряк Но мы добились результата в отладчике, теперь нужно исправить исполняемый файл и создать крэк. Как найти нужное смещение в файле, ведь в дизассемблере и отладчике мы работали с абсолютными адресами. Во-первых, можно просто поискать последовательность байтов в файле. Но это не серьезно. Их можно легко высчитать. Если ты уже закрыл программу - запусти по новой, если нет - вернись в SoftICE (комбинация [Ctrl][D]). Набери команду MAP32 MAILTHEM. Ты увидишь абсолютные адреса сегментов ломаемой программы. Нас интересует сегмент CODE, его адрес 00401000. Вычитаем его из адреса найденной инструкции. Это можно сделать в командной строке того же SoftICE, просто набери ? 005083F8-00401000. Увидишь результат 1073F8. Это смещение команды относительно начала сегмента. Теперь копируем mailthem.exe в cracked.exe. Последний открываем с помощью утилиты QView. Переключаем ее в режим дизассемблирования (клавишей [Enter]). Нажимаем [F8] - просмотр заголовка, затем [F3] - список сегментов. Физическое смещение сегмента CODE относительно начала файла - 400. Т.е. условный переход находится в файле по смещению 400+1073F8=1077F8. Убедись, что файл просматривается как 32-битное приложение (переключение 16/32 бит - клавиша [F2]). Далее нажми [F5] и введи вычисленное нами смещение для перехода на нужную команду. Осталось изменить условный переход на безусловный. Перейди в поле ассемблерных команд и исправь JNZ на JMP. Либо просто поменяй опкод 75 на EB. Выйди из QVIew, сохранив изменения. Запусти cracked.exe и убедись, что nag-screen исчез бесследно. А мы всего-то поменяли один байтик. Осталось поделиться результатом со всей мировой общественностью. Т.е. создать крэк. Для этого воспользуемся утилитой Compare2Unlimited. Заполни один раз файл C2U.CFG своими данными, и при генерации крэка они автоматически будут подставляться в файл. Утилита C2U требует два параметра - имена исходного файла и исправленного. Вот как выглядит наш крэк: [BeginCRX"MAILTHEM.CRX"]--------------------- Description : [W32] Mail Them Pro 6.2 Crack subject : Nag-Screen [BeginCRA]----------------------------------- Patch was made to show how easy crack program #SINGLE #SIZE 1485824 #CHKSUM 94E5FEC2 8BC443C2 Difference(s) between mailthem.EXE & cracked.EXE MAILTHEM.EXE 001077F8: 75 EB [EndCRA]------------------------------------- [EndCRX]------------------------------------- Вот и все. Теперь ты сам видишь, насколько легко ломаются современные программы. Удачных тебе взломов. В следующей статье я покажу, как обходятся другие виды защит и помогу освоить другой крэкерский инструментарий. |