① Android逆向工程必备工具
工欲善其事必先利其器,好的Android逆向工程工具在破解工程中起到事半功倍的作用。以下介绍几个常用的Android逆向工程工具。
1. SMALI/BAKSMALI:是一个强大的apk文件编辑工具,用于反编译和回编译classes.dex,支持DEX格式的所有功能,语法宽松且与Jasmin/dedexer兼容。
2. ANDBUG:基于jdwp协议的Dalvik虚拟机调试工具,适用于Android平台,提供了强大的灵活性和可定制性,使用Python封装,与Android的Eclipse插件调试接口相同。
3. ANDROGUARD:提供恶意软件分析功能,支持DEX/ODEX、APK、XML、资源文件等格式,主要由Python编写,具有可视化特点。
4. APKTOOL:GOOGLE提供的APK编译工具,能够反编译及回编译apk,清理上次反编译文件夹,支持完整解包APK,包含资源文件、布局文件、图片资源文件、smali文件等。
5. AFE:运行在Unix-based操作系统中,用于证明Android操作系统中的安全漏洞,能够自动化创建恶意软件,发现应用软件的漏洞,并在受感染设备上执行任意命令。
6. BYPASS SIGNATURE AND PERMISSION CHECKS FOR IPCS:通过使用Cydia Substrate为IPCs提供绕过签名和权限检查服务。
7. ANDROID OPENDEBUG:利用Cydia Substrate将所有应用程序在设备上运行,一旦安装任意应用程序就会有一个debugger连接到它们。
8. DARE:宾州大学计算机系发布的apk逆向工程工具,可以将Android系统中使用的apk文件反编译为javaClass文件。
9. DEX2JAR:操作Android的dalvik(.dex)文件格式和Java的(.class)的工具集合,包含功能如dex到class的文件格式转换、smali/baksmali等。
10. ENJARIFY:基于Python3开发的反编译工具,可以将Dalvik字节码转换成Java字节码,有比dex2jar更优秀的兼容性、准确性和效率。
11. DEDEXER:反编译dex文件的开源工具,无需在android模拟器中运行,能够按照java源代码package的目录结构建立目录,并将class文件对应到ddx文件中。
12. FINO:Android动态分析工具。
13. INDROID:证明基于ARM的nix设备创建远程线程的调试功能可以被恶意软件滥用。
14. INTENT SNIFFER:监控Android平台中运行时路由的广播Intent,不监控显式广播的Intent。
15. INTROSPY:黑盒测试工具,帮助理解Android应用程序在运行时的行为,识别潜在的安全问题。
16. JAD:Java反编译工具,通过命令行将Java的class文件反编译成源代码。
17. JD-GUI:独立显示".class"文件Java源代码的图形用户界面工具,提供对源代码的即时访问。
18. CFR:Java反编译器,支持Java 8的lamda表达式和Java 7的字符串转换。
19. KRAKATAU:包含java类文件的反编译和反汇编工具,创建类文件的汇编工具。
20. PROCYON:Java反编译器和元编程框架,用于解析、操作Dalvik虚拟机。
21. FERNFLOWER:对Java程序进行反编译分析的工具,开发中,如有bug报告和改进建议可发送至指定邮箱。
22. REDEXER:Dalvik字节码分析框架,使用OCaml编程语言开发,帮助解析、操作Dalvik虚拟机。
23. SIMPLIFY:通过执行APP解读其行为,尝试优化代码以实现更易于理解的行为,支持多种优化类型。
24. BYTECODE VIEWER:高级轻量级Java字节码查看器,支持Java类文件的交互,提供插件系统以扩展功能。
25. RADARE2:开放源代码的逆向工程平台,用于反汇编、调试、分析和操作二进制文件。
26. JEB FOR ANDROID:功能强大的Android应用程序反编译工具,用于逆向工程或审计APK文件。
以上工具为Android逆向工程提供了强大的支持,帮助开发者和安全专业人员深入分析和理解Android应用的内部机制。如果你对Android逆向工程感兴趣,欢迎进一步探索这些工具和相关资源。