需要的工具:

  1.apktool apk打包工具

  下载地址:http://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2

  安装:直接解压就可以,是一个apktool.jar文件,通过

  $java -jar apktool.jar

  来执行,依赖于java执行环境

  2.dex2jar dex转化jar工具

  下载地址:http://dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip

  安装:直接解压就可以,是一个目录。里面包括了非常多文件,通过

$./dex2jar.sh

  来执行

  3.假设你没有unzip,安装此解压工具, zip解压缩工具,用于解压jar包(jar包是zip压缩的,所以能够用其他工具取代)

  下载地址:ubuntu $sudo apt-get install unzip

  安装: $sudo apt-get install unzip

        $upzip [src_path] -d [dst_path]

  来执行

  4.jad .class文件反编译工具

  下载地址:http://www.varaneckas.com/jad

http://varaneckas.com/jad/jad158e.linux.static.zip

  安装:直接解压就可以。是一个可运行文件,通过  

./jad

  来执行。须要说明的是,这个须要下载static版本号的,假设不行的话,在去第一个链接里找还有一个下载。


  接下来,工具准备完成了,最好设定一下环境变量。我们就能够反编译apk了

  一、抽取apk资源

运行: $java -jar apktool.jar d [source.apk]

  二、反编译源代码

  (1)解压apk

  $unzip [source.apk] -d [step_1]

  step_1指的是你所须要解压到的文件夹

  (2)进入step_1 文件夹,找到classes.dex文件。将dex文件转化成jar文件

$dex2jar.sh classes.dex

  (3)获得一个classes_dex2jar.jar文件,我们如今要再度解压这个文件

        $upzip classes_dex2jar.jar -d [step_3]

  step_3指的是你解压到的文件夹

  (4)我们获得一个step_3文件夹,我们接下来要反编译该文件夹下全部.class文件  

        $./jad -o -r -s  java -d  src step_3/**/*.class

对于上面的參数。能够直接运行./jad查看,或者Readme.txt查看

  (5)我们再度获得一个src文件夹。该文件夹下就是反编译好的源代码文件了。

也能够使用JD-GUI工具直接查看classes_dex2jar.jar的class文件。

假设以上命令不运行的话。查看文件夹是否正确。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

linux在下面APK反编译软件和过程的描述的更多相关文章

  1. linux下的APK反编译软件及过程介绍 .

    需要工具: 1.apktool apk打包工具 下载地址:http://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2 安装:直接解 ...

  2. apk反编译、smali修改、回编译笔记

    最近下了一个apk程序,但是一启动会弹出一个流氓广告.这个广告不是原厂商加的,而是有人在原有apk程序的基础上,加了一个壳,让apk先启动他加的广告,再启动原来的程序,很恶心.于是想去掉它. 试了几个 ...

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

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

  4. 从原生APK反编译,拿到界面,用于mono for android

    从原生APK反编译,拿到界面,用于mono for android 1.用apktool反编译apk,得到xxx.apk.de 2.从xxx.apk.de\res\layout 3.复制所有xml到M ...

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

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

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

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

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

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

  8. APK反编译之一

    初步接触APK反编译.刚刚使用android-apktool软件反编译了一下QQ.apk,目的只是想看看QQ这个应用软件是内部是如何设计的,希望可以在某些方面借鉴一下.下面就如何反编译做一个简单的记录 ...

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

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

随机推荐

  1. hdu - 3572 - Task

    题意:有N个作业,M台机器,每个作业1天只能同1台机器运行,每台机器1天只能运行1个作业,第i个作业需要pi天完成,且只能从Si到Ei中选Pi天,问能否完成所有作业(T <= 20, N< ...

  2. android绑定Service失败原因

    今天抄一个代码,学习Service,中间Service的绑定一直是失败的. bindService返回false 上网查询的话都是一些,比如说TabHost的问题 发现和自己的问题不一样. 最后想了想 ...

  3. ASP漏洞+SQL注入的入侵方法

    本文就是想对装上了防火墙的主机,进行入侵攻击的大概思路小结一下. 首先当然是用扫描器对这台服务器(以下简称主机A)进行常规的扫描,得到初步的信息.再用nmap -sS IP -P0 -p 139 ,透 ...

  4. Xcode4.6 自制iOS可用的 Framework

    First of all:新建一个空白project. File->New->Project 然后新建两个文件 File->New->File  如图 然后选择targets ...

  5. libevent简单介绍和使用

    <pre class="html" name="code">libevent接口的使用是简单easy的.关键还是一些其他技术须要深入了解.如epol ...

  6. hive regex insert join group cli

    1.insert Insert时,from子句既能够放在select子句后,也能够放在insert子句前,以下两句是等价的 hive> FROM invites a INSERT OVERWRI ...

  7. java-创建线程的两种方式

    1. 继承Thread类 定义类继承Thread类. 覆盖run方法. 实例化子类对象,调用start()方法,从而调用run方法. 2.实现Runnable接口 定义类实现Runnable接口. 覆 ...

  8. Java内部类——成员内部类

    成员内部类的意思就是,一个外层类里面包含着一个非static的class,举例如下: class OuterClass { //变量,函数定义... class InnerClass { //变量,函 ...

  9. PHP学习之-1.5 字符串

    字符串 一个字符串是用双引号扩起来的一个词或者一个句子,比如 "Hello Word" ,你可以使用PHP语言输入这个字符串,像这样 <?php echo "Hel ...

  10. 【LeetCode从零单排】No 3 Longest Substring Without Repeating Characters

    题目 Given a string, find the length of the longest substring without repeating characters. For exampl ...