Python파이썬
Python 난독화 하기, Cython 사용방법
WinGyu
2023. 9. 21. 11:56
Cython
으로 난독화한 코드를 실행하려면 기본적으로 다음과 같은 단계를 따르게 됩니다.
Cython과 필요한 패키지 설치:
pip install cython setuptools
.pyx
파일 생성:
원본example.py
파일의 확장자를.pyx
로 변경합니다. 그러면example.pyx
파일이 생성됩니다.setup.py
파일 생성:example.pyx
파일을 컴파일하기 위한setup.py
파일을 작성합니다.from setuptools import setup from Cython.Build import cythonize setup( ext_modules=cythonize("example.pyx") )
컴파일:
setup.py
파일이 있는 디렉토리에서 다음 명령을 실행하여.pyx
파일을 컴파일합니다.python setup.py build_ext --inplace
실행 후,
example.cpython-{version}-{platform}.so
(또는 Windows에서.pyd
)라는 공유 라이브러리가 생성됩니다.실행:
생성된
.so
또는.pyd
파일은 파이썬 스크립트에서 모듈처럼 임포트하여 사용할 수 있습니다.예를 들어,
example.pyx
에def hello():
라는 함수가 있다면, 다음과 같이 파이썬 스크립트나 셸에서 해당 함수를 호출할 수 있습니다:import example example.hello()
배포:
example.so
또는example.pyd
파일과 필요한 다른 종속성들을 함께 배포하면 됩니다. 원본.py
또는.pyx
파일은 배포할 필요가 없습니다.
참고로, 이 방식은 코드를 완전히 숨기는 것은 아니라 코드를 바이너리 형태로 컴파일하여 난독화하는 방식입니다. 고급 리버스 엔지니어링 기술을 가진 사람이라면 여전히 리버스 엔지니어링이 가능하므로, 완벽한 보안 방법이라고는 할 수 없습니다.