6.2 KiB
APK 디컴파일러
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.
각 도구에 대한 자세한 내용은 https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr 원본 게시물을 확인하세요.
JD-Gui
선구적인 GUI 자바 디컴파일러인 JD-Gui는 APK 파일 내의 자바 코드를 조사할 수 있게 해줍니다. 사용이 간단하며, APK를 얻은 후 JD-Gui로 열어 코드를 검사하면 됩니다.
Jadx
Jadx는 안드로이드 애플리케이션의 자바 코드를 디컴파일하기 위한 사용자 친화적인 인터페이스를 제공합니다. 다양한 플랫폼에서 사용하기 쉬워 추천됩니다.
- GUI를 실행하려면 bin 디렉토리로 이동하여 다음을 실행합니다:
jadx-gui
- 명령줄 사용을 위해 APK를 디컴파일하려면:
jadx app.apk
- 출력 디렉토리를 지정하거나 디컴파일 옵션을 조정하려면:
jadx app.apk -d <출력 디렉토리 경로> --no-res --no-src --no-imports
GDA-android-reversing-Tool
GDA는 Windows 전용 도구로, 안드로이드 앱의 리버스 엔지니어링을 위한 광범위한 기능을 제공합니다. Windows 시스템에 GDA를 설치하고 실행한 후 APK 파일을 로드하여 분석합니다.
Bytecode-Viewer
Bytecode-Viewer를 사용하면 여러 디컴파일러를 사용하여 APK 파일을 분석할 수 있습니다. 다운로드 후 Bytecode-Viewer를 실행하고 APK를 로드한 다음 동시에 분석할 디컴파일러를 선택합니다.
Enjarify
Enjarify는 Dalvik 바이트코드를 자바 바이트코드로 변환하여 자바 분석 도구가 안드로이드 애플리케이션을 더 효과적으로 분석할 수 있게 해줍니다.
- Enjarify를 사용하려면:
enjarify app.apk
를 실행합니다. 이는 제공된 APK의 자바 바이트코드 동등물을 생성합니다.
CFR
CFR은 현대 자바 기능을 디컴파일할 수 있습니다. 다음과 같이 사용하세요:
- 표준 디컴파일을 위해:
java -jar ./cfr.jar "app.jar" --outputdir "output_directory"
- 큰 JAR 파일의 경우, JVM 메모리 할당을 조정합니다:
java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Fernflower
Fernflower는 분석 디컴파일러로, 소스에서 빌드해야 합니다. 빌드 후:
- JAR 파일을 디컴파일합니다:
java -jar ./fernflower.jar "app.jar" "output_directory"
그런 다음, 생성된 JAR에서.java
파일을unzip
을 사용하여 추출합니다.
Krakatau
Krakatau는 디컴파일에 대한 세부적인 제어를 제공하며, 특히 외부 라이브러리를 처리하는 데 유용합니다.
- Krakatau를 사용하려면 표준 라이브러리 경로와 디컴파일할 JAR 파일을 지정합니다:
./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"
procyon
procyon을 사용하여 간단한 디컴파일을 수행합니다:
- JAR 파일을 지정된 디렉토리로 디컴파일합니다:
procyon -jar "app.jar" -o "output_directory"
frida-DEXdump
이 도구는 메모리에서 실행 중인 APK의 DEX를 덤프하는 데 사용될 수 있습니다. 이는 애플리케이션이 메모리에서 실행될 때 제거되는 정적 난독화를 우회하는 데 도움이 됩니다.
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.