APK decompilers

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

각 도구에 대한 자세한 내용은 https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr의 원본 게시물을 확인하세요.

JD-Gui는 선구적인 GUI Java 디컴파일러로, APK 파일 내의 Java 코드를 조사할 수 있습니다. 사용하기 간단하며, APK를 얻은 후에는 JD-Gui로 코드를 검사하기만 하면 됩니다.

Jadx는 Android 애플리케이션의 Java 코드를 디컴파일하기 위한 사용자 친화적인 인터페이스를 제공합니다. 다양한 플랫폼에서 사용하기 쉬움으로 추천됩니다.

  • GUI를 실행하려면 bin 디렉토리로 이동하고 다음을 실행하세요: jadx-gui

  • 명령줄 사용법은 다음과 같습니다: jadx app.apk로 APK를 디컴파일합니다.

  • 출력 디렉토리를 지정하거나 디컴파일 옵션을 조정하려면 다음을 사용하세요: jadx app.apk -d <출력 디렉토리 경로> --no-res --no-src --no-imports

GDA는 Android 앱의 역공학에 대한 다양한 기능을 제공하는 Windows 전용 도구입니다. Windows 시스템에 GDA를 설치하고 실행한 다음 분석할 APK 파일을 로드하세요.

Bytecode-Viewer를 사용하면 여러 디컴파일러를 사용하여 APK 파일을 분석할 수 있습니다. 다운로드한 후 Bytecode-Viewer를 실행하고 APK를 로드한 다음 동시 분석에 사용할 디컴파일러를 선택하세요.

Enjarify는 Dalvik 바이트코드를 Java 바이트코드로 변환하여 Java 분석 도구가 Android 애플리케이션을 더 효과적으로 분석할 수 있게 합니다.

  • Enjarify를 사용하려면 다음을 실행하세요: enjarify app.apk 이렇게 하면 제공된 APK의 Java 바이트코드가 생성됩니다.

CFR은 최신 Java 기능을 디컴파일할 수 있습니다. 다음과 같이 사용하세요:

  • 표준 디컴파일을 위해: java -jar ./cfr.jar "app.jar" --outputdir "output_directory"

  • 대형 JAR 파일의 경우 JVM 메모리 할당량을 조정하세요: java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"

Fernflower는 분석용 디컴파일러로, 소스에서 빌드해야 합니다. 빌드한 후 다음을 실행하세요:

  • JAR 파일을 디컴파일하려면: java -jar ./fernflower.jar "app.jar" "output_directory" 그런 다음 생성된 JAR에서 .java 파일을 unzip을 사용하여 추출하세요.

Krakatau는 특히 외부 라이브러리 처리에 대한 디컴파일에 대한 자세한 제어를 제공합니다.

  • 표준 라이브러리 경로와 디컴파일할 JAR 파일을 지정하여 Krakatau를 사용하세요: ./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"

procyon을 사용하여 간단한 디컴파일을 수행하려면:

  • JAR 파일을 지정된 디렉토리로 디컴파일합니다: procyon -jar "app.jar" -o "output_directory"

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

Last updated