Какие методы доступны, чтобы скрыть шейдерные активы? - PullRequest
0 голосов
/ 15 декабря 2011

У меня есть несколько шейдеров в моих играх и приложениях, в настоящее время я использую простую программу, которую я создал, чтобы взять шейдеры и создать класс Java, который помещает текст в StringBuilder, по одному символу за раз, поэтому поиск текста выиграл ничего не найдете, если кто-то обратит внимание на инженеров.

Кажется, что это неправильно, но оно помогает убрать их из поля зрения, но у меня нет иллюзий, что они очень безопасны.

Я видел вопрос о предварительной компиляции, без ответов. Что еще можно сделать?

Ответы [ 2 ]

1 голос
/ 06 января 2012

Лучшее решение, которое я видел до сих пор, учитывая тот факт, что шейдеры обычно являются очень маленькими программами, - это встраивать их в ваш код так, как вы только что сказали.

Это довольно безопасно.

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

Шифрование является опцией, но оно защищает только локальное хранилище шейдеров, я все еще могу сбросить память вашей программы сразу после расшифровки.

И последнее, но не менее важное: не очень удобно предварительно скомпилировать ваши шейдеры, и это тем более справедливо, если учесть платформу, на которой вы работаете, где существует большое семейство реализаций GPUS и драйверов.

Возвращаясь к вашему другому вопросу о предварительно скомпилированных шейдерах, есть очень хорошее объяснение на странице 350 OpenGL Gold Book (Руководство по программированию OpenGL ES 2.0), где объясняется, почему вы не должны этого делать.

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

Надеюсь, это было полезно.

Blockquote

0 голосов
/ 15 декабря 2011

Один из вариантов - зашифровать файлы.Взгляните на Cipher класс.

...