工具
Andromeda Android 应用交互式逆向工具
Lasha Khasaia 开发的交互式命令行工具,用于对 Android APK 做初步逆向分析,以 C/C++ 编写以求速度。它解包 APK,解析 AndroidManifest.xml、签名证书和压缩包根目录下的 DEX 文件,随后打开一个支持 Tab 补全的交互环境,可列出权限、Activity、Service、Receiver 和可能的入口点,列出并搜索类、方法和字符串,反汇编某个方法的 Dalvik 字节码,以及列出、计算哈希或提取原生库。其他命令可报告应用是否可调试、依据证书得出的创建日期、URL 和电子邮件字符串,并推测应用使用 Java、Kotlin 还是 Xamarin .NET 编写。
- 目标
- 应用
- 类别
- Android 工具
- 关联
- 基础工具
- 来源复核于
使用条件与局限
- 处于早期阶段且已不再活跃:README 称该工具仍处于早期开发阶段;仓库共 29 个提交,时间从 2019-09-22 到所审阅的 2020-03-14 master 提交,后者只删除了一个编辑器配置目录。仓库没有标签或发行版,GitHub 也未将其标为已归档。为工具编写文档仍列在 TODO 中;README 只以截图展示命令列表,作者也说明自己的 Android 经验非常有限。
- 需用 make 从源码构建:以 clang++ 的 C++17 模式(-std=c++1z)和调试参数(-g -O0)编译全部源码,并链接 zlib 与 OpenSSL 的 libcrypto;README 给出的 apt 命令安装 clang、libz-dev 和 libssl-dev。Makefile 在 Linux 上额外链接 libstdc++fs,在 macOS 上使用 Homebrew 的 [email protected] 路径;未涉及 Windows。
- 输入为使用者自备的 APK,用法为 ./bin/andromeda app.apk。路径必须以 .apk 结尾;若解包后的压缩包根目录缺少 AndroidManifest.xml 或 DEX 文件,工具即停止,因此不接受单独的 DEX 文件。仓库中没有示例 APK。
- 采用 Apache-2.0 许可。third_party.md 列出随附的第三方库及其各自许可证:Google 的 dexter slicer(Apache-2.0)、Claud Xiao 的 AxmlParser、linenoise-cpp、miniz 和 pugixml;代码树中还附带 digestpp 哈希头文件库。本次未构建或运行该工具,也未分析任何 APK。
关于此条目
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · secrary/Andromeda · 修订 50fdaaf
- Andromeda/Andromeda.cpp GitHub · secrary/Andromeda · 修订 50fdaaf
- Andromeda/APK.hpp GitHub · secrary/Andromeda · 修订 50fdaaf
- Andromeda/patterns.hpp GitHub · secrary/Andromeda · 修订 50fdaaf
- Makefile GitHub · secrary/Andromeda · 修订 50fdaaf
- third_party.md GitHub · secrary/Andromeda · 修订 50fdaaf
- slicer GitHub · secrary/Andromeda · 修订 50fdaaf
- LICENSE GitHub · secrary/Andromeda · 修订 50fdaaf
- https://github.com/secrary/Andromeda/commits/50fdaaf59328fb3430d76d92c6319d2232766f7a