Android逆向入门、进阶、工具大全

尉迟明贤
2023-12-01

一、概述

  1. Android逆向主要包括反编、重编、签名、优化、DEX2JAR等
  2. Windows系统下的反编译工具套件相对Mac 会比较成熟可靠些

二、工具介绍

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.最重要的一点是,请注意使用部分功能时,输出文件如果存在会覆盖掉并不会做提示

三、逆向流程/示例

  1. 准备目标 xxx.apk
  2. 使用二、4或5的工具反编
  3. 改动app name
  4. 重新打包
  5. 安装验证

四、总结

 类似资料: