Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Корсары проклятье дальних морей: Пример взлома CD.

Обсудить статью на форуме

Массу крэкерских инструментов, видеоуроков и статей вы сможете найти на видеокурсе от нашего сайта. Подробнее здесь.
Автор: Fess Дата: 25.06.2002 Тьютор: 13

-+-+-+-+-+-+-+-+-+-+ For education uses only +-+-+-+-+-+-+-+-+-+-
 Target: Корсары проклятье дальних морей
 
 Tools:    Немного мозгов
           Win32Dasm 8.93
           Любой файловый менеджер
           Hex-редактор
 
Пролог
Вступление: Наконец-то заработал CD-ROM!!! Дали мне тут гамес Корсары от известной в России фирмы 1С. Насколько мне известно игры от этой фирмы за- щитой не блещут. Установилась хорошо, вот только без кампакта работать не хотела. Что ж придется помочь. А заодно вот решил накатать тьюториал, как иллюстрация к другому моему тьюториалу от 31.05.2002 с названием "Практи- чески все о взломе CD". Найти можно на vallkor.chat.ru. Что за прога: Вполне приличный гамес типа RPG. Минимальные системные требования: PII-233МГц, 64 Мб оперативки, 3D-видео карта, 800 Метров на ЖД, Win9x.
Начало
Первое, что надо сделать это проверить, каким методом гамес проверяет наличие CD. Вариантов 3: использует функцию GetDriveTypeA, пишет букву CD в файл, другим способом. Первые два наиболее популярны. Проверяется это так, заходим в "Система" Панели управления и изменяем имя вашего CD-ROM'a на любое другое. У меня был K: я заменил на Z:. Перезагружаем. И запуска- ем гамес, компакт с игрой, оставив в лотке CD-ROM'a. Заработала. Значит тип защиты (скорее всего номер 1).
Взлом
Засовываем запускающийся файл engine.exe в Win32Dasm и ищем там, в разделе Импорта строку KERNEL32.DLL GetDriveTypeA. К сожалению, ее там не оказалось. Стукните рукой по CD-ROM'у может заработает. И тут нам приходит в голову, что если ее тут нет, значит она может быть где- нибудь еще, например, в динамической библиотеке (dll). Запускаем любой фаловый менеджер (я предпочитаю клоны DosNavigator'a, в частности NDN). Заходим в каталог куда мы установили Корсары нажимаем Alt-F7. Выбираем такие опции: Поиск в текущем каталоге, Рекруссивный поиск. В Имя файлов пишем *.dll в Содержащий текст пишем GetDriveTypeA. И запускаем, если все сделано правильно находится один файл core.dll, его и дизассемблируем. Опять смотрим в таблицу импорта. Нашлась строка, нажимаем на нее два раза и вываливаемся тут. :1000C86A 8D6C1C18 lea ebp, dword ptr [esp+ebx+18] :1000C86E 55 push ebp * Reference To: KERNEL32.GetDriveTypeA, Ord:0104h | :1000C86F FF1534700110 Call dword ptr [10017034] :1000C875 83F805 cmp eax, 00000005 :1000C878 7579 jne 1000C8F3 :1000C87A 8BFD mov edi, ebp Ага, это почти 100% то, что нам нужно, если посмотреть в моей общей статье (см. выше) вид функции GetDriveTypeA, то можно узнать, что она во- звращает в eax 3, если имя ЖД и 5, если имя CD. То есть здесь нам надо просто заменить по адресу в файле C877 число 05 на 03. Посмотрим дальше, может еще что-нибудь есть. :1000C8DC 895704 mov dword ptr [edi+04], edx :1000C8DF 894708 mov dword ptr [edi+08], eax * Reference To: KERNEL32.CreateFileA, Ord:0034h | :1000C8E2 FF150C700110 Call dword ptr [1001700C] :1000C8E8 8BF0 mov esi, eax :1000C8EA 83FEFF cmp esi, FFFFFFFF :1000C8ED 752C jne 1000C91B Да, вот еще один трюк, попытка создать файл на CD, если бы вы это про- пустили, она бы не заработала, потому что на ЖД можно создать файл. И вы- деленное сравнение, есть ни что иное как проверка создался файл или нет, т.е. если в eax (потои перешедшее в esi) возвратилось FFFFFFFF, вроде как файл не смог создаться, то все нормально. Значит здесь надо заметить в файле по адресу C8ED число 75h (jne,jnz) на EBh(jmp), т.е. на безусловный переход. Посмотрим может еще что-нибудь есть. Да вроде нет , дальше выход из функции обеспечивающей проверку. Если вы хорошо разбираетесь в этом, то можете увидеть, что функция проверки возвращает eax=1, если проверка уда- лась и eax=0, если не удалась. Вывод: можно в самом начале функции напи- сать mov eax,1 , а затем ret. Это попробуйте сами.
Послесловие
Товарищи программисты. Это не защита это отмазка, любой начинающий сломает ее не трудясь за 3 минуты. Хотите получать деньги, делайте лучше. Автор: Fess
Все ругательства отправлять в null
Все остальное на lomovskih@yandex.ru

Спасибо за интерес к моему творчеству!
Удачи в Reversing Engeneering!
P.S. Запомните все материалы публикуются только в учебных целях и автор за их использование ответственности не несет!!
P.P.S. Возможно имеют место опечатки, заранее извините!


With best wishes Fess

И да пребудет с вами великий дух bad-сектора.



Обсуждение статьи: Корсары проклятье дальних морей: Пример взлома CD. >>>


Комментарии к статье: Корсары проклятье дальних морей: Пример взлома CD.

BatBoris 24.02.2005 05:52:48
Это херня, попробуй ИЛ-2 штурмовик! У меня на него 2 дня ушло
---

Материалы находятся на сайте https://exelab.ru



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS