Я собираюсь купить несколько моделей пакетов с веб-сайта для создания прототипа моей игры. В контракте говорится, что я должен защищать их, чтобы не дать общественности получить к ним доступ.
Я помню, как работал с играми Valve, они использовали .gcf (файл игрового контента), который в основном представлял собой архив всего контента для каждой игры. Они упакованы в звук / материалы / модели / карты / и т. Д. Я подумал, что не может быть плохой идеей разработать что-то похожее на это, и просто написать небольшой инструмент, позволяющий мне добавлять / удалять файлы из него.
Проблема в том, что я действительно понятия не имею, как начать что-то подобное. Я пробовал Google, но я даже не знал, что искать. Если у кого-то есть идеи, ссылки, которые могут быть полезны, или что-то еще, я был бы очень признателен.
источник
Если вы просто создаете прототипы, то я не буду беспокоиться о том, чтобы упаковать ваши активы в файл GCF / ZIP / PAK; публика не увидит ваш прототип!
Кроме того, GCF от Valve обеспечивает такую же защиту вашего контента, как и ZIP-файл, то есть ноль. Файл не зашифрован; Вы можете скачать GCFScape, чтобы просмотреть и извлечь его содержимое.
Это не стоит положить усилия в создании собственного пакета файловой системы , если у вас есть конкретные потребности прямо сейчас , не удовлетворяются ZIP файлы или собственный механизм доступа к файлам в ОС; на самом деле, единственные причины, о которых я могу думать, это:
источник
Это требование, ну, фигня.
Так как игра может получить доступ к данным, и пользователь имеет доступ к игре, если он достаточно опытен и решителен, ему удастся перепроектировать формат, который вы использовали для хранения данных, и получить конечный ключ, если вы достаточно глупы. зашифровать это.
Вы не можете добавить безопасность. Я повторяю: вы просто не можете добавить безопасность . Вы можете только добавить безвестность, а безвестность совершенно бессмысленна, поскольку, как я уже сказал, пользователь с достаточным умением и решительностью просто сломает ее.
Не подписывайте ничего, что просит вас о том, что нельзя сделать.
источник
Часто я замечаю, что пакеты с пользовательским содержимым, как правило, представляют собой архивы .zip или .rar с другим расширением. Конечно, это бесполезно, если веб-сайт хочет какое-то специальное шифрование.
источник
Несколько идей:
1] Использовали ли вы стандартный формат модели (например, .obj или .x) или вы используете собственный формат модели при загрузке непосредственно в игру? Если у вас есть нестандартный формат, и вам нужно будет перепроектировать формат вашей модели, чтобы получить его в полезной форме, то у вас уже есть некоторый уровень защиты от оппортунистического риппера активов.
2] Идея Kylotan о шифровании XOR превосходна, за исключением того, что вы можете зашифровать с использованием последовательности, сгенерированной псевдослучайным числом (возможно, засеянной хэшем в имени файла), чтобы избежать длинных последовательностей нулей в ваших исходных данных, показывающих вашу строку шифрования. Конечно, вам придется дешифровать файлы на месте сразу после их загрузки, но разбиение зашифрованного файла на блоки с возможностью перезапуска позволит вам начать дешифрование на месте в нескольких потоках, если это действительно стало нагрузкой во время загрузки. , Но я серьезно сомневаюсь, что этот уровень «защиты» необходим - особенно, как говорили другие, решительный риппер справится с этим. например. перехватывая вызовы отрисовки, используя обходную библиотеку DLL, и непосредственно считывая буферы вершин / индексы.
3] Вам нужно будет спросить у исходного провайдера активов об их требованиях к защите, но это может быть просто вопрос о защите авторских прав на активную заставку вашей программы и / или ваше лицензионное соглашение.
источник