Notice
Recent Posts
Recent Comments
Link
WinGyu_coder
Python 난독화 하기, Cython 사용방법 본문
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
파일은 배포할 필요가 없습니다.
참고로, 이 방식은 코드를 완전히 숨기는 것은 아니라 코드를 바이너리 형태로 컴파일하여 난독화하는 방식입니다. 고급 리버스 엔지니어링 기술을 가진 사람이라면 여전히 리버스 엔지니어링이 가능하므로, 완벽한 보안 방법이라고는 할 수 없습니다.
'Python파이썬' 카테고리의 다른 글
Python, 파이썬 3개의 점 좌표에 대한 각도 구하기, 모듈 math 사용하기 (0) | 2023.11.08 |
---|---|
Python 난독화 및 암호화, Pyarmor 사용하기 (유료버전) (2) | 2023.10.10 |
Django 파일 업로드 DRF, parser_classes (0) | 2023.10.01 |
Pycharm에 Black (포매터)formatter 적용하기 (0) | 2023.09.28 |
Python 으로 객체 및 리스트 관리 Enumerate 와 zip 사용 방법 (0) | 2023.09.20 |