Pyinstaller .exe запускает Защитник Windows [без издателя]

Я разработал код Python и преобразовал его в .exe с помощью pyinstaller, но проблема в том, что нет издателя, поэтому каждый раз, когда компьютер запускает мою программу, Защитник Windows выдает предупреждение о том, что издателя нет, поэтому программа не уверена ...

Кто-нибудь знает, как изменить издателя .exe с none на что-то или как реализовать Publisher в pyinstaller?


person No Braves Studio    schedule 05.06.2017    source источник
comment
См. Этот вопрос: stackoverflow.com/questions/43777106/ - я восстановил загрузчик для pyinstaller, и он исправил обнаружение Защитника для меня.   -  person xioxox    schedule 09.03.2020


Ответы (1)


Короткий ответ: это не имеет ничего общего с PyInstaller. Это общая проблема с любым исполняемым файлом в последних версиях Windows. Теперь вам нужно «поставить кодовую подпись» для вашего exe. Это действительно схема зарабатывания денег, замаскированная под усиление безопасности.

Например, вы можете приобрести сертификат у компании digicert. Они являются одними из крупных агентов авторизации, которые MS распознает автоматически. https://www.digicert.com/code-signing

Или Google "подписывание кода" для других вариантов.

Вы также можете бесплатно подписаться самостоятельно. Ознакомьтесь с этим сообщением SO: Подписание EXE-файла Windows

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

person BuvinJ    schedule 26.07.2017
comment
Не устанавливайте корневой сертификат на машины вашего пользователя, чтобы вы могли использовать самозаверяющий сертификат. Это ставит под угрозу их безопасность. Если закрытый ключ вашего корневого сертификата когда-либо будет скомпрометирован, ваши пользователи будут уязвимы. Если вы не хотите / не можете покупать сертификат подписи кода, вы, вероятно, также не желаете / не можете правильно защитить корневой сертификат. - person M. Dudley; 20.08.2020
comment
Интересный. Расскажите, пожалуйста, о том, как правильно защитить свой закрытый ключ. Вы предлагаете, чтобы хакер взломал ваш локальный компьютер (или где бы вы ни хранили ключ), а затем сгенерировал с ним свой собственный подписанный exe, чтобы использовать тот факт, что какой-то целевой пользователь установил ваш самозаверяющий корневой сертификат? Или есть какой-то трюк с обратной инженерией? Все, что можно было бы сделать, кажется огромным трудом для злоумышленника, который должен пройти, чтобы достичь цели, которую, вероятно, можно было бы решить многими другими, гораздо более простыми способами. - person BuvinJ; 20.08.2020
comment
Ключ должен быть зашифрован, доступ должен контролироваться, иметь надежное резервное копирование и т. Д. Я представляю себе утечку секретного ключа через взломанную сеть или машину разработчика ... компании постоянно взламывают. Во-вторых, злоумышленники уже регулярно внедряют в легитимные приложения вредоносные полезные данные и распространяют их через BitTorrent и каталоги взломанных приложений. Если они могут подписать плохое приложение, оно может выдать себя за законное. Приложения, которыми пользуются тысячи или миллионы людей, являются ценными целями. - person M. Dudley; 20.08.2020
comment
Спасибо. Это действительные точки. Безусловно, то, что вы перечислили, следует делать как лучшую практику с самоподписанием. Я думаю, что контекст является ключевым моментом. Обратите внимание, что исходный вопрос касается распространения exe-файлов, созданных PyInstaller. В этом есть значительные дыры в безопасности, которые превосходят эту деталь вывески. Это большая тема сама по себе. И определенно, если вы распространяете большие объемы программы, вы, вероятно, можете позволить себе просто купить сертификат в соответствии с вашим первоначальным предложением. - person BuvinJ; 20.08.2020