需要工具:

  1.apktool apk打包工具

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

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

  1. $java -jar apktool.jar
  $java -jar apktool.jar

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

  2.dex2jar dex转化jar工具

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

  安装:直接解压即可,是一个文件夹,里面包含了很多文件,通过

  1. $./dex2jar.sh
$./dex2jar.sh

  来运行

  3.如果你没有unzip,安装此解压工具, zip解压缩工具,用于解压jar包(jar包是zip压缩的,所以可以用其它工具代替)

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

  安装: $sudo apt-get install unzip

  1. $upzip [src_path] -d [dst_path]
        $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

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

  step_1指的是你所需要解压到的目录

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

  1. $dex2jar.sh classes.dex
$dex2jar.sh classes.dex

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

  1. $upzip classes_dex2jar.jar -d [step_3]
        $upzip classes_dex2jar.jar -d [step_3]

  step_3指的是你解压到的目录

  (4)我们获得一个step_3目录,我们接下来要反编译该目录下所有.class文件  

  1. $./jad -o -r -s  java -d  src 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. Ubuntu下Android apk反编译

    需要用到的工具 1.apktool_2.0.3.jar https://bbuseruploads.s3.amazonaws.com/0becf6a1-1706-4f2e-9ae6-891e00a8d ...

  3. CENTOS 下安装APK反编译工具 APKTOOL

    转于:http://www.qiansw.com/centos-apk-apktool.html 我使用的是CentOS6.4 64位的系统.首先需要下载两个包.这里下载:https://code.g ...

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

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

  5. android之apk反编译

    今天就来详细的讲一讲apk的反编译过程,之前自己一直没彻底搞清楚. 一.准备工作 反编译首先要准备三个工具.这三个工具都是可以百度下载的.就是下图所示的三个工具. 这三个工具是有各自作用的: (1)a ...

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

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

  7. Mac下对Android apk反编译

    在Mac上进行反编译apk,需要三个工具,分别为(附下载地址): apktool,下载Mac版 作用:资源文件获取,能够提取出图片文件和布局文件进行使用查看 dex2jar,下载最新的即可,目前是2. ...

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

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

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

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

随机推荐

  1. 深入理解JAVA虚拟机之JVM性能篇---垃圾回收

    一.基本垃圾回收算法 1. 判断对象是否需要回收的方法(如何判断垃圾): 1) 引用计数(Reference Counting)  对象增加一个引用,即增加一个计数,删除一个引用则减少一个计数.垃圾回 ...

  2. 解决axios传递参数后台无法接收问题

    1.根据下面几个方法改变前台传递参数方式 这样后台就可以直接根据传递的参数获取数据,如下图用户登录时直接传递用户名和密码 2.不改变前台传递样式修改后台接收方式

  3. xBIM 应用与学习 (一)

    目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 x ...

  4. 梅安森元图地图开放平台、专业GIS地图平台

    元图地图开放平台:http://map.cmetamap.com/?from=groupmessage 梅安森元图地图开放平台: 自主知识产权,专业GIS地图平台,用简单语言即可轻松操作复杂的互联网地 ...

  5. Zookeeper启动时报8080端口被占用

    zookeeper启动时报8080 端口被占用,导致启动失败.特别是服务器上部署了tomcat服务时需要注意. 通过查看zookeeper的官方文档,发现有3种解决途径: (1)删除jetty. (2 ...

  6. MOBA服务器开发第一阶段完成总结

    开发历程 项目是从8月20日左右开始开发的,到今天一个月不到吧. 除了底层库和服务器架构外我们大致开发了5个服务器为: 一 ) . 战斗服务器 二 ) . 匹配服务器 三 ) . 验证服务器 四 ) ...

  7. 在CentOS 6.x上配合Windows客户端搭建 git(gitosis)服务器

    一.在 CentOS 上安装 git 和 gitosis: 逐条执行如下语句: sudo yum install git python-setuptools cd /opt sudo git clon ...

  8. Vue站点的搭建之旅

      背景       很久没写博客了,这次博客分享一下最近上班空闲时间做的两个业余Demo.分别是V电影App的移动端站点[一直很喜欢用这个APP可是他们没有出对应的mobile端,所以自己开发一个, ...

  9. python爬虫登录

    python3 urllib.request 网络请求操作 http://www.cnblogs.com/cocoajin/p/3679821.html python实现 爬取twitter用户姓名 ...

  10. 阿里云CentOS使用iptables禁止某IP访问

    在CentOS下封停IP,有封杀网段和封杀单个IP两种形式.一般来说,现在的攻击者不会使用一个网段的IP来攻击(太招摇了),IP一般都是散列的.于是下面就详细说明一下封杀单个IP的命令,和解封单个IP ...