美文网首页
Android 反编译

Android 反编译

作者: 叶PP | 来源:发表于2019-10-09 12:06 被阅读0次

    1、反编译工具

    APK TOOL :谷歌提供的 APK 编译工具,可以反编译和回编译。我们都知道,其实 APK 就是一个压缩包,我们完全可以把 .apk 修改为 .zip。通过这种方式来获取资源文件,但是 xml 会乱码。如果你使用 apk tool 来进行反编译 apk 就不会出现这种问题了。 下载地址:https://ibotpeaches.github.io/Apktool/install/ (需要科学网)

    dex2jar:将 dex 文件转换成 jar 包 下载地址:http://sourceforge.net/projects/dex2jar/files/

    jd-gui:用来查看 jar 包里面的代码的一种工具。官网下载地址:http://jd.benow.ca/

    APK TOOL 的使用

    使用很简单,把要反编译的 apk 放到 apktool.jar 所在的目录,然后在命令行中定位到当前文件夹。然后输入命令: apktool d xxx.apk 这样就成功了。会在当前目录下生成一个以 apk 命名的目录,这个目录就是解压出来的目录。

    或者是 java -jar apktool.jar d xxx.apk

    dex2jar 使用

    把 apk 解压后的 classes.dex 文件放到 dex2jar 所在的文件夹中。

    dex2Jar 工具版本>= 2.1时:

    然后在当前目录下在命令行中输入: d2j-dex2jar.bat xxxx.apk 就会生成一个 classes.jar 包。然后用 jd-gui 打开就可以了。

    dex2Jar 工具版本< 2.1时:

    单个dex 文件:

    然后在当前目录下在命令行中输入: d2j-dex2jar classes.dex 就会生成一个 classes.jar 包。然后用 jd-gui 打开就可以了。

    多个dex文件:

    多次执行 d2j-dex2jar classes*.dex,得到多个classes*.jar 包

    提取所有的dex文件后,就需要将这些jar的文件全部提取出来,再重新打成一个jar包,具体操作如下

    对每个jar包执行 jar xf xxxx.jar,就可能会得到下面这一列文件夹

    再下一步,就要重新打包这些文件夹,使用下面命令重新打包

    jar cf  generate.jar dir1 dir2 dir3 dir4

    dir 就是提取出来的文件夹,要把所有的文件夹全部手动输入完,才能打包成一个完整的jar 包。

    generate.jar就是打出来的包的名字,可以自己随便起。

    参考/来源:

    Android 反编译的使用 - 简书

    https://blog.csdn.net/totcw/article/details/72723627

    相关文章

      网友评论

          本文标题:Android 反编译

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