Apk 反编译

1、需要的工具

1)apktool

作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看
 apktool下载地址:https://bitbucket.org/iBotPeaches/apktool/downloads

2)dex2jar

作用:将apk反编译成java源码(classes.dex转化成jar文件)
  dex2jar下载地址:http://sourceforge.net/projects/dex2jar/files/

3)jd-gui

  作用:查看APK中classes.dex转化成出的jar文件,即源码文件
  jd-gui下载地址:http://jd.benow.ca/

2、反编译步骤

1)解压压缩包

这里写图片描述

2)使用apktool反编译apk得到图片、XML配置、语言资源等文件

(1)运行cmd ,切换到 apktool 所在目录
(2)运行
java -jar apktool_2.3.3.jar d -f AmazonAlexa.apk -o TestSource

这里写图片描述

这里写图片描述

在文件夹中生成一个TestSource 文件夹,里面保存apk 资源信息。

3)使用dex2jar反编译apk得到Java源代码

(1)将要反编译的APK后缀名改为.rar或者 .zip,并解压
(2)将apk解压出来的 classes.dex 文件 拷贝到 前面解压的dex2jar 文件中
这里写图片描述
(3)运行 cmd ,切换到解压的dex2jar 目录
(4)运行: d2j-dex2jar classes.dex

这里写图片描述

(5)运行成功后 会在dex2jar 那个文件夹,生成一个classes-dex2jar.jar 文件

(6)到jd-gui 文件夹运行jd-gui.exe
这里写图片描述

(7) 用gui 打开生成的classes-dex2jar.jar 文件
这里写图片描述

JD-GUI虽然可以将class反编译成java源代码,但是对于一些被混淆过的class,反编译的效果就不是那么理想了,被混淆过的class反编译后的效果图(类文件名称以及里面的方法名称都会以a,b,c….之类的样式命名)

文章参考:
Android反编译最新教程
https://blog.csdn.net/dwadekkk/article/details/78952414

猜你喜欢

转载自blog.csdn.net/qq_27061049/article/details/80610809