공개 저장소 기반 파이썬 코드 보호 도구의 아키텍처·배포 특성 및 실행 호환성 비교
A Comparative Study of the Architecture, Deployment Characteristics, and Runtime Compatibility of Python Code Protection Tools Based on Public Repositories
This study compares nine Python code protection tools from public repositories in terms of architecture, deployment characteristics, and runtime compatibility. Documentation, licenses, repository metadata, and reference commits were analyzed, while six tools were tested under Python 3.12 with basic and modern-syntax programs. Four architectural types were identified. Five repositories were active within 12 months, whereas four had been inactive for over 24 months. All tested tools maintained functional equivalence across ten basic-program transformations, but artifact sizes ranged from 0.681 to 530.551 times the original. Only two matched the reference output for modern syntax. Tool selection should therefore consider syntax compatibility, deployment dependencies, configuration, and licensing.
한국어
본 연구는 공개 저장소 기반 파이썬 코드 보호 도구 9종의 아키텍처, 배포 특성 및 실행 호환성을 비교하였다. 공식문서, 라이선스, 저장소 정보 및 기준 커밋을 분석하고, Python 3.12에서 실행 가능한 6종을 기본 기능 코드와 현대 문법 코드로 검증하였다. 분석 결과 네 가지 아키텍처 유형이 확인되었다. 5종은 최근 12개월 이내 활동한 반면, 4종은 24개월 이상 활동이 없었다. 기본 기능 코드에서는 6종 모두 10회 변환에서 기능 동등성을 유지했으나, 산출물 크기는 원본 대비 0.681~530.551배로 차이가 컸다. 현대 문법 코드에서는 2종만 기준 출력과 일치하였다. 따라서 도구 선택 시 문법 호환성, 배포 의존성, 설정 및 라이선스를 함께 검토해야 한다.
목차
요약 Abstract 1. 서론 2. 이론적 배경 및 관련 연구 2.1 코드 난독화의 목적과 평가 한계 2.2 파이썬 코드 보호 도구의 유형 2.3 비교연구의 재현성 3. 연구 설계 3.1 조사대상과 선정 기준 3.2 문서자료 수집과 판정기준 3.3 실행 검증 대상과 환경 3.4 시험코드와 측정지표 4. 문서 기반 비교 결과 4.1 역할, 아키텍처 및 설정 인터페이스 4.2 유지보수와 라이선스 5. 실행 검증 결과 5.1 기본 기능 코드의 기능 동등성과 산출물 5.2 현대 Python 문법 호환성 6. 논의 6.1 연구문제별 해석 6.2 실무적 도구 선택 절차 6.3 보호강도 해석의 제한 7. 타당성 위협 8. 결론 Acknowledgement 참고문헌 부록