zoukankan      html  css  js  c++  java
  • linux下的APK反编译软件及过程介绍 . 分类: arm-linux-Ubuntu 2014-06-18 17:51 400人阅读 评论(0) 收藏

    需要工具:
      1.apktool apk打包工具
      下载地址:http://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2
      安装:直接解压即可,是一个apktool.jar文件,通过

    1. $java -jar apktool.jar  

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

      2.dex2jar dex转化jar工具
      下载地址:http://dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip
      安装:直接解压即可,是一个文件夹,里面包含了很多文件,通过

    1. $./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]  

      来运行

      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]  

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

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

    1. $dex2jar.sh classes.dex  

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

    1. $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查看,或者Readme.txt查看

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

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


     如果以上命令不执行的话,查看目录是否正确。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    字符串转换成整数
    回文字符串判断
    字符串包含
    翻转单词顺序VS左旋转字符串
    穷举子集合
    求S=a+aa+aaa+aaaa+aa...a的值
    数组元素去重
    找最长等差数列的长度
    Git pull and push
    Google 开发console查找元素或方法
  • 原文地址:https://www.cnblogs.com/mao0504/p/4706598.html
Copyright © 2011-2022 走看看