Profile picture

[Python] Pyarmor로 코드 난독화하여 배포하기

JaehyoJJAng2024년 05월 20일

개요

파이썬 프로그램을 .exe로 만들어서 배포하는 경우, 클라이언트쪽에서 쉽게 역컴파일하여 소스 코드가 쉽게 노출된다.

파이썬의 경우 인터프리터 언어이기 때문에 컴파일된 파일은 쉽게 역컴파일이 가능하다.

프로그램을 배포할 때 소스 코드를 보호하고 싶다면 pyarmor 처럼 코드 난독화를 도입하는 것을 권장한다.


PyArmor

보통 파이썬 프로그램을 패키징할 때 Pyinstaller를 많이 사용하는데

이 경우에는 코드에 대한 암호화 작업이 없기 때문에 코드가 쉽게 노출된다.

그러므로 패키지를 암호화 해주는 작업을 해줘야 하는데 이 때 Pyarmor를 사용하면 쉽게 코드 난독화가 가능하다.

아래 링크에는 Pyarmor에 대한 자세한 메뉴얼이 적혀있다.
pyarmmor.docs


설치

pip를 이용하여 쉽게 설치가 가능하다.

$ pip install pyarmor

암호화

다음 명령어를 사용하여 암호화된 패키징을 생성할 수 있다. (Pyarmor에서 내부적으로 Pyinstaller를 사용함.)

$ pyarmor gen --pack onefile main.py

Loading script...