소개
APKRepatcher는 Java로 제작된 Android APK 파일 수정 도구로, 사용자 친화적인 그래픽 사용자 인터페이스(GUI)를 제공합니다. 이 프로그램은 APK 내의 Java/Smali 코드를 편집하고 수정된 내용을 서명된 APK로 다시 작성할 수 있게 해줍니다. 또한, Dex, Jar, Class, Smali 등 다양한 Android 개발 파일 형식 간의 변환 기능을 포함하고 있습니다.
상세정보
APK 역공학 및 코드 편집
- APK 파일을 역 컴파일 Decompile 및 재컴파일 Recompile합니다.
- 이해하기 쉬운 Java 코드 편집기에서 Decompiled된 Java 코드를 직접 수정할 수 있습니다.
- 편집된 Java 코드의 Smali 버전을 보고 수정할 수 있습니다.
- 원본 APK의 Smali 코드를 직접 열어 편집할 수도 있습니다.
- 모든 코드 변경 사항을 저장하고 프로젝트를 빌드하면 수정된 내용이 반영된 새 APK가 생성됩니다.
- 최종 APK를 자동으로 재서명 Resign합니다.
다양한 파일 형식 변환
- Dex를 Jar, Class, Smali, Java로 변환합니다.
- Jar를 Dex, Java로 변환합니다.
- Class를 Dex, Smali로 변환합니다.
- Smali를 Class, Java, Dex로 변환합니다.
- 모든 APK를 추출하고 서명할 수 있는 기능을 제공합니다.
편의 기능 및 설정
- 코드의 찾기/바꾸기, 폰트 크기 조절과 같은 기본 편집 기능을 제공합니다.
- 프로그램이 사용하는 메모리 양을 변경하여 시스템에 맞게 조정할 수 있습니다.
- 외부 라이브러리를 추가하여 컴파일할 수 있습니다.
다운로드·설치 방법
GitHub 릴리즈 페이지에서 ZIP 파일을 다운로드하여 원하는 폴더에 압축을 풉니다.
명령 프롬프트 또는 터미널을 열고, APKRepatcher.jar 파일이 있는 디렉토리로 이동한 후 다음 명령어를 입력하여 프로그램을 실행할 수 있습니다.
java -jar APKRepatcher.jar
기본 사용법/명령어
프로그램을 실행하면 메인 GUI가 나타납니다. 주요 사용법은 다음과 같습니다.
- 파일 열기(File Open apk, CTRL+O): 수정할 APK 파일을 선택합니다. 프로그램이 해당 APK를 프로젝트 폴더 내에 압축 해제합니다.
- 편집 및 저장: 왼쪽 창의 패키지 구조에서 편집할 Java 파일을 더블 클릭하여 에디터에서 엽니다. 코드를 수정한 후, ‘파일 -> 컴파일 및 저장(File -> Compile & Save, CTRL+S)’을 클릭하여 변경 사항을 컴파일합니다.
- 빌드 및 APK 생성: 컴파일이 성공하면 ‘파일 -> APK 빌드(File -> Build APK, CTRL+B)’를 클릭합니다. 이를 통해 코드 변경이 모두 적용된 새 APK가 생성됩니다.
- Smali 편집 (고급): Java 코드를 컴파일할 수 없는 경우, ‘고급 -> 현재 코드 사용 Smali 편집’으로 Smali 버전을 생성한 후, ‘고급 -> 원본 APK 사용 Smali 편집’으로 교체하여 모듈을 패치할 수 있습니다.
이런 경우에 유용합니다
Android 개발자나 학습자는 APKRepatcher를 사용하여 기존 앱의 소스 코드를 분석하고 학습할 수 있습니다. 특정 앱의 기능을 테스트하거나, 자신만의 모듈을 패치하여 적용해 보고 싶을 때 유용합니다.
지원 환경·시스템 요구사항
Java가 설치된 시스템에서 실행됩니다. 공식 문서에 따르면 OS 의존성이 없으므로 여러 운영 체제에서 사용할 수 있다고 명시되어 있지만, 이번 카탈로그는 Windows 사용자를 대상으로 합니다.
최신 버전·업데이트
최신 릴리즈는 GitHub에서 확인할 수 있습니다. 프로그램 내의 ‘도움말 -> 소프트웨어 업데이트’ 기능을 사용하여 업데이트를 확인할 수도 있습니다.
제한 사항·확인 사항
- 이 소프트웨어는 교육 목적으로만 제공됩니다.
- 비록 Java 기반이라고 하더라도 모든 OS에서 완벽하게 작동한다고 보장할 수는 없습니다.
- 초기 메모리 할당량은 1500MB(1.5GB)이며, 시스템 환경에 따라 Settings 메뉴에서 변경이 필요할 수 있습니다.
시스템 요구사항
Java가 설치된 Windows 환경에서 실행됩니다.


