C # Обертывание приложения в другом приложении - PullRequest
1 голос
/ 14 апреля 2010

Я хочу защитить некоторые приложения для некоторых людей, не обучая их, как добавить шифрование или аутентификацию, поэтому я подумал о создании простого приложения, которое запускает другое приложение, если какой-либо пароль или функция аутентификации возвращает true. Как бы я обернул приложение, чтобы только файл запуска имел доступ к файлу?

Ответы [ 2 ]

2 голосов
/ 14 апреля 2010

Если управляемое (защищенное) приложение управляется, вы можете встроить его в виде зашифрованного байтового массива, затем вызвать Assembly.Load(rawBytes) и использовать отражение для запуска приложения.
(Приложение должно согласиться предоставить некоторый статический метод или атрибут, который запускается сам по себе, который вы можете вызвать с помощью отражения)

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

0 голосов
/ 14 апреля 2010

Вы можете сделать вариант предложенного SLaks, который будет работать для любого EXE (.Net или нативного), и включить EXE в качестве встроенного ресурса в ваше приложение. В вашем приложении они могут нажать кнопку, и ваш код затем извлечет из себя EXE-файл, сохранит его во временном местоположении и запустит с классом Process. Затем ваше приложение будет ожидать завершения процесса и удалит временный файл.

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

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