Войти
ПрограммированиеФорумОбщее

Зашифровать ресурсы (Картинки, звуки и т.д) (3 стр)

Страницы: 1 2 3
#30
9:32, 13 ноя. 2017

Funtik
Пишешь свою d3d11.dll, которая экспортирует те же функции, что и оригинальная. Только вместо d3d-объектов эти функции создают свои proxy-обёртки, в которых помимо проксирования вызова к оригинальным d3d объектам могут делать что-то ещё, например сохранять в файл все создаваемые текстуры и модели.
Свою d3d11.dll помещаешь в каталог с игрой, чтобы она загружалась вместо оригинальной.


#31
15:40, 14 ноя. 2017

Мизраэль
> Пишешь свою d3d11.dll, которая экспортирует те же функции, что и оригинальная.
Это слишком сложно. Пишешь dll, которая тупо перенаправляет все обращения к d3d11.dll, кроме одного, например DrawInexedPrimitive (или как там оно в DX11). Из этой ф-ции получаешь ссылки на индексные и вертексные буферы, которые спокойно грабишь - так получишь любую зашифрованную модель, даже если она вообще сгенерирована, а не загружена. Так же и с текстурами или звуками.

#32
16:04, 14 ноя. 2017

Mikle
угу, а там дело техники. некоторые античиты пытаются противодействовать инжекции или перехвату API. например GameGuard при сплайсинге CreateDevice или DIP ругается и шлет нафиг.

так же у метода реконструкции моделей есть проблемка - ты грабишь всю сцену. например некоторые объекты слиты оптимизацией в один DIP , не всегда ожидаемый порядок отрисовки (из за внутренних сортировок), сложно/невозможно извлечь скелет анимированной модели. при софтверной анимации получишь тупо кадр анимации а даже не Т позу.  это нужно очень основательно заморочиться.

#33
21:16, 14 ноя. 2017

Хаус
> А всякие MD5 тоже самое делают?

MD5 это хеш, некое число или фиксированная строка построенная на основе данных,  Самый простой хеш думаю будет сумма всех элементов.

Например:

1 + 4 + 3 + 7 + 2 = 17

Внесли изменения в данные, и хоп, хеш другой

2 + 4 + 3 + 7 + 2 = 18

Отсюда вытекает основное применение хеша - проверка целостности данных (проверка подлинности пользователя, копирование, скачивание, защита кода от изменения и т.п.)

Сразу думаю заметны минусы, для разных последовательностей может быть один и тотже хеш (2 + 3 = 5, 1 + 4 = 5). По этому есть более сложные алгоритмы которые сводят подобные ситуации к минимуму, например md5.

Страницы: 1 2 3
ПрограммированиеФорумОбщее

Тема в архиве.