Сделать ресурсы недоступными для пользователя

Я написал игру на C / C ++, которая скоро будет готова к выпуску.

Мой вопрос: что может быть хорошим способом сделать ресурсы (изображения / звук и т. Д.) Недоступными для пользователя?

Это не должно быть сильное шифрование, я просто не хочу, чтобы средний игрок просматривал папки ресурсов.

На данный момент ресурсы не связаны в проекте Visual Studio, они загружаются по пути.

3

Решение

Простой способ справиться с этим — сжать все файлы в ZIP-файл, защищенный паролем, который вы распакуете в памяти (в файловую систему на основе памяти, если вы хотите быть модным).

Очевидным недостатком является то, что вам нужно либо хранить все в памяти, либо выполнить несколько вызовов, чтобы получить нужные файлы в данный момент.

РЕДАКТИРОВАТЬ: быстрый поиск дал мне эту ссылку на Q&А, относящиеся к этому:
Простой способ разархивировать .zip файл с помощью zlib

Предупреждение

Хакер все еще может получить доступ к этим строкам, отсоединив процесс приложения с помощью отладчика во время работы приложения.

3

Другие решения

Это зависит от того, насколько сильно вы хотите что-то скрыть от пользователей; сколько вы готовы инвестировать против вознаграждения. Вот несколько идей:

  1. Просто измените / удалите расширения файлов ваших ресурсов. Большинство средних пользователей уже будут остановлены.
  2. Немного измените файлы, чтобы испортить их, добавив в начале несколько дополнительных байтов, которые ваше приложение пропускает. Дополнительные байты могут быть вводящим в заблуждение заголовком или мусором.
  3. Хранить ресурсы в контейнере / формат архива например, ZIP или MPQ от Blizzard. По желанию с паролем.
  4. Храните их как ресурсы в вашем исполняемом двоичном файле. Пользователи должны будут использовать редактор ресурсов / просмотрщик, чтобы увидеть их; большинство пользователей даже не узнают, что они там.
4

По вопросам рекламы [email protected]