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 $)
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文件语法参考

Ubuntu使用ApkTool进行APK反编译的更多相关文章

  1. (转)Android-Mac电脑如何进行APK反编译-使用apktool、jd-gui

    最近群里有人问如何在mac下进行apk反编译,我也没试过,以前都是在windows下进行反编译的,windows下很简单,有许多比较好的集成工具,如apkide(改之理),不过我猜mac下应该和win ...

  2. Android APK反编译 apktool使用教程

    2017年棋牌游戏突然就火了,正所谓春江水暖鸭先知本猿处在软件行业中就能清晰的感受到市场的变化,最近老家那边也是玩的风生水起,于是最近闲暇时光想到反编译下这些棋牌软件,看看代码实现的思路 (注:反编译 ...

  3. 一个APK反编译利器Apktool

    一个APK反编译利器Apktool   APK 本地化 [http://www.andmoto.com/viewthread.php?tid=3873]   说起APK的汉化,目前大部分教程都是让用H ...

  4. Android APK反编译详解(附图)

    转载自http://blog.csdn.net/sunboy_2050/article/details/6727581 这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而 ...

  5. Android APK反编译详解(附图)(转)

    这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程. 在此郑重声明,贴出来的目的不是为了去破解人家的软件, ...

  6. (转)Android APK反编译详解

    转载地址:http://blog.csdn.net/ithomer/article/details/6727581 这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到 ...

  7. Android APK反编译具体解释(附图)

    这段时间在学Android应用开发,在想既然是用Java开发的应该非常好反编译从而得到源码吧,google了一下,确实非常easy,下面是我的实践过程. 在此郑重声明,贴出来的目的不是为了去破解人家的 ...

  8. Android APK反编译详解(非常有用)

    如何学习最快呢?无疑是通过研究别人的源代码? 但是,获取别人的源代码,比较困难.本文,仅限于用于学习开发. 这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧 ...

  9. 【Android 应用开发】 Android APK 反编译 混淆 反编译后重编译

    反编译工具 : 总结了一下 linux, windows, mac 上的版本, 一起放到 CSDN 上下载; -- CSDN 下载地址 : http://download.csdn.net/detai ...

随机推荐

  1. Vijos 1816统计数字(计数排序)

    传送门 Description 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自 ...

  2. p:commandButton vs h:commandButton

    同样的语句,换成primefaces就不刷新页面了.原来p的支持ajax.需要显示指定刷新全部页面.郁闷了一天了. <p:commandButton id="SearchTop&quo ...

  3. JavaWeb学习总结-04 Servlet 学习和使用

    一 Servlet 1 Servlet概念 Servlet时运行在服务器端的Java程序. Servlet的框架核心是 javax.servlet.Servlet 接口. 所有自定义的Servlet都 ...

  4. elk系列3之通过json格式采集Nginx日志

    preface 公司采用的LNMP平台,跑着挺多nginx,所以可以利用elk好好分析nginx的日志.下面就聊聊它吧. 下面的所有操作都在linux-node2上操作 安装Nginx nginx是开 ...

  5. 适可而止:YAGNI原则

    适可而止:You Ain't Gonna Need It YAGNI原则指的是只需要将应用程序必需的功能包含进来,而不要试图添加任何其他你认为可能需要的功能. 在一个软件项目中,往往80%的时间花费在 ...

  6. 获取字符串中每个字符出现的次数(利用TreeMap)

    案例:"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)分析1:定义一个字符串(可以改进为键盘录入)2:定义一个 ...

  7. JavaScript学习笔记——DOM_对document对象的内容、属性、样式的操作

    javascript-对文档对象的内容.属性.样式的操作 一.操作内容 1. innerHTML 用来设置或获取对象起始和结束标签内的内容(识别html标签) 2. innerText 用来设置或获取 ...

  8. cmd 导出目录树

    cmd: tree /f >tree.txt

  9. OpenGL Tutorial

    https://open.gl https://www.processing.org/tutorials/pshader/

  10. JAVA中的聚集和组合的区别和联系

    选自<JAVA语言程序设计-基础篇(原书第8版)> 定义:一个对象可以包含另一个对象.这两个对象之间的关系称为组合(composition). 组合实际上是聚集关系的一种特殊形式.聚集模拟 ...