前言
安全问题一直都是一个比较敏感的话题,伴随互联网的发展,网络安全成为一门必不可少的一个学科。
一、Android反编译工具
Mac反编译的工具如下:
二、安装工具
-
apktool 安装
1)下载apktool脚本文件(sh)和apktool.jar
2)将apktool脚本和apktool.jar 文件放在/usr/local/bin文件夹下
3) 对这两个文件进行授权(chmod +x apktool)cd /usr/local/bin chmod +x apktool chmod +x apktool.jar
4)测试apktool安装是否成功,在sh窗口执行apktool。
-
dex2jar安装
可以参看作者的介绍安装1.In the root directory run: ./gradlew distZip 2.cd dex-tools/build/distributions 3.Unzip the file dex-tools-2.1-SNAPSHOT.zip (file size should be ~5 MB) 4.Run d2j-dex2jar.sh from the unzipped directory
-
JD-GUI 安装
JD-GUI下载安装包直接安装就可以了
三、反编译执行流程
1.apktool:用于将apk内的资源文件、xml等正确编译出来;同时可以将apk反编译出dex文件
将apk反编译的命令:
apktool d -s app.apk
备注:反编译apk文件 (apk其实是一个压缩文件,我们也可以通过其他解压文件,解压apk文件,但是解压出的很多都是乱码)
2.dex2jar:用于将.dex 转成 .jar
将apktool反编译出来的classes.dex文件拷贝到dex-tools-2.1-SNAPSHOT的文件夹目录下,对文件夹授权。
执行把.dex反编译出jar的命令:
sh d2j-dex2jar.sh classes.dex
3.JD-GUI:用于查看jar源代码
把jar文件直接拷贝出来,放在JD-GUI软件内查看代码
Android的反编译的流程基本上就这些了。
其他
二次打包
反编译的签名验证
https的签名验证等