Android开发安卓优化安全

mac环境下Android 反编译

2018-06-24  本文已影响577人  AIllll

一、需要的工具

  1. apktool:反编译APK文件,得到classes.dex文件,同时也能获取到资源文件以及布局文件。
  2. dex2jar:将反编译后的classes.dex文件转化为.jar文件。
  3. jd-gui:用于将.jar文件转换成java代码。

二、反编译步骤

第一步:使用「apktool」工具对APK进行反编译

1. 下载apktool

下载apktool
2. 把下载好的apktool脚本和apktool.jar文件移动到 /usr/local/bin 文件夹下 菜单栏点击「前往」→ 「前往文件夹」 前往 /usr/local/bin 文件夹 将apktool脚本和apktool.jar文件复制到此文件夹

3. 使用命令「 chmod +x 」 分别对apktool和apktool.jar文件进行提权

chmod +x apktool
chmod +x apktool.jar



4. 测试是否成功,终端输入apktool,若成功,如下图

apktool安装完成

5. 运行apoktool脚本进行反编译

①. 把你需要反编译的apk文件也复制到 /usr/local/bin 文件夹下
②. 终端输入命令 「 apktool d xxx.apk」回车,等待执行完毕

apktool d xxx.apk
执行脚本反编译apk文件

③. 执行完毕后目录下会生成反编译apk的对应文件夹


反编译成功

但是我们在反编译apk后的文件夹里并没有看到classes.dex文件,这时候就需要在上述命令行添加-s,表示禁止将dex文件解码成smali

apktool d -s xxx.apk
禁止将dex文件解码成smali 成功生成classes.dex文件

第二步:使用dex2jar工具把classes.dex文件转化成.jar文件

1. 下载dex2jar并解压
2. 把classes.dex文件复制到解压后的dex2jar文件夹下,终端执行命令「 sh d2j-dex2jar.sh classes.dex」

sh d2j-dex2jar.sh classes.dex
dex2jar成功

3. 执行完毕后,会在文件夹下生成一个.jar文件,里面就是java源码

生成的.jar文件

第三步:使用JD-GUI软件查看jar包下的java源码

1.下载并安装jd-gui
2. 打开安装好的JD-GUI,直接把第二步生成的.jar文件拖进去,就能看到反编译出来的java源码了

打开JD-GUI
把jar包拖进去就可以看到java源码了
上一篇 下一篇

猜你喜欢

热点阅读