
AST 수준의 Python 난독화 엔진으로, AES-256 암호화, 런타임 페이로드 보호, 제어 흐름 평탄화를 제공하며 보안 연구 및 방어 분석을 위해 설계되었습니다.
ObfuXtreme는 구조적 난독화, AST 수준 변환, 런타임 페이로드 보호에 중점을 둔 고급 Python 난독화 엔진입니다.
보안 연구, 방어적 분석, 리버스 엔지니어링 연구를 위해 설계되었으며, 악의적인 용도로 사용되지 않습니다.
✔ 고도로 난독화된 Python 코드 생성
✔ 정적 분석 및 시그니처 기반 탐지 무력화
✔ 안전한 AST 변환 사용 (바이트코드 패치 없음)
✔ 암호화된 페이로드 실행을 포함한 런타임 로더
책임감 있고 윤리적으로 사용하세요.
ObfuXtreme는 Proof-of-Concept (PoC) 프로젝트로, 다음 용도로만 엄격히 사용해야 합니다:
저자는 오용에 대해 책임을 지지 않습니다.
이 프로젝트를 사용함으로써 사용 방법에 대한 모든 책임을 수락하는 것입니다.
ObfuXtreme는 난독화에 사용된 Python 버전에 출력을 자동으로 고정합니다.
예시:
Python 3.12로 빌드 → Python 3.12에서만 출력 실행 가능
이는 의도된 사항이며 다음을 방지합니다:
Python 버전을 변경한 경우 스크립트를 다시 빌드하세요.
의존성 설치:
pip install pycryptodome
난독화된 출력도
pycryptodome이 필요합니다 (PyInstaller로 패키징하지 않은 경우).
git clone https://github.com/spyboy-productions/ObfuXtreme.git
cd ObfuXtreme
pip install -r requirements.txt
python ObfuXtreme.py your_script.py
또는
python ObfuXtreme.py your_script.py obfuscated.py
obfuscated.py
python obfuscated.py
ObfuXtreme 없을 때
ObfuXtreme 사용 시
이 결과는 구조적 난독화 효과를 연구 및 분석 목적으로 보여줍니다.
.exe 만들기 (Python 불필요)Python 또는 pycryptodome 없이 배포하려면:
pip install pyinstaller
pyinstaller --onefile --noconsole obfuscated.py
이 명령어는 다음을 번들로 포함합니다:
"ObfuXtreme이 이미 코드를 난독화하는데, OS가 왜 중요하죠?"
난독화와 패키징은 서로 다른 두 단계이기 때문입니다:
ObfuXtreme은 Python 코드를 출력합니다.
난독화된 .py 파일은 크로스 플랫폼입니다.
여전히 Python + pycryptodome이 필요합니다.
PyInstaller는 네이티브 바이너리를 생성합니다.
네이티브 바이너리는 OS에 종속됩니다.
난독화 ≠ 패키징
.py 파일은 이식 가능| 기능 | 상태 | 비고 |
|---|
| AES-256-CBC 암호화 | ✅ | 페이로드, 문자열, 바이트 암호화 |
| 문자열별 무작위 IV | ✅ | 빈도 및 패턴 분석 방지 |
| XOR 분할 키 저장 | ✅ | AES 키와 IV를 여러 XOR 부분으로 분할 |
| AST 수준 난독화 | ✅ | Python ast를 사용한 안전한 변환 |
| 지역 변수 이름 변경 | ✅ | 인수, 전역 변수, 비지역 변수 유지 |
| 안전한 제어 흐름 평탄화 | ✅ | 단순한 선형 함수에만 적용 |
| 암호화된 런타임 로더 | ✅ | 런타임에 페이로드 복호화 및 실행 |
| Python 버전별 자동 재빌드 | ✅ | 런타임에 빌드 버전 강제 적용 |
| 크로스 플랫폼 | ✅ | Windows, Linux, macOS |
| 깔끔한 오류 처리 | ✅ | 충돌 대신 명확한 오류 메시지 |
| VT 친화적 (연구용) | ⚠️ | 구조적 난독화만 적용 |