一、使用apktool 将 apk反编译生成程序的源代码和图片、XML配置、语言资源等文件

  具体步骤:

(1)下载反编译工具包:apktool 官方的打不开

  http://apktool.shoujifans.com/2014/12/21.html 里有网盘下载

  需要下载下边两个文件

  1. apktool1.5.2.tar.bz2
  2. apktool-install-linux-r05-ibot.tar.bz2

(2)将下载好的两个包解压到“同一个”文件夹apktool里面。 注意是同一个

(3)在命令行下定位到apktool文件夹,输入以下命令:java -jar apktool.jar d android.apk,出现如图所示:说明反编译成功

java -jar apktool.jar d [apk文件 ] [输出文件夹],输出文件夹是可选的,如果没有指定输出到哪个文件夹下,那么默认是当前文件夹。

我是执行 ./apktool d xxx.apk 成功的

d表示decode,在当前目录下就会生成一个名为xxx的目录,里面就是反编译出来的各种资源文件,其中res表示资源文件,smali表示源代码,不过是字节码,不能直接查看。

二、下载apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件

  具体步骤:

(1)下载dex2jar

dex2jar 下载地址:
   http://sourceforge.net/projects/dex2jar/files/?source=navbar

(2)将 要反编译的apk文件解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的

(3)在命令行下定位到dex2jar-2.0文件夹,运行
        sh dex2jar.sh ~/apk/classes.dex(dex文件的目录)
        最终生成
        classes_dex2jar.jar,如图所示:

dex2jar-2.0版本,解压出来的目录下只有 d2j-dex2jar.sh,没有dex2jar.sh。执行了一下,报错。

下载了旧版本,执行成功。。。后来把2.0下的文件替换到旧版本中了

三、使用JD-Eclipse插件打开class文件

(1)这时候得到了 jar文件。可以下载JD-GUI。也可以下载Eclipse中的插件JD-Eclipse。打开jar文件中的.class文件

(2)参考博文 http://my.oschina.net/mynote/blog/85083 的安装方法

JD-Eclipse的地址http://java.decompiler.free.fr/?q=jdeclipse

OSC地址:http://www.oschina.net/p/jd-gui

在线安装的地址 http://java.decompiler.free.fr/jd-eclipse/update

下载镜像文件的地址:   http://jd.benow.ca/jd-eclipse/downloads/jdeclipse_update_site.zip

(3)采用的是镜像文件的安装。

安装过程:

Help—>Install new Software—>add—>Archive(选择zip文件)/填写url —>选择安装

(4)重启后配置class默认打开方式(Class file Editor)  但是我重启Eclipse发现不用配置,配置好了。其实就是把默认的打开方式设置为Class file Editor。

window—>Preferences—>General—>Editors—>File Associations—>(选择)*.class without source——>(在下面的Associated editors栏目中)add—>Class file Editor(选择添加)—>(选择新的打开方式选择默认)Default

配置如图:

这时候已经可以打开jar包中的class文件了

『原』在Linux下反编译Android .apk文件 使用apktool dex2jar JD-eclipse的更多相关文章

  1. linux下反编译android apk

    1.所需要的工具 1)apktool,功能:反编译出apk所需要的资源文件和布局设置文件等, 下载地址:https://code.google.com/p/android-apktool/downlo ...

  2. mac下反编译android apk

    所需要的工具 http://pan.baidu.com/disk/home#path=%252Fandroid%252Fdecompile%252Fapktool-all apktool用于将资源文件 ...

  3. Mac 下反编译Android APK

    准备工作:安装ApkTool.dex2jar.JD-GUI 安装ApkTool 1.下载ApkTool.大家可以从 https://ibotpeaches.github.io/Apktool/inst ...

  4. 只需三步--轻松反编译Android Apk文件

    安卓程序是通过java语言进行编写的,可以很容易进行反编译.很多apk文件被反编译后再二次打包,就成了自己的产品,很是流氓.下面我们来看看如何进行apk的反编译,以及常用的防反编译手段. 一.反编译A ...

  5. apktool 在mac下的使用 -反编译安卓apk文件

    1.下载apktool 点击这里下载 ,里面有两个文件,一个是.jar,一个是自己写的脚本.sh 注:最新的apktool.jar 文件可以点击这里下载 .sh脚本是自写脚本可不用更新最新,下载的ja ...

  6. 反编译Android APK及防止APK程序被反编译

    怎么逆向工程对Android Apk 进行反编译 google Android开发是开源的,开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式 ...

  7. Mac上反编译Android apk安装包

    什么是反编译 我们知道,Android的程序打包后会生成一个APK文件,这个文件可以直接安装到任何Android手机上,因此,反编译就是对这个APK进行反编译.Android的反编译分成两个部分: 一 ...

  8. 实例具体解释:反编译Android APK,改动字节码后再回编译成APK

    本文具体介绍了怎样反编译一个未被混淆过的Android APK,改动smali字节码后,再回编译成APK并更新签名,使之可正常安装.破译后的apk不管输入什么样的username和password都能 ...

  9. 反编译android APK

    我们经常会在如下的情况使用反编译 1.看到别人应用中的酷炫功能,想知道是如何实现的 2.别人应用的素材排版好漂亮,想套用模仿   百度一下就已经有一大堆反编译的教程了,我还是坚持学习记录一下.   A ...

随机推荐

  1. Android使用SVG小结

    SVG的全称是Scalable Vector Graphics,叫可缩放矢量图形.它和位图(Bitmap)相对,SVG不会像位图一样因为缩放而让图片质量下降.它的优点在于节约空间,使用方便. andr ...

  2. Spring Boot入门——thymeleaf模板使用

    使用步骤 1.在pom.xml中引入thymeleaf <!-- thymeleaf插件 --> <dependency> <groupId>org.springf ...

  3. windows7下cmd窗口使用ssh命令

    http://jingyan.baidu.com/article/36d6ed1f931eb31bcf4883dc.html

  4. 【Swoole】简单安装与创建TCP服务器

    pecl install swoole PHP的异步.并行.高性能网络通信引擎,使用纯C语言编写,提供了php语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据 ...

  5. js设计模式理解干货

    构造函数本身就是一个函数,只不过该函数是出于创建对象的目的而定义的. 创建Object实例的两种方式: new 操作符 var person = new Object(); person.name = ...

  6. 使用log4j的邮件功能

    Log4j的邮件功能能够为我们做这样的事情----当程序运行完的时候,或者正在运行也是可以的,它将程序的日志通过邮件的方式发到你的邮箱上. 这样,对于程序运行的控制就不用每次都跑到机器上去看日志文件这 ...

  7. 在struts2.5版本中使用DMI遇到问题

    struts2.5 为了提升安全性,添加了 allomethod 这么个玩意. 解决方法是在配置文件中添加: <package name="exam" extends=&qu ...

  8. Hibernate(2)

    一.实体类编写规则 1.实体类里面的属性属于私有的 2.私有属性使用公开的set和get方法操作 3.要求实体类有属性作为唯一值(一般使用id值) 4.实体类属性建议不要使用基本数据类型,使用基本数据 ...

  9. python_判断字符串编码的方法

    1. 安装chardet 在命令行中,进入Python27\Scripts目录,输入以下的命令:easy_install chardet 2. 操作 import chardet f = open(' ...

  10. Leetcode 974. Subarray Sums Divisible by K

    前缀和(prefix sum/cumulative sum)的应用. 还用了一个知识点: a≡b(mod d) 则 a-b被d整除. 即:a与b对d同余,则a-b被d整除. class Solutio ...