Android反编译

作者: JackChen1024 | 来源:发表于2017-03-07 22:47 被阅读1205次

    1. 安卓逆向助手

    有一款叫安卓逆向助手软件反编译apk 十分方便。这里给大家介绍的反编译方法就是基于这款软件的。安卓逆向助手下载地址

    Android逆向助手是一功能强大的逆向辅助软件。该软件可以帮助用户来进行apk反编译打包签名;dex/jar互转替换提取修复;so反编译;xml、txt加密;字符串编码等等,操作简单,只需要直接将文件拖放到源和目标文件。

    安卓逆向助手

    将下载好的rar 包解压缩以后目录结构如下(内置的广告被我删除后的)

    Tips:lib 目录存放都是用java 写的核心反编译逻辑,必须跟exe 文件放在同一个目录下。

    打开Android 逆向助手.exe,如下图所示:

    安卓逆向助手

    选择源文件,并且选择(也是默认的选择)反编译apk,我们找到mtxx.apk 的路径,然后点击操作。
    在mtxx.apk 目录下生成了一个mtxx 文件夹,打开该文件,目录结构如下图所示:

    安卓逆向助手

    在上面操作后打开lib 目录可以找到美图秀秀的动态库文件,但是我们还需要找到其java 代码。显然
    美图秀秀用smali 算法反编译了。那么我们接着下一步。

    安卓逆向助手

    在Android 逆向助手.exe 中打开源文件,选择提取dex 点击执行。

    安卓逆向助手

    这时候在目标文件夹下生成了dex 文件

    安卓逆向助手

    最后在Android 逆向助手.exe 中选择dex 转jar 选项。在源文件中选择上一步生成的classes.dex 文件,然后点击执行(这个过程大概需要几秒的等待时间)。这时候该软件会自动将我们生成的jar 文件用jd-gui工具打开。打开效果如下所示:

    安卓逆向助手

    2. jadx

    jadx是新一代反编译大杀器,github地址。Android开发(/学习)有时候需要用到反编译工具,Window上有很多工具,而Mac上则不多,这里稍微介绍一下Mac上可用的反编译工具Jadx

    jadx

    2.1 准备

    clone 仓库,编译

    mkdir jadx
    git clone https://github.com/skylot/jadx.git
    cd jadx
    ./gradlew dist #这个需要稍微等待一下
    

    开始反编译,等完毕后,可以开始了,我就介绍个最简单最常用的用法

    把apk改成zip,解压zip获取class.dex文件,将class.dex文件放到jadx目录下

    cd build/jadx/
    bin/jadx -d out class.dex  # 反编译后放入out文件夹下(如果out不存在它会自动创建)
    #or
    bin/jadx-gui class.dex  # 会反编译,并且使用gui打开
    

    OK,就这样,后续还可以配置环境变量,更加方便

    3. 更多反编译工具

    3.1 Classyshark

    轻松查看apk内部每个包的方法数,用了哪些开源库,同样拿知乎开刀做例子

    Classyshark

    3.2 smalidea

    smali代码调试插件,你以为没有拿到安卓Java源码就不能调试了吗?图样图森破了吧

    smalidea

    3.3 IDA Pro

    IDA Pro,逆向大利器,不管你是smali还是so文件,照样动态调试你

    IDA Pro

    3.4 Android Killer

    下载地址1 下载地址2 使用指南
    集Apk反编译、Apk打包、Apk签名,编码互转, ADB通信(应用安装-卸载-运行-设备文件管理)等特色功能于一 身,支持logcat日志输出,语法高亮, 基于关键字(支持单行代码或多行代码段)项目内搜索, 可自定义外部工具;吸收融汇多种工具功能与特点, 打造一站 式逆向工具操作体验,大大简化了用户在 安卓应用/游戏修改过程中的各类繁琐工作。

    3.5 SmaliViewer

    下载地址 使用指南
    是一款免费的APK分析软件,无论从分析的深度还是广度来看,都是一款能够满足用户需求的产品,使您在APK分析的过程中,更加得心应手。

    3.6Enjarify

    Enjarify 是一个用 Python 写的, Google 官方开源的可以将 Dalvik 字节码转换为 Java 字节码的工具

    相关文章

      网友评论

        本文标题:Android反编译

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