Android-Disassembler
CodeFactor

在你的手机上分析恶意应用
维护状态
维护工作已恢复,但项目仍处于恢复和现代化阶段。
- 构建前需要先初始化 Git 子模块。
- 在现代化 Android 上,默认的打开/导入/导出流程现在优先使用 SAF 契约。
高级导入 是为需要 root、原始文件系统和已安装应用浏览的高级用户提供的独立路径。
QUERY_ALL_PACKAGES 保留用于高级用户的已安装应用来源,而非默认的 SAF 流程。
- 问题分类和维护文档位于
docs/maintenance/ 下。
存储模型
选择文件 使用 Android 的 SAF 文档选择器。
导出项目 和 将详情保存到文件 使用 SAF 文档创建流程。
高级导入 是可选的,专为需要原始文件系统、root 或已安装应用入口的高级用户设计。
- 已安装应用浏览被视为高级用户功能,因此包可见性保持与默认 SAF 流程隔离。
预览版本
- 每次 CI 运行都会在 GitHub Actions 中上传一个调试 APK 构件。
- 一个独立的预览工作流可以发布一个带有调试签名 APK 的滚动
Preview latest 预发行版,供希望在正式发布前尝试最新分支构建的用户使用。
- 正式发布资产保留在正常的 GitHub Releases 流程中。
Android Disassembler 是一款能够分析多种类型文件的应用,例如 APK 文件、dex 文件、共享库(即 .so 文件)(NDK、JNI)、Windows PE 文件(EXE、DLL、SYS 等)、Linux 可执行文件、目标文件等。这些应用功能基于 capstone 库、elf 解析器、PE 解析器、backsmali 和 facile reflector。

版本 2.1.5 发布!
新特性:修复了几个小错误(崩溃)
功能
- 显示 elf 文件的详细信息。
- 显示 elf 文件的符号表(函数或对象等的名称)。
- 反汇编代码段。
- 提供多种反汇编导出选项(可重新加载的原始文件、可编译的文本文件、分析文本文件、JSON 和可重新加载的数据库)。
- 支持项目。
- 支持直接从文件浏览器启动。
- 支持多种 ABI(arm、x86、x64、MIPS、PowerPC 等)。
- 通过符号名称或十六进制地址跳转到地址。
- 语法着色。
- 支持 PE 和其他二进制格式。
- 根据需要排序符号。
- 对 PUSH/POP 指令着色。
- 更好地对 ARM 架构指令着色。
- 为跳转指令添加了跟随跳转菜单(带有 BackStack)。
- 可以覆盖自动解析设置。
- 可以将指令复制到剪贴板。
- 现在解析 PE 头的 IAT、EAT。
- 你现在可以选择要查看的列。
- 支持分析系统文件(没有 root 权限无法访问),适用于已 root 的手机。
- 对于无法解析的文件显示更友好的消息。
- 存储选择器现在保留会话,以便记住最后浏览的文件夹。
- 添加了十六进制视图和实用计算器。
- 主题安装自动化。
- 当 zip/apk 包含多个二进制文件时,选择要分析的二进制文件。
- 从已安装的应用中选择 APK。
- 在二进制文件中搜索字符串(目前仅支持 ASCII 字符)。
- 逐字节分析(平均值、哈希、熵、G 检验、卡方检验、自相关),帮助确定文件是否已加密。
- 支持 .NET 程序集
- 支持 dex 文件
- 允许分析项目中的多个文件。
使用说明视频

关于汇编的资料
错误处理
-
应用崩溃!
对此造成的不便深表歉意,请通过 issue 发送错误报告。如果你等不及下一个稳定版,请检查/授予应用读写权限。
-
NotThisFormatException
这是一个已知的可执行文件吗?(ELF:.so, .o, .lib, .a 等,PE:.exe, .dll, .sys ... 等)如果是,请将你试图反汇编的文件报告给我。
如果不是,你需要按下 OK 并手动设置。
欢迎功能请求!
构建与拉取请求
- 首先初始化子模块:
git submodule update --init --recursive
- 使用配置了 Android SDK/NDK 的 Android Studio 或 Gradle。
- 欢迎任何改进!
开源
本应用使用了
TODO
- 在符号选项卡中显示 NDK/C 标准 API 的原型。
- 更复杂的着色。
- 生成更有用的注释。
- 提供汇编教程。
- 添加伪虚拟机以便调试。
- 允许用户分析活动进程。
- 在反汇编旁边添加箭头。
- 行选择。
- 更好地支持 thumb 汇编。
- 添加对 OllyDbg 的
.udd/.bak 文件的兼容性。
- 添加对 IDA 生成的文件的兼容性。
- 即将添加其他实用工具。
- 添加 Android 资源分析器。
- 允许用户从 Google Drive 选择文件。
- 允许用户通过哈希值从网络选择样本。
致谢
https://reverseengineering.stackexchange.com/a/20124/23870
交叉引用
https://reverseengineering.stackexchange.com/a/18203/23870
隐私政策
我认为有必要通知你:
- 当发送包含诸如
FileCorruptedException 类型的崩溃报告时,你可能正在分析的文件将附加到错误报告邮件中,并上传至 github.com 仓库。
Star 历史
