C# Запустить EXE в защищенном zip файле - PullRequest
0 голосов
/ 26 мая 2020

Я сжал свой exe-файл приложения в защищенный паролем архив .zip. Теперь я хочу запустить приложение из другого приложения.

Как я могу позволить другому приложению запустить сжатый файл и?

1 Ответ

0 голосов
/ 26 мая 2020

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

  1. Ключ для файла должен быть аппаратно закодирован в программе. Есть способы скрыть это, но это не гарантируется. Если вы распаковываете его из памяти, вы используете Assembly.Load для передачи выполнения без запуска нового процесса. См. как загрузить сборку из памяти . Или вы можете попробовать метод, предложенный @Klaus Gütter, и запустить загрузить exe из памяти
  2. Даже если вы загружаете сборку из памяти, пользователь все равно может использовать отладчик или дамп памяти извлечь программу.

Мне это кажется сложным по сравнению с обычным методом защиты от копирования . т.е. используйте шифрование asymmetri c для кодирования некоторых данных. Загрузите эти данные при запуске приложения и убедитесь, что они верны. Таким образом, у пользователя нет возможности узнать ключ шифрования. Он все еще может редактировать программу, чтобы убрать проверки, но предотвратить это невозможно.

Вы можете включить спецификацию машины c id в данные, чтобы привязать лицензию к машине. Вы также можете использовать какую-либо онлайн-активацию, чтобы проверить правильность ключа. Вы также можете использовать различные продукты для запутывания кода, чтобы усложнить обратную разработку кода.

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

...