Ubuntu使用ApkTool进行APK反编译

1.Apktool下载

http://ibotpeaches.github.io/Apktool/

下载最新版本Apktool_2.1.1.jar

2.新建一个apktool目录,将Apktool_2.1.1.jar放到目录中。

3.在apktool目录中新建一个apktool.sh脚本文件,并编辑内容:

#!/bin/bash
cd $(dirname $0)
pwd
java -jar apktool_2.1.1.jar $@

4.编辑~/.bashrc,将apktool目录加入PATH中。

5.重启终端,即可使用apktool.sh命令来进行反编译。

apktool.sh d test.apk

 6.反编译后,输出目录中又smali文件夹,这个就是src源码。

------------------------------------------------------------------

要将smali转化为java,才算真正反编译成功。

在Windows环境下,可以用这个:http://www.hensence.com/cn/smali2java/

Ubuntu环境下怎么办?

(1)先到github下面下载:smali2java将项目zip包解压。

(2)下载gradle

下载地址:http://gradle.org/gradle-download/

安装参考:Ubuntu之安装Gradle

(3)进入smali2java解压后的目录

cd '~/下载/smali2java-master/smali2java'

(4)用gradle命令进行编译

gradle build

编译后,可以得到smali2java.jar

---------------------------------------------------------

然而Smali2java项目已经很久没有更新,只能用于一些简单的JAVA程序。转换得到的JAVA文件内容可能是不全的。

所以,学习Smali语法,直接看Smali文件才是王道。下面是几个有关Smali的链接,看了之后有一些了解,基本就可以看懂Smali文件了。

 1.Smali--Dalvik虚拟机指令语言-->【android_smali语法学习一】

 2.smali文件语法参考

原文地址:https://www.cnblogs.com/tt2015-sz/p/5549350.html