반응형
코드 난독화는 배포해야하는 python 코드를 읽기 어렵게 만들어서 그대로 배끼지 못하게하는 최소한의 보안입니다.
여러 난독화, 암호화 방법중에 OpenSource 중 하나인 PyArmor를 사용해서 난독화를 진행해보겠습니다.
설치
pip install pyarmor
설치는 위처럼 PIP를 사용하면 간단하게 설치가 가능합니다.
PyArmor은 단순히 파일 하나만을 난독화 할 수도있고 한 패키지 전체를 난독화 할 수도 있습니다.
기본적인 사용법은 다음과 같습니다.
pyarmor obfuscate myscript.py
pyarmor는 myscript와 같은 폴더에있는 모든 *.py파일을 dist폴더에 난독화하여 생성합니다.
다음은 패키지를 난독화 해보겠습니다.
프로젝트 구조
myproject/
mypackage/
code.py
main.py
hello.py
test/
main_test.py
dist/
build/
LICENSE
README.md
requirements.txt
setup.py
프로젝트 패키지 단위로 난독화하는 경우 mypackage만 난독화를 진행하고 나머지 파일을 난독화된 dist로 복사후 build하는 방식으로 진행합니다.
1. 난독화
pyarmor init --src mypackage --entry mypackage/main.py --type pkg build/mypackage
cd build/mypackage
pyarmor build --force -O .
mypackage의 모든 파일을 build/ 아래로 난독화 시킵니다.
2. setup.py 실행
cp ../../mypackage/setup.py ../../mypackage/LICENSE ../../mypackage/README.md ../../requirements.txt mypackage/
cd mypackage
python setup.py bdist_wheel -d ../dist # make wheel
기타 setup에 필요한 파일을 build에 복사한 후 dist폴더로 빌드를 진행합니다.
반응형
'개발 > Develop' 카테고리의 다른 글
021. VHS: CLI 명령을 GIF 데모영상으로 만들어주는 툴 (0) | 2022.11.01 |
---|---|
009. Heroku에 Sphinx Docs배포하기 (0) | 2021.08.18 |
005. Ubuntu Apache2 http접속 redirect 하기 (0) | 2021.03.18 |
003. Ubuntu NetPlan으로 고정 IP 설정하기 (0) | 2021.02.16 |