소개
NETReactorSlayer는 Eziriz .NET Reactor로 보호된 .NET 어셈블리의 역공학을 위한 오픈 소스(GPLv3) 디오블리스케이터 및 언패커입니다. Windows 환경에서 GUI와 CLI를 모두 제공하여, Obfuscation된 파일을 해독하고 복원하는 데 사용됩니다. NecroBit, 문자열 암호화, 제어 흐름 난독화 등 다양한 보호 계층을 제거하는 데 중점을 둡니다.
상세정보
프로그램 소개
NETReactorSlayer는 Eziriz社의 상업용 Obfuscator인 .NET Reactor에 의해 보호된 파일을 분석하고 원래 상태로 복원하도록 설계된 오픈 소스 유틸리티입니다. Windows 환경에서 그래픽 인터페이스(GUI)와 명령줄 인터페이스(CLI)를 모두 지원하여 사용 편의성을 제공합니다.
주요 기능
- Protection 제거: .NET Reactor 버전 6.0 이상에서 적용된 NecroBit, 문자열 암호화, 숨겨진 호출, 토큰 난독화 등을 해독하고 복원합니다.
- Control Flow 복원: 코드의 실행 흐름을 교란시키는 제어 흐름 난독화(Control Flow Obfuscation)를 복구하여 코드의 가독성을 높입니다.
- 리소스 및 어셈블리 복구: 암호화된 어셈블리 리소스를 해독하고, 내부에 임베드된 어셈블리를 덤프(Dump)하여 추출할 수 있습니다.
기본 사용법
가장 간단한 사용법은 파일 탐색기에서 Obfuscation된 대상 파일을 ‘NETReactorSlayer.CLI.exe’ 아이콘 위로 드래그 앤 드롭하는 것입니다. GUI 버전(.NET Framework 버전)에서는 프로그램 창을 열고 파일을 불러올 수 있습니다.
CLI 사용자를 위한 주요 명령어 옵션은 다음과 같습니다:
- –dec-methods: 메서드 본문 복호화 (기본값: True)
- –dec-strings: 문자열 복호화 (기본값: True)
- –dec-rsrc: 어셈블리 리소스 복호화 (기본값: True)
- –deob-cflow: 제어 흐름 디오블리스케이션 (기본값: True)
이런 경우에 유용합니다
丢失了源 코드 빌드 스크립트가 있는 .NET 어셈블리를 분석하거나 디버깅해야 할 경우, 또는 .NET Reactor로 보호된 프로그램의 내부 구조를 학습하고 싶은 리버스 엔지니어링 학습자에게 유용합니다. 또한 프로젝트 간 의존성 확인이나 호환성 검증을 위해 기존 보호된 파일을 검사해야 할 때 활용됩니다.
최신 버전·업데이트
GitHub 저장소의 릴리즈 페이지를 통해 최신 안정 버전을 확인할 수 있습니다. 현재 제공된 패키지 버전은 6.4.0.0입니다.
제한 사항·확인 사항
.NET Reactor의 ‘Code Virtualization’ 기능은 아직 지원되지 않으므로, 이를 사용한 보호 파일은 완전히 디오블리스케이팅되지 않을 수 있습니다. 복구 후 프로그램이 정상 작동하지 않을 경우 ‘–preserve-all’ 또는 ‘–keep-max-stack’ 명령어 옵션을 사용해 보는 것이 권장됩니다.
시스템 요구사항
Markdown이 첨부된 증거에서 특정 시스템 요구사항은 명시되어 있지 않습니다.


