工具清单

  • Apktool/SHakaApktool
  • smali & baksmali
  • dex2jar
  • JD-GUI
  • signapk
  • dx & ddx

以上工具可点击 这里 打包下载

本文环境:Ubuntu 14.04.3 LTS 64-bit


工具使用场景

1
2
3
4
5
6
7
java->class: javac
smali->dex: smali.jar
class->dex: dx
dex->arm: execute
dex->smali: baksmali
dex->class: dex2jar
class->java: JD-GUI

Apktool

点击 官网 下载,里面也有详细的安装步骤。

中文步骤及注意事项:

此处为 Apktool 2.x 版本

  1. 右键另存 脚本文件,名为 apktool 。如果不能另存,打开 脚本文件, 复制全部内容到新建文件 apktool 中;
  2. 下载 apktool,将其重命名为 apktool.jar
  3. 如果是系统是 64 位,需要安装 32 位的库文件。如何安装可参考 How to install ia32-libs in Ubuntu 14.04 LTS (Trusty Tahr) . 或者直接执行以下命令:
    1
    2
    3
    4
    5
    6
    7
    sudo -i
    cd /etc/apt/sources.list.d
    echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
    apt-get update
    apt-get install ia32-libs
    rm ia32-libs-raring.list /etc/apt/sources.list.d
    apt-get update

执行完成可按 Ctrl+D 注销 root .

  1. apktoolapktool.jar 两个文件移动到 usr/local/bin . 此步骤需要 sudo .
  2. 为这两个文件加上可执行权限。
  3. 执行 apktool 测试效果。如果提示 can't find file apktool.jar ,可能是因为当前用户没有 apktool.jar 的读权限,试试用 sudo apktool 或者为其加上读权限。

ShakaApktool

ShakaApktool是一个比apktool更强大的工具,源代码在此https://github.com/rover12421/ShakaApktool.
尽情享用. :p


smali & baksmali

Apktool 中内置了 smali 和 baksmali,下载链接


dex2jar

下载 dex2jar 解压,你可以选择为所有的 .sh 文件加上执行权限,目前我只加了 d2j-dex2jar.shd2j_invoke.sh 。如果报错找不到命令,就是因为你没有加执行权限。


JD-GUI

官网 下载相应版本。
我下载的是 .deb 文件,安装命令为 sudo dpkg -i filename .


signapk

进行签名需要 sianapk.shsignapk.jar 和两个签名文件 testkey.pk8testkey.x509.pem
点击下载


dx & ddx

dx 是整个编译过程的一部分,将 Java 字节码转换为 Dalvik 字节码(class 文件变成 dex 文件),ddx 则正好相反。
你可以在 SDK 中找到它们,或者 下载


010 editor

查看二进制数据的神器,具体在这里 -> 号称 Edit Everything 的 010 Editor


adb

全程 android debug bridge,位于 SDK 中的 platform-tools 中。


fastboot

位于 SDK 中的 platform-tools,可用来刷recovery文件


jadx

dex2java工具,网址:https://github.com/skylot/jadx


to be continued.