간단하게 파이썬 코드를 암호화 하고, exe 실행파일로 만들어 디컴파일을 막을 수 있도록 한다.
import 항목은 기존 소스코드에 포함된 import를 이용.
복호화가 굉장히 쉽기 때문에 간단한 암호화 알고리즘 방식을 채택했다.
from cryptography.fernet import Fernet
import base64
def protect_code():
# 1. 원본 파일 그대로 읽기
with open('test.py', 'r', encoding='utf-8') as f:
source = f.read()
# 2. 암호화 키 생성
key = Fernet.generate_key()
cipher = Fernet(key)
# 3. 소스코드 암호화
encrypted = cipher.encrypt(source.encode())
# 4. 필요한 모든 import를 포함한 wrapper 생성
wrapper = f"""
import json
import sys
import os
KEY = {key}
CODE = {encrypted}
if __name__ == '__main__':
cipher = Fernet(KEY)
exec(cipher.decrypt(CODE))
"""
# 5. 파일 저장
with open('test_encrypted.py', 'w', encoding='utf-8') as f:
f.write(wrapper)
protect_code()
'Python' 카테고리의 다른 글
서든어택 객체탐지 (Object Detection) (0) | 2025.01.29 |
---|---|
차트 유사도 패턴 검출 (0) | 2024.12.26 |
Python - Regression(Ridge, LASSO, ELASTICNET) (0) | 2022.10.25 |
Python - Regression 회귀 분석 (0) | 2022.10.24 |
Python - 다중공선성 , 차원축소 , 군집 (0) | 2022.10.24 |