Android 反编译Apk (Mac)

前言

安全问题一直都是一个比较敏感的话题,伴随互联网的发展,网络安全成为一门必不可少的一个学科。

一、Android反编译工具

Mac反编译的工具如下:

  1. apktool: 用于将apk转为dex、提取项目的资源文件
  2. dex2jar:用于dex转化为.jar
  3. JD-GUI:用于查看jar源代码

二、安装工具

  1. 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。
    apktool

  2. 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
    
  3. 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的签名验证等


版权声明:本文为Future_One原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。