こんにちは、HAL-JPです。
ところでみなさん、Pythonファイルをexe化するPyinstallerを使っていますか?あれ、とても便利ですよね。しかし、普通にPyinstallerを使ってexe化した場合、そのファイルがウイルスとして誤検知されてしまいます。なので、今回は『Pyinstaller』で作ったexeファイルをウイルスとして誤検知されないようにする方法を紹介します。
普通に実行した場合と改善手順をして実行した場合の比較
普通に実行した場合と改善手順をして実行した場合のexeファイルでどのセキュリティソフトがウイルスとして検出か比較してみました。
普通に実行した場合
改善手順をして実行した場合
AVG、Avast、Microsoftのセキュリティソフトで誤検知を防ぐことができました!
誤検知防止手順
では早速誤検知を防いでいきましょう!
- STEP.1Gitをインストール
こちらの公式マニュアルを参考にGitをインストール
- STEP.2Windows PowerShellを起動
Windowsマークを右クリックしてWindows PowerShell(管理者)をクリック
- STEP.3Chocolateryの公式サイトにあるコマンドを実行
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1’))
- STEP.4コマンドを実行
以下のコマンドを実行し、その後バージョン情報が出てきたらインストール成功です。
choco
- STEP.5以下のコマンドを実行
choco install -y python vcbuildtools
- STEP.6コマンドプロントで以下のコマンドを実行
git clone https://github.com/pyinstaller/pyinstaller
- STEP.7以下のコマンドを実行
cd pyinstaller/bootloader
- STEP.8以下のコマンドを実行
python ./waf all
※2023/2/16に上記コマンドを修正しました。
- STEP.9以下のコマンドを実行
(コマンドプロントを閉じてしまった場合はcd pyinstallerを実行)cd ../
※2022/12/17に上記コマンドを修正しました。
- STEP.10以下のコマンドを実行
python setup.py install
- STEP.11Pyinstallerを実行
あとはいつも通りPyinstallerを実行する
pyinstaller ファイル名.py
以上『Pyinstaller』で作ったexeファイルをウイルスとして誤検知されないようにする方法を紹介しました。
しかし以下のセキリュティソフトでは未だにウイルスと認識されてしまいます。
Ad-Aware,ALYac,SecureAge APEX,Arcabit,BitDefender,Cynet,Emsisoft,eScan,FireEye
,GData,MAX
理由として『Pyinstaller』はウイルスソフトを作るのによく使われていることから、検出されやすいそうです。良かったら試してみてはいかがでしょうか。
もし、やり方がうまくわからない方はご気軽にお問い合わせください。
お問い合わせ
以上
コメント