Как разблокировать аккаунты, защитить компьютер и стать хакером
Полезные инструменты

Ваш IP

Узнай свой IP адрес

Проверить сайт

Test tools by WebSitePulse

Генератор MD5

1. Введите строку Строка:


2. Копировать MD5:

Реклама

интернетНаконец, я решился на написание этой статьи, идея пришла давно, но
полностью систематизировать решился только сегодня. Сегодня мы не будем
рассматривать конкретного взлома. На это есть две причины:
1) У меня начал глючить CD-ROM, пора менять
2) Статья получилась бы слишком длинной
В принципе вторая причина меня волнует мало, но первая встала доста-
точно остро.
Хотя сдесь и будет в основном теоретический материал, о способах за-
щиты от копирования с CD и методах устранения такой нехорошести, но я
буду приводить и примеры игр, к сожалению, многое ломается на ходу и не
обременяешь себя запоминанием, поэтому примеры игры в основном одни и
те же.
Принципы и методы защиты
Сейчас я постараюсь написать все, когда либо встреченные методы за-
щиты:
1) Проверка на наличие диска
2) Проверка на метку тома
3) Проверка на наличие места
5) Проверка на наличие файла и его аттрибуты
5) Проверка на запись файла
6) Другие виды проверки
7) Некоторые общие моменты

1) Проверка на наличие диска
Я разделяю эти проверки на два класса:
1) Функцией GetDriveTypeA
Теория: Функция GetDriveTypeA возвращает в eax тип диска по его имени
Вот список возвращаемых значений.
0 — — Невозможно определить тип
1 — — Диск не найден
2 DRIVE_REMOVABLE — Гибкий (возможна замена)
3 DRIVE_FIXED — Жесткий (замена невозможна)
4 DRIVE_REMOTE — Сетевой диск
5 DRIVE_CDROM — CD-ROM
6 DRIVE_RAMDISK — RAM — Диск
Как часто встречается:
Такая проверка стоит на абсолютном большинстве ИГР.
Методы взлома:
1) Используя Soft-Ice/TRW2000 поставить бряк на эту функцию командой
bpx GetDriveTypeA и если после выхода в вызывающую программу, недалеко
стоит cmp eax, 00000005, то следует 5 исправить на 3, т.е. программа будет
искать не CD-ROM, а жесткий диск.
2) Дизассемблировать перейти к месту вызова функции, посмотреть, есть ли
сравнение. Это несколько модернизированный вариант пункта 1.
3) На эту идею я натолкнулся в статье Vadim M. «Как отучить игры от про-
верки CD-ROM (на примере Hellfire)». Краткое описание: поскольку функция
GetDriveTypeA вызывается из kernel32.dll будем править там, смысл, чтобы
все жесткие диски в системе были бы как CD-ROM’ы, этого легко достичь пере-
правив результат возвращаеммый функцией с 3 на 5, правдо это не всегда про-
ходит. Эту статью можно увидеть на www.reversing.net
Примеры игр:
Project IGI, Deadly Dozen, and many others
2) Запись имя диска в реестр или файл
Как часто встречается:
Достаточно часто
Метод взлома:
Я использую такой метод, т.к. программа где-то сохранила имя CD-ROM’a,
значит, если мы изменим имя, то программа откажется запускаться, даже если
диск будет торчать в CDюке. Изменяем имя и если запускаться перестанет, то
ищем с помощью RegMon и FileMon, куда программа его запрятала.
Примеры игр:
Shockman (Шокмэн), записывала в файл WINDOWSfacked.ini
2) Проверка на метку тома
Теория: Метка тома проверяется с помощи функции GetVolumeInformation,
если эта функция вызывается, то почти однозначный вывод проверка метки
тома. Функция очень часто используется с категорией 1.
Как часто встречается:
Очень часто
Методы взлома:
1) Используя Soft-Ice/TRW2000 поставить бряк на эту функцию командой
bpx GetVolumeInformation. После этой процедуры скорее всего идет
процедура сравнения правильной метки с вашей. После процедуры переправить
переход.
2) Дизассемблировать перейти к месту вызова функции, посмотреть, есть ли
сравнение и т.д.. Это несколько модернизированный вариант пункта 1.
3) Если категорию 1 вы уже правили. Посмотреть метку тома на компакт-ди-
ске, и установить такую же на любом жестком диске.
4) Если категорию 1 не правили. Берем любой свой компакт с длинной метки
тома меньшей, либо равной длинне метки на ломаемом компакте. Ищем в испол-
няемых файлах программы, настоящую метку и заменяем ее нашей. Вывод если
Вы вставляете свой компакт, игра думает, что это ее родной.
Примеры игр:
Deadly Dozen
3) Проверка на наличие места
Теория: Наличие свободного места на диске проверяется функцией
GetDiskFreeSpace. Функция вызывается для того, чтобы проверить
что это за диск, ведь на CD свободного места нет.
Как часто встречается:
Бывает
Методы взлома:
Аналогичны методам 1 и 2 из 1 и 2 категории, только на другую функцию.
Примеры игр:
Была какая-то, но не помню названия.
4) Проверка на наличие файла и его аттрибуты
Теория: Один из распространившихся в последнее время приемчиков,
часто это используется для проверки видео. Которое не копируется на ЖД.
В основном используются такие функции:
GetFileAttributesA — Проверка аттрибутов файла
ReadFile — Чтение файла
GetFileSize — Получение размера файла
FindFirstFile — Поиск файла.
Как часто встречается:
Иногда
Метод взлома:
Я использую такой метод, запускаем FileMon. Затем запускаем игру, со
вставленным компактом. Потом сразу же выходим и смотрим, к каким файлам
шло обращение. Если файлы не большие можно скопировать их на ЖД, если есть
большие видео, то их можно заменить любыми другими видаками маленького
размера. В других случая придется править переходы. Если используются все
эти функции придется попотеть.
Примеры игр:
Project IGI, в этой игре были два файла по 1 байту, я их скопировал на
диск C: в корневой, изменил после GetDriveTypeA сравнение и все.
5) Проверка на запись файла
Теория: Для этого используются функции WriteFile и GetLastError.
Одна для записи файла другая для проверки ошибки, если они стоят подряд, то
это явно она.
Как часто встречается:
Ни разу не встречал
Метод взлома:
Чуть-чуть исправленный метод из предыдущей категории.
Примеры игр:
Я же сказал: «Не встречал!»
6) Другие виды проверки
Теория: Бывают и другие сильно замусоленные проверки
Как часто встречается:
На дисках компании «Русобит»
Метод взлома:
Почитайте статьи ASMax’a на www.reversing.net.
Примеры игр:
Казаки, Star Force.
7) Некоторые общие моменты
Часто в играх проверки объединены в одну общую процедуру. И удалив ее,
программа начинает работать.
Практически всегда программа защищена совокупностью защит, которые здесь
представлены в разных категориях.

Скорость печати
Набирайте отображаемый текст и вы узнаете вашу скорость набора текста


Рейтинг@Mail.ru


Copyright © 2025 Как разблокировать аккаунт. Все права защищены.