Есть ли способ скрыть или зашифровать ваш код Python для периферийных устройств? Любой способ предотвратить обратный инжиниринг кода Python? - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь создать интеллектуальное устройство IOT (способное выполнять интеллектуальные операции Computer Vision на самом пограничном устройстве).Алгоритм глубокого обучения (написанный на python) реализован на Raspberry Pi.Теперь, отправляя этот продукт (программное обеспечение и оборудование) моему клиенту, я хочу, чтобы никто не заходил на Raspberry Pi и не получал доступ к моему коду.Поток должен быть примерно таким: всякий раз, когда кто-то входит в систему pi, должен быть какой-то ключ, который необходимо ввести, чтобы получить доступ к коду.Но в таком случае, как ОС получит доступ к коду и запустит его (без ключа).Тогда мне, возможно, придется хранить ключ на местном.Но все же есть шанс получить доступ к ключу и получить доступ к коду.Я применил патент на свою работу и хочу защитить его.

Я думаю зашифровать свой код (написанный на python) и просто отправить исполняемую версию.Я попробовал pyinstaller для этого, но каким-то образом в интернете есть скрипт, который может реконструировать его.

Теперь я немного боюсь, так как это может пропустить все мои усилия за 6 месяцев за один раз.Пожалуйста, предложите лучший способ сделать это.

Заранее спасибо.

1 Ответ

0 голосов
/ 08 апреля 2019

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

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

...