美文网首页Android知识总结
Android APK反编译 apktool使用教程

Android APK反编译 apktool使用教程

作者: Quasimodo_柒 | 来源:发表于2017-09-29 17:17 被阅读109次

    首先贴上源博主的文章:Android APK反编译 apktool使用教程

    前言:

    拆包的原因不外乎是借鉴人家的代码,剥离部分的游戏资源。本人记性不好,每次都百度其他人的解包方式实在太过麻烦。索性把一部分通用流程和软件记录下来方便自己查阅

    工具和思路基本都是来自这个博主的文章。只是现在版本也已经迭代了。下面会更新我当前的版本

    测试环境:win10                 

    工具说明:(工具1:apktool官方地址;工具2:官方反编译整合包)需要翻墙

    apktool:简而言之就是获取资源文件,主要查看res文件下xml文件、AndroidManifest.xml和图片。

    (注意:如果直接解压.apk文件,xml文件打开全部是乱码)

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

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

    反编译流程:

    一、apk反编译得到程序的源代码、图片、XML配置、语言资源等文件

    apktool 里面就这三个文件

    我基本懒,就直接把需要解包的APK放入同一个目录下

    如果你需要解包的apk名字太长的话,直接重命名好了。a/b/c/d随便

    按WIN+R 输入cmd 进入命令行界面

    输入你apktool所在的目录,一般放C盘下

    CD 你想要进入的目录的路径,进入apktool所在文件夹

    运行命令 apktool d 所需要解包的apk名称.apk

    以上图结束后,完成。

    一般解包出来的目录说明:APK文件结构和安装过程

    二、Apk反编译得到Java源代码

    将要需要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15文件夹内

    在命令行下定位到dex2jar.bat所在目录,输入dex2jar.bat classes.dex,效果如下:

    在改目录下会生成一个classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便可以看到源码了,效果如下:

    被混淆过的效果图(类文件名称以及里面的方法名称都会以a,b,c....之类的样式命名):

    PS:

    以上dex2jar把classes.dex转为jar,再jd-gui把jar转为源码*.java文件。

    现在可以用Smali2JavaUI这个软件,一步到位。可以把这两个步骤化为一个步骤。

    所以,如果只想反编译看*.java文件的话,只用Smali2JavaUI软件就可以了。

    这个软件可以直接打开***.apk文件,然后就直接看到*.java文件了。

    Smali2JavaUI最新版本下载链接http://www.hensence.com/cn/smali2java/#Download

    相关文章

      网友评论

        本文标题:Android APK反编译 apktool使用教程

        本文链接:https://www.haomeiwen.com/subject/lboiextx.html