APK逆向工程

作者: Lee_5566 | 来源:发表于2020-11-16 14:22 被阅读0次
    image.png

    APK

    APK(android Application PacKage)文件是安卓app的安装文件,其实就是一个zip或rar压缩包,把apk后缀改为zip,即可解压得到一堆安卓相关文件。

    APK结构

    内容 含义
    AndroidManifest.xml 二进制xml文件,提供设备运行应用程序所需的各种信息
    classes.dex 以dex格式编译的应用程序代码
    resources.arsc 包含预编译应用程序资源的二进制XML文件
    res 此文件夹中包含未编译到resources.arsc文件中的资源
    assets 此文件夹包含应用程序的原始资源,由AssetManager提供对这些资产文件的访问
    META-INF 它包含MANIFEST.MF文件,该文件存储有关JAR内容的元数据。APK签名也存储在此文件夹中
    lib 此文件夹包含已编译的代码,例如本地代码库

    工具介绍

    名字 介绍
    dex2jar 将apk中的class.dex文件反编译为jar包
    jd_gui 将jar反编译为.java文件
    apktool 提取apk中的资源文件

    下载注意:
    根据自己的系统平台下载对应版本的工具,dex2jar貌似不支持Mac OS,其他两种工具支持Windows,Linux,Mac OS。

    apktool

    apktool主要用于逆向apk文件。它可以将资源解码,并在修改后可以重新构建它们。它还可以执行一些自动化任务,例如构建apk。

    相关命令

    解包:

    apktool d test.apk
    

    dex2jar

    dex2jar下载
    使用dex2jar,可以将解压apk包得到的classes.dex生成jar包。
    下载好后直接解压,即可。
    并将该目录添加到环境变量中。

    相关命令

     d2j-dex2jar classes.dex
    

    jd-gui

    jd-gui下载
    使用jd-gui可以将jar包生成java代码。
    解压后直接双击打开exe执行:

    image.png
    加载jar包

    在file->open file打开jar包即可。

    保存源码文件

    在file->save即可。

    相关文章

      网友评论

        本文标题:APK逆向工程

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