Android 逆向工程:常用的逆向分析工具总结

作者: ImWiki | 来源:发表于2019-11-19 22:47 被阅读0次

    Android 的安装包APK实际上就是一个zip压缩包,把后缀改成zip即可对其进行解压,dex文件是Android的字节码文件,so文件是C++的机器码文件。

    ├── AndroidManifest.xml
    ├── assets
    ├── classes.dex
    ├── classes2.dex
    ├── classes3.dex
    ├── lib
    │   └── armeabi-v7a
    │       └── libtxffmpeg.so
    ├── res
    │   ├── drawable
    │   └── drawable-nodpi-v4
    └── resources.arsc
    

    dex2jar

    dex2jar 可以把dex文件转换成jar文件,jar文件可以通过JD-GUI工具打开。

    sh d2j-dex2jar.sh -f ~/path/to/apk_to_decompile.apk
    

    JD-GUI

    jd-gui 是一个图形化的jar查看工具。

    JADX-GUI

    jadx 是apk图形化查看工具,比JD-GUI更加强大,可以直接打开apk,查看java源码和xml源码。

    readelf

    是用于对C++机器码的分析,一般用于查看ELF格式的文件信息,常见的文件如在Linux上的可执行文件,动态库(.so)或者静态库(.a) 等包含ELF格式的文件。

    IDA Pro

    付费的反汇编工具,功能非常强大。是目前最好的一个静态反编译软件。可以用于so文件的静态分析,动态调试。


    Xposed Hook

    Xposed 是非常强大的动态逆向分析框架,可以动态获取APP运行时参数,修改数据。
    Android 逆向工程:基于Xposed Hook实现动态逆向分析

    apktool

    apktool 是Google提供的APK编译工具。

    1. 将资源解码成原来的形式
    2. 将解码的资源重新打包成apk/jar
    3. 组织和处理依赖于框架资源的APK
    4. Smali调试
    5. 执行自动化任务

    相关文章

      网友评论

        本文标题:Android 逆向工程:常用的逆向分析工具总结

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