PyInstaller로 만든 실행파일을 Trojan 바이러스로 인식하는 문제 해결

2021. 1. 4. 16:36IT관련

반응형

PyInstaller

PyInstaller로 실행파일을 만들었는데 어처구니 없게 Windows Defender가 Trojan 바이러스로 인식하고 삭제를 해 버린다. Python package는 일반적으로 pip로 설치하는데, PyInstaller는 미리 컴파일된 package를 다운받아 설치하게 되는것 같다. 미리 컴파일된 PyInstaller가 문제이기 때문에 소스를 받아서 자신의  PC 환경에 맞게 빌드를 해야 문제가 해결된다. PyInstaller는 www.pyinstaller.org/downloads.html에서 받을 수 있다.

준비

PyInstaller 메뉴얼을 보면 Bootloader라는 항목이 있는데 이걸 자신의 환경에 맞춰 빌드를 해야 한다. 빌드하기에 앞서 반드시 Visual Studio C++ 컴파일러가 있어야 하며, PyWin32가 설치되어 있어야 한다.

빌드 및 설치

나는 Python 3.8 64bits와 Visual C++ 2015가 설치되어 있다. 또한 다운로드 받은 PyInstaller 버전은 4.1이다.

  1. 기존에 설치되어 있는 PyInstaller는 삭제하거나 uninstall 하도록 한다.
  2. Visual C++ 2015 x86 x64 Cross Build Tools Command Prompt 실행
  3. 다운로드 받은 PyInstaller 소스 디렉토리로 이동
  4. cd bootloader
  5. Bootloader 빌드 --> python ./waf distclean all --target-arch=64bit
  6. 빌드가 성공하면 상위 폴더로 이동
  7. 빌드된 PyInstaller 설치 --> python .\setup.py install

Build the PyInstealler for Widnows 10 - 1

 

Build the PyInstaller for Windows 10 - 2

정리하며

사용법은 기존과 다르지 않으니 그냥 사용하면 된다. 컴파일한 PyInstaller로 실행파일을 만들면 더 이상 바이러스로 인식하는 문제는 발생되지 않는다.

 

반응형