개요
파이썬 프로그램을 .exe
로 만들어서 배포하는 경우, 클라이언트쪽에서 쉽게 역컴파일하여 소스 코드가 쉽게 노출된다.
파이썬의 경우 인터프리터 언어이기 때문에 컴파일된 파일은 쉽게 역컴파일이 가능하다.
프로그램을 배포할 때 소스 코드를 보호하고 싶다면 pyarmor
처럼 코드 난독화를 도입하는 것을 권장한다.
PyArmor
보통 파이썬 프로그램을 패키징할 때 Pyinstaller
를 많이 사용하는데
이 경우에는 코드에 대한 암호화 작업이 없기 때문에 코드가 쉽게 노출된다.
그러므로 패키지를 암호화 해주는 작업을 해줘야 하는데 이 때 Pyarmor
를 사용하면 쉽게 코드 난독화가 가능하다.
아래 링크에는 Pyarmor에 대한 자세한 메뉴얼이 적혀있다.
pyarmmor.docs
설치
pip
를 이용하여 쉽게 설치가 가능하다.
$ pip install pyarmor
암호화
다음 명령어를 사용하여 암호화된 패키징을 생성할 수 있다. (Pyarmor에서 내부적으로 Pyinstaller
를 사용함.)
$ pyarmor gen --pack onefile main.py