美文网首页AndroidAndroid技术知识Android知识
常见APK反编译工具安装与使用

常见APK反编译工具安装与使用

作者: reezy | 来源:发表于2016-12-22 12:23 被阅读1236次

    安装

    一些常见工具都可以通过 homebrewhomebrew-cask 安装

    brew install apktool
    brew install smali
    brew install dex2jar
    brew install jadx
    brew cask install jd-gui
    

    APK Analyzer

    Android Studio 自带的 APK Analyzer 可直接查看APK内的 图片,xml内容,dex结构,文件尺寸等,还可以比较两个apk的差异。

    虽然不能导出资源有点可惜,但已经很强大方便了。

    用法:将 apk 拖入 AndroidStudio 就好了

    参考:https://developer.android.com/studio/build/apk-analyzer.html

    apktool

    apk 虽然实际上是个 zip 可以直接 unzip,但里边的 xml 都是 Binaray XML 形式,需要再次转化成 xml 才能查看。

    apktool 可以将 apk 内的资源全部提取出来,同时 xml 也转化好可直接查看内容。

    apktool 也可以用于在修改资源后重新打包 apk

    用法:

    // 提取资源
    apktool d test.apk
    
    // 提取资源并指定输出目录
    apktool d test.apk -o test
    
    // 重新打包apk
    apktool b test
    

    参考:https://ibotpeaches.github.io/Apktool/

    smali/baksmali

    baksmali 可将 dex/odex 转成 .smali 文件集
    smali 可将 .smali 文件集 转成 dex/odex

    注:odex 转 smali 需要相应系统的 framework,adb pull /system/framework

    用法:

    // 将 test.dex 分解到 test 目录
    baksmali test.dex -o test 
    
    // 将 test 目录里的 smali 文件组装到 haha.dex
    smali test -o haha.dex
    
    // 获取系统 framework
    adb pull /system/framework
    // 将 test.odex 分解到 test 目录
    baksmali test.odex b framework -o test
    

    参考: https://github.com/JesusFreke/smali/wiki
    下载:https://bitbucket.org/JesusFreke/smali/downloads

    dex2jar

    dex2jar 可将 .dex 转换成 .jar

    用法:

    // 将 test.dex 转成 test.jar 文件
    d2j-dex2jar test.dex -o test.jar
    

    参考: https://github.com/pxb1988/dex2jar
    下载:https://bitbucket.org/pxb1988/dex2jar/downloads

    jadx

    jadx 可以将 .dex/.jar/.class 文件反编译成 .java 源码
    jadx 也可以直接反编译 .apk 并处理好资源(binary xml -> xml)

    jadx-gui 可视化查看工具

    用法:

    // 反编译 test.dex 并输出到 test 目录
    jadx test.dex -d test
    
    // 反编译 test.apk
    jadx test.apk -d test
    
    // 反编译 test.jar
    jadx test.jar -d test
    
    // 反编译 test.class
    jadx test.class -d test
    

    参考:https://github.com/skylot/jadx

    jd-gui

    jd-gui 可视化反编译查看 .jar 文件

    参考:http://jd.benow.ca/

    其它资源

    APK 在线反编译
    http://www.javadecompilers.com/apk

    反编译apk的步骤
    https://segmentfault.com/a/1190000007359713

    手把手教你逆向分析 Android 程序
    https://segmentfault.com/a/1190000005133219

    Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正
    http://blog.csdn.net/jiangwei0910410003/article/details/51671019

    相关文章

      网友评论

        本文标题:常见APK反编译工具安装与使用

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