Защита и ограничения доступа к ресурсам приложения.
|
|
Runasss | Дата: Четверг, 16 Апреля 2015, 22:02 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Всем привет. Я недавно начал изучать SDK DX 11 у меня в этом большой интерес, я уже написал простое приложение на C++ оно отлично работает но есть один момент который меня зацепил, это два файла на языке HLSL "color.ps" пиксельный шейдер и "color.vs" векторный шейдер. Дело в том что эти два файла доступны и весь код который в них описан его можно редактировать это с одной стороны удобно если надо что то подправить это можно сделать не компилируя приложение еще раз а с другой стороны если я например захочу с кем то поделиться демо версией то он сможет полазить в шейдерах и там что то поменять. Так вот хочется сейчас на данном этапе узнать как можно шейдеры инкапсулировать что бы к ним не было доступа и их не могли изменить все кому не лень а также хочется в общем узнать как можно спрятать файлы DDS, BMP, аудио и видео и т. д.
P.S Буду рад полезным ссылкам на статьи и литературу по этой теме а также советам и примерам в формате этой темы за ране спасибо.
|
|
| |
shizofren | Дата: Пятница, 17 Апреля 2015, 00:17 | Сообщение # 2 |
Starting MS-DOS...
Сейчас нет на сайте
| Runasss, для начальной защиты можно использовать архивы. Запаковывать файлы в архив, а при старте распаковывать их во временную папку и работать с ними. При завершении работы распакованные файлы удалять. Если используется visual studio - с этим нет особых проблем, вот класс для работы с ними - https://msdn.microsoft.com/ru-ru/library/system.io.compression.zipfile(v=vs.110).aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-1
Моя команда
Сообщение отредактировал shizofren - Пятница, 17 Апреля 2015, 00:18 |
|
| |
Otinagi | Дата: Пятница, 17 Апреля 2015, 08:48 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| С архивами не прокатит. Игру можно свернуть и забрать со временной папки все, что нужно. Как вариант - можно шыфровать файлы в собственном написанном редакторе. Но это будет сказываться на время загрузки игры. Но так многие делают. Главное это стримить, проецыровать файл в память и в памяти его дешыфровывать. Чтобы сложно было его перехватить и прочесть.
«Смерти меньше всего боятся те люди, чья жизнь имеет наибольшую ценность.» Иммануил Кант
|
|
| |
Runasss | Дата: Пятница, 17 Апреля 2015, 13:02 | Сообщение # 4 |
был не раз
Сейчас нет на сайте
| а есть возможность их спрятать в .DLL?
|
|
| |
Vinchensoo | Дата: Пятница, 17 Апреля 2015, 16:15 | Сообщение # 5 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Кто захочет- все равно вытащит
|
|
| |
Runasss | Дата: Пятница, 17 Апреля 2015, 17:31 | Сообщение # 6 |
был не раз
Сейчас нет на сайте
| Цитата Vinchensoo ( ) Кто захочет- все равно вытащит
я в курсе что вытащат если кому надо шейдеры можно перехватить через API но мне бы хотелось что бы файлы просто так не открывались простым блокнотом или еще чем то
|
|
| |
Saitei | Дата: Понедельник, 20 Апреля 2015, 23:49 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| Цитата Runasss ( ) шейдеры инкапсулировать что бы к ним не было доступа и их не могли изменить все кому не лень а также хочется в общем узнать как можно спрятать файлы DDS, BMP, аудио и видео и т. д. шифрование + проверка md5. md5 как раз создан для верификации контента
|
|
| |
giperion | Дата: Среда, 24 Июня 2015, 23:48 | Сообщение # 8 |
участник
Сейчас нет на сайте
| Цитата Saitei ( ) шифрование + проверка md5. md5 как раз создан для верификации контента smile Меняем ресурсы - считаем для них MD5, вшиваем новый MD5 в прогу - профит
Skype: sergej_1965
|
|
| |
OpenGOO | Дата: Четверг, 25 Июня 2015, 01:07 | Сообщение # 9 |
почти ветеран
Сейчас нет на сайте
| Так шейдеры же можно компилировать https://msdn.microsoft.com/en-us/library/windows/desktop/bb509633(v=vs.85).aspx
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
Сообщение отредактировал OpenGOO - Четверг, 25 Июня 2015, 01:08 |
|
| |
Tymonr | Дата: Четверг, 25 Июня 2015, 04:59 | Сообщение # 10 |
With OpenSource forever♥
Сейчас нет на сайте
| Тоже этот вопрос всегда интересовал, как сныкать ресурсы. Но, Runasss, шейдеры-то зачем? Это как-раз то, что лучше оставить, дабы если что пользователь мог спокойно подкрутить что надо не особо печалясь
Если вы решили обратиться к нам за помощью, не становитесь в позицию неудачника. И не ведите себя как неудачник. Лучший способ получить быстрый и чуткий ответ, - спрашивать как победитель — спрашивать как человек умный, уверенный в себе и знающий, которому просто понадобилась помощь при решении одной конкретной проблемы. Как правильно задавать вопросы в технических форумах
Сообщение отредактировал Tymonr - Четверг, 25 Июня 2015, 04:59 |
|
| |