Unity IL2CPP 바이너리를 원본 C# 코드로 역변환하는 도구 Cpp2IL
Key Point
IL2CPP 보호 게임의 소스코드 복원이 필요한 모더·보안 연구자·분석가에게 필수적인 역공학 도구이며, 주요 라이브러리 교체와 플러그인 시스템 도입으로 대폭 개선되고 있습니다.
핵심 요약
- Unity의 IL2CPP 컴파일 과정을 역으로 분석해 원본 관리 DLL로 복원하는 진행 중인 도구로, LibCpp2IL 라이브러리를 사용해 메타데이터를 파싱합니다.
- 디컴파일된 CIL은 현재 상태가 복잡하지만 ILSpy로 열 수 있으며, MethodAnalysisContext를 통해 플랫폼별 어셈블리를 중간 표현(ISIL)으로 변환 후 제어 흐름 그래프를 구축해 분석합니다.
- 개발 브랜치에서 대규모 리작성 중이며, 기존의 많은 커맨드라인 옵션(--analysis-level, --skip-analysis 등)이 제거되고 출력 포맷과 처리 레이어 개념으로 단순화됐습니다.
저장소 보기 ↗github.com