Не открывайте файл никому - PullRequest
1 голос
/ 21 марта 2012

У меня есть приложение в c # .net, в которое я вставил SWF-файл в SWFObject из COM-объекта.

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

axShockwaveFlash1.Movie = Directory.GetCurrentDirectory() + "\\XYZ.swf";

Я сделал что-то подобное.

Так, как я могу ограничить этот файл в корневом каталоге приложения, чтобы только из моего приложения я мог получить к нему доступ? ??

Ответы [ 3 ]

1 голос
/ 21 марта 2012

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

Edit: Но ответ от k3b лучше .

1 голос
/ 21 марта 2012

Разрешения основаны на пользователях, а не на приложениях, поэтому краткий ответ: нельзя.Однако вы можете довольно легко создать собственную аутентификацию для конкретного приложения.Чтобы ваш SWF-файл требовал определенного значения FlashVars, чтобы выйти за пределы кадра 1. Люди по-прежнему могут декомпилировать ваш SWF-файл, но это по крайней мере остановит большинство людей.Другой вариант - попытаться как-то сохранить данные в вашем двоичном файле и загрузить SWF-файл, используя байтовый массив, см. Этот пост , чтобы попытаться это сделать.

1 голос
/ 21 марта 2012

Вы можете встроить файл в файл dll или exe и воспроизвести его оттуда.таким образом, это не (как отдельный файл) в файловой системе вообще.

Подробнее см. Как встраивать и получать доступ к ресурсам с помощью Visual C # .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...