一、概述
二、工具介绍
1. apktool
google官方出品的反编译工具
反编译:java -jar apktool.jar [-r] [-s] d 目标apk -o 输出目录
编 译:java -jar apktool.jar [-r] [-s] b 输出目录 -o 目标apk
参数说明:[-r] 和 [-s]为可选参数,-r为忽略res资源(资源混淆导致的反编译失败),-s为忽略src代码(资源加密处理)
注意事项:AAPT2打的apk包,需要增加参数 --use-aapt2
2.SmailIdea-0.06.jar
AS插件,支持Smail语法高亮,跳转,调试
AS导入本地插件安装即可,注意AS自带Smail文件类型识别,需去掉配置,改用插件识别
Preferences->Editor->File Types->Smail(File name patterns栏里面删除*.smail)
Preferences->Editor->File Types->Smail Files(File name patterns栏里面添加*.smail)
3.Jeb
将smail代码翻译成JAVA伪代码,是逆向静态分析利器.
将smail晦涩难懂的语法翻译成JAVA伪代码,用于静态分析,支持强大的代码跳转查看。配合AS,静动结合提高逆向分析效率.
4.AndroidKiller(Windows)
AndroidKiller反编译工具能快速逆向编辑APK文件,让编程人员能够轻松自定义APK文件的系统程序,自定义代码段,编辑破解安卓软件。
Androidkiller下载|Android Killer v1.3.1 官方最新版下载 - 下载银行
5.Android-Crack-Tool For Mac
Github链接:GitHub - Jermic/Android-Crack-Tool: Android crack tool For Mac
集成了Android开发中常见的一些编译/反编译工具,方便用户对Apk进行逆向分析,提供Apk信息查看功能.
使用说明:
1.点击浏览打开选择相应功能文件,如果格式错误将无法选中
2.支持拖拽文件到路径,支持手动修改文件到路径(没有做详细判断,所以不要挑战程序健壮性了,正常用就好)
3.添加源文件路径后,若于对应功能吻合将自动生成输出路径,后面会添加功能标识
O out 反编译标识
R rebuild 重建标识
S sign 签名标识
Z zipalign 优化标识
d2j dex2Jar 转Jar标识
dex dex 提取DEX
smali CS2SM 转Smail标识
4.选中相应功能,点击执行按钮(没有做功能过渡动画,根据LOG自行判断完成是否执行完毕,后续版本功能)
5.点击打开可打开到对应输出目录文件
6.点击交换按钮和互换输入输出路径
7.支持日志导出
8.检测插件版本(后续版本功能)
9.设置面板可更换默认apktool工具i
10.最重要的一点是,请注意使用部分功能时,输出文件如果存在会覆盖掉并不会做提示
三、逆向流程/示例
四、总结