zoukankan      html  css  js  c++  java
  • Android APK反编译 apktool使用教程

    前言:

    最近我在使用Android Studio混淆打包release版本,打包是否成功?自然想到了反编译。然后百度“apk反编译”,出来最多的是apktool反编译。百度也真是越来越水了,反正百度出来的教程都是N年前的,现在早就不能用了。很多博主也都不跟新博客了,然后随着jdk发展apktool也跟新很多代了。所有有些博主的内容,已经没法儿用了。

    比如:

    http://blog.csdn.net/vipzjyno1/article/details/21039349/#reply

    这个博主,有些地方说得还不错。但是apktool下载版本和用法早就过时了,现在已经没法儿用了。

    工具介绍:

    apktool  

         作用:主要查看res文件下xml文件、AndroidManifest.xml和图片。(注意:如果直接解压.apk文件,xml文件打开全部是乱码)

    dex2jar

         作用:将apk反编译成Java源码(classes.dex转化成jar文件)

    jd-gui

         作用:查看APK中classes.dex转化成出的jar文件,即源码文件

    新版本apktool用法:

    1、下载:
     
     
    当然了上面这个链接和图片描述的可能也会变。
    目前就是下载两个文件apktool.bat和apktool.jar(这个如果你下载的文件有版本号,比如apktool_2.2.1.jar,就要改名字为apktool.jar),
    然后把上面两个文件都放到C://Windows下面。(我是windows系统,其他系统按照自己的来)
     
    2、使用方法
     
     
    官网教程
     
    $ apktool d test.apk
    I: Using Apktool 2.2.1 on test.apk
    I: Loading resource table...
    I: Decoding AndroidManifest.xml with resources...
    I: Loading resource table from file: 1.apk
    I: Regular manifest package...
    I: Decoding file-resources...
    I: Decoding values */* XMLs...
    I: Baksmaling classes.dex...
    I: Copying assets and libs...
    I: Copying unknown files...
    I: Copying original files...
    $ apktool b test
    I: Using Apktool 2.2.1 on test
    I: Checking whether sources has changed...
    I: Smaling smali folder into classes.dex...
    I: Checking whether resources has changed...
    I: Building resources...
    I: Building apk file...
    I: Copying unknown files/dir...
    
    其实就是,运行CMD,进入比如app-release.apk所在目录,然后运行apktool d app-release.apk就可以了,默认解压的文件就在app-release.apk所在目录。
     
     

    最后,如果我上面的方法不能用了,请看英文的原网页怎么说。

    比如:

    http://blog.csdn.net/vipzjyno1/article/details/21039349/#reply

    dex2jar

         作用:将apk反编译成Java源码(classes.dex转化成jar文件)

    jd-gui

    作用:查看APK中classes.dex转化成出的jar文件,即源码文件

    Smali2JavaUI

    对于博主说得,先dex2jar把classes.dex转为jar,再jd-gui把jar转为源码*.java文件。
    现在可以用Smali2JavaUI这个软件,一部到位。可以把这两个步骤化为一个步骤。
     
    所以,如果只想反编译看*.java文件的话,只用Smali2JavaUI软件就可以了。
    这个软件可以直接打开***.apk文件,然后就直接看到*.java文件了。
    Smali2JavaUI最新版本下载链接http://www.hensence.com/cn/smali2java/#Download
     
    http://blog.csdn.net/ysc123shift/article/details/52985435
  • 相关阅读:
    nowcoderD Xieldy And His Password
    Codeforces681D Gifts by the List
    nowcoder80D applese的生日
    Codeforces961E Tufurama
    Codeforces957 Mahmoud and Ehab and yet another xor task
    nowcoder82E 无向图中的最短距离
    nowcoder82B 区间的连续段
    Codeforces903E Swapping Characters
    Codeforces614C Peter and Snow Blower
    Codeforces614D Skills
  • 原文地址:https://www.cnblogs.com/chen110xi/p/6612437.html
Copyright © 2011-2022 走看看