Android 反编译 apktool+dex2jar+jd-gui

前言

反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。

该教程只在mac环境下测试。

ApkTool

资源文件获取,Google提供的APK编译工具,可以反编译和回编译。一般将apk文件后缀改成zip解压后得到的xml会是乱码,用apktool则不会。

下载

下载地址:地址一(google)地址二(github)
apktool下载

上图的意思大概是:

  1. wrapper script 右键 >>> 链接另存为 >>> 文件名保存为 apktool,或者直接点进去,把网页里的内容复制,把复制的内容保存到一个命名为apktool文件里,文件不要加后缀;

  2. 下载 apktool-2.x.jar,下载地址:apktool-2.x.jar download,下载完成后改名为:apktool.jar;

  3. apktoolapktool.jar 移动到 /usr/local/bin 文件目录下,需要添加权限;

    sudo chmod -R 777 文件夹名称
    # -R 是指级联应用到目录里的所有子目录和文件
    # 777 是所有用户都拥有最高权限

  4. 在终端能够运行 apktool 就说明成功了。

使用

使用很简单,终端 cd 到任意一个文件夹中,然后输入命令:

  • 反编译

    apktool d xxx.apk # 反编译,其中xxx.apk为反编译的apk

  • 二次打包

    apktool b xxx -o yyy.apk

生成的文件夹(终端cd到哪儿文件夹就在哪儿)就是该apk的资源文件;

dex2jar

将dex文件转换为jar包;

下载

dex2jar下载

下载地址:dex2jar download

下载完成后就是一个zip文件,解压到任意一个文件夹中;

使用

  1. 解压 dex2jar-2.0.zip 到文件夹 dex2jar-2.0;

  2. 修改文件权限

    Chmod +x ../dex2jar-2.0/d2j-dex2jar.sh ../dex2jar-2.0*/*d2j_invoke.sh

    # d2j-dex2jar.sh 和 d2j_invoke.sh 为绝对路径;

  3. 输入命令:

    sudo sh ../dex2jar-2.0/d2j-dex2jar.sh xxx.apk

  4. xxx.jar 就是终端cd后的目录里。

jd-gui

JD-GUI是一个独立的图形工具,用于显示“.class”文件的Java源代码。您可以使用JD-GUI浏览重建的源代码,以便即时访问方法和字段。

下载地址:JD-GUI

jd-gui查看jar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值