
AST 기반 파이썬 코드 변환 및 난독화 해제 프레임워크

Noctyra는 코드 변환 및 난독화 해제를 위해 설계된 AST 기반 프레임워크입니다. 복잡한 표현식과 로직을 해결하여 Python 소스 코드를 분석하고 단순화하는 모듈식 파이프라인을 제공합니다.
이 프로젝트는 Python의 추상 구문 트리(Abstract Syntax Tree)를 처리할 수 있는 유연한 환경을 제공하는 것을 목표로 합니다. 일련의 플러그인 가능한 변환기를 사용하여 Noctyra는 다음을 수행할 수 있습니다:
의존성 관리를 위해 uv가 설치되어 있어야 합니다.
uv sync
대상 스크립트를 처리하려면 다음 명령을 사용하세요:
python main.py <input_file> [options]
옵션:
file: 입력 Python 파일의 경로 (필수).--output: 변환된 코드의 파일 이름 (기본값: out.py).--iterations: 고정된 변환 패스 횟수 설정 (기본값: 0, 자동 탐지).--max-iterations: 자동 모드에서 패스 제한 (기본값: 100).--debug: 디버깅을 위한 상세 로깅 활성화 (멋져요).이 프로젝트는 의존성 관리를 위해 uv를, 일반적인 작업을 위해 Makefile을 사용합니다.
uv sync --all-extras --dev
PR을 제출하거나 변경 사항을 푸시하기 전에 모든 검사가 통과하는지 확인하세요:
make testmake formatmake typecheck(Windows 사용자: 이 명령들은 make.bat을 통해 자동으로 작동합니다.)
GitHub Actions를 통해 모든 푸시에 대해 Ruff를 사용한 린팅, Mypy를 사용한 타입 검사, Pytest를 사용한 단위 테스트 등 자동화된 검사가 수행됩니다.
Noctyra에는 기본 리소스 제한이 있는 내부 평가 엔진이 포함되어 있습니다. 그러나 신뢰할 수 없는 코드를 다룰 때는 잠재적인 부작용이나 리소스 고갈을 방지하기 위해 격리된 환경(컨테이너 또는 샌드박스 등) 내에서 파이프라인을 실행하는 것이 좋습니다.