Android Dex, APK 및 관련 파일을 읽기 쉬운 Java 소스 코드로 디컴파일하는 CLI 및 GUI 도구입니다.
Col-E/Recaf
컴파일된 애플리케이션을 디컴파일, 편집, 난독화 해제하고 내보낼 수 있는 IDE 스타일 인터페이스의 Java 및 Android 바이트코드 편집기입니다.
- 스타
- 7,456
- 포크
- 546
- 열린 이슈
- 61
- 마지막 커밋
- 5일 전
어떤 프로젝트인가요?
Recaf는 컴파일된 Java 및 Android 애플리케이션을 위한 바이트코드 편집기입니다. 원본 소스가 없는 JAR 파일을 열고, 익숙한 IDE 스타일 인터페이스에서 클래스를 탐색하고, 디컴파일된 소스나 바이트코드 어셈블러 수준에서 코드를 편집한 다음, 수정한 애플리케이션을 내보낼 수 있습니다.
디컴파일러 뷰는 CFR, Procyon, Fernflower를 지원하며, 검색 기능으로 문자열, 상수, 클래스 참조, 메서드, 바이트코드 명령어 패턴을 찾을 수 있습니다. Recaf에는 불투명 상수와 조건자를 다루는 바이트코드 변환기, 패턴 기반 일괄 이름 변경, 다른 도구에서 사용할 매핑 내보내기 등 난독화된 코드를 분석하는 도구도 포함되어 있습니다.
이 프로젝트는 분석 워크플로를 자동화하는 스크립팅 API와 헤드리스 CLI 모드를 제공하며, Gradle로 빌드하거나 IDE에서 열 수 있습니다.
핵심 기능
- 01CFR, Procyon 또는 Fernflower로 디컴파일하고, 생성된 Java 소스를 바로 편집합니다.
- 02변수 이름, 구문 피드백, 제어 흐름 시각화를 지원하는 바이트코드 어셈블러를 사용합니다.
- 03문자열, 상수, 클래스 참조, 메서드, 명령어 패턴을 검색합니다.
- 04바이트코드 변환기와 패턴 기반 이름 변경을 적용해 애플리케이션의 난독화를 해제합니다.
- 05명령줄에서 실행하는 스크립트로 워크플로를 자동화합니다.
활용 사례
- 소스 코드가 없는 Java 또는 Android 앱을 살펴볼 때.
- 스켈레톤 코드를 생성해 JAR에서 누락된 라이브러리 클래스를 패치할 때.
- 보호되었거나 난독화된 Java 애플리케이션을 분석하고 난독화를 해제할 때.
- 헤드리스 모드에서 반복적인 리버스 엔지니어링 작업을 스크립팅할 때.
빠른 시작
- 1
저장소를 클론합니다
git clone https://github.com/Col-E/Recaf.git - 2
Gradle로 프로젝트를 빌드합니다
gradlew build - 3
빌드된 jar를 recaf-ui/build/libs에서 실행합니다
사용 전 알아둘 점
- 개발 환경을 설정하려면 Gradle 또는 IDE를 사용해 소스에서 빌드해야 합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- Recaf은(는) 무엇인가요?
- 컴파일된 애플리케이션을 디컴파일, 편집, 난독화 해제하고 내보낼 수 있는 IDE 스타일 인터페이스의 Java 및 Android 바이트코드 편집기입니다. Recaf는 컴파일된 Java 및 Android 애플리케이션을 위한 바이트코드 편집기입니다. 원본 소스가 없는 JAR 파일을 열고, 익숙한 IDE 스타일 인터페이스에서 클래스를 탐색하고, 디컴파일된 소스나 바이트코드 어셈블러 수준에서 코드를 편집한 다음, 수정한 애플리케이션을 내보낼 수 있습니다.
- Recaf은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- Recaf은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- Recaf은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. Recaf의 마지막 커밋은 2026년 11월 2일입니다.
- Recaf은(는) 어디에 사용할 수 있나요?
- 소스 코드가 없는 Java 또는 Android 앱을 살펴볼 때. 스켈레톤 코드를 생성해 JAR에서 누락된 라이브러리 클래스를 패치할 때. 보호되었거나 난독화된 Java 애플리케이션을 분석하고 난독화를 해제할 때. 헤드리스 모드에서 반복적인 리버스 엔지니어링 작업을 스크립팅할 때.
- Recaf는 어떻게 설치하나요?
- 저장소를 클론합니다: git clone https://github.com/Col-E/Recaf.git Gradle로 프로젝트를 빌드합니다: gradlew build 빌드된 jar를 recaf-ui/build/libs에서 실행합니다
- Recaf은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Col-E/Recaf
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
비공개 Android APK를 리버스 엔지니어링하고 리소스를 원본에 가까운 형태로 디코딩한 뒤, 수정 사항을 반영해 다시 빌드하는 CLI 도구입니다.
JADX GUI에서 디컴파일된 Android APK를 실시간으로 분석하도록 Claude 같은 LLM을 지원하는 JADX 플러그인 및 Python MCP 서버입니다.
jar를 먼저 압축 해제하지 않고도 내부의 클래스와 리소스 파일을 바로 편집할 수 있는 IntelliJ IDEA 플러그인입니다.
컴파일된 .NET 바이너리를 읽기 쉬운 C#으로 복원하는 오픈 소스 크로스 플랫폼 .NET 어셈블리 브라우저이자 디컴파일러입니다.
소스 코드 없이 .NET 및 Unity 어셈블리를 디버깅하고 편집할 수 있는 dnSpy의 비공식 후속 프로젝트입니다.