mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
4 KiB
4 KiB
APK反编译器
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
- 如果您想在HackTricks中看到您的公司广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS & HackTricks周边产品
- 探索PEASS家族,我们的独家NFT收藏品
- 加入 💬 Discord群 或 电报群 或在Twitter上关注我们 🐦 @carlospolopm。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。
有关每个工具的更多详细信息,请查看原始帖子https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr
JD-Gui
作为开创性的GUI Java反编译器,JD-Gui允许您查看APK文件中的Java代码。使用简单;获取APK后,只需用JD-Gui打开它以检查代码。
Jadx
Jadx提供了一个用户友好的界面,用于从Android应用程序中反编译Java代码。它因跨不同平台的易用性而备受推荐。
- 要启动GUI,请转到bin目录并执行:
jadx-gui
- 对于命令行用法,使用以下命令反编译APK:
jadx app.apk
- 要指定输出目录或调整反编译选项:
jadx app.apk -d <输出目录路径> --no-res --no-src --no-imports
GDA-android-reversing-Tool
GDA是一个仅适用于Windows的工具,为反向工程Android应用程序提供了丰富的功能。在Windows系统上安装并运行GDA,然后加载APK文件进行分析。
Bytecode-Viewer
使用Bytecode-Viewer,您可以使用多个反编译器分析APK文件。下载后,运行Bytecode-Viewer,加载您的APK,并选择您希望用于同时分析的反编译器。
Enjarify
Enjarify将Dalvik字节码转换为Java字节码,使Java分析工具能够更有效地分析Android应用程序。
- 要使用Enjarify,请运行:
enjarify app.apk
这将生成所提供APK的Java字节码等效物。
CFR
CFR能够反编译现代Java特性。使用方法如下:
- 对于标准反编译:
java -jar ./cfr.jar "app.jar" --outputdir "输出目录"
- 对于大型JAR文件,请调整JVM内存分配:
java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "输出目录"
Fernflower
Fernflower是一款分析反编译器,需要从源代码构建。构建后:
- 反编译JAR文件:
java -jar ./fernflower.jar "app.jar" "输出目录"
然后,使用unzip
从生成的JAR文件中提取.java
文件。
Krakatau
Krakatau提供了对反编译的详细控制,特别适用于处理外部库。
- 通过指定标准库路径和要反编译的JAR文件使用Krakatau:
./Krakatau/decompile.py -out "输出目录" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"
procyon
对于使用procyon进行简单反编译:
- 将JAR文件反编译到指定目录:
procyon -jar "app.jar" -o "输出目录"