# AppMon 基于 Frida 的应用 API 监控框架

> 基于 Frida 的框架，由 Nishant Das Patnaik 开发，曾在 2016 年 Black Hat Arsenal 展示，用于观察 macOS、iOS 和 Android 原生应用发起的系统 API 调用。其 Sniffer 组件可附加到应用或启动应用，加载内置脚本库中的挂钩脚本（涵盖加密、钥匙串、文件、SQLite、HTTP、IPC 和 WebView 等方面），并把每次截获的调用记录到按应用划分的 SQLite 数据库中，由本地 Flask 网页界面展示。其他组件可追踪 Android 应用中的 Java 类、方法及参数类型，并可把 IPA 或 APK 与 Frida Gadget 一起重新打包，以便在未越狱或未 root 的设备上进行检查。

- 类型：工具
- 目标：应用
- 类别：调试与动态分析
- 关联：基础工具
- 来源复核于：2026-10-27
- 收录于：2026-11-03
- 原始资源：<https://github.com/dpnishant/appmon>
- 一手来源：<https://github.com/dpnishant/appmon/blob/f753c4d287cd752fe926d2087236a98c3810d3e4/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/appmon/>
- 记录 JSON：<https://awesomerea.org/resources/appmon/record.json>
- 英文版：[English](https://awesomerea.org/resources/appmon/index.md)

## 使用条件与局限

- 该仓库已在 GitHub 归档，处于只读状态。master 分支最后一次提交（2022-11-08）修改了 apk_builder/getlibs.sh 中的 Frida 发布地址，仓库没有发布版本。使用文档在项目 wiki 中，最后编辑于 2019 年；GitHub Pages 站点只提供指向 wiki 的链接。
- requirements.txt 固定了 frida 12.2.6（2018 年 9 月）、Flask 1.0.2、Werkzeug 0.15.3 等同一时期的软件包。挂钩脚本依赖 Frida 的 Java 和 ObjC 桥接，以及 Module.findExportByName、Memory.readUtf8String 等旧式调用；Frida 17.0.0 的发布说明（2025 年 5 月）表示这些桥接已不再随运行时打包、这些旧 API 已被移除，因此当前的 Frida 版本不经修改很可能无法使用。
- wiki 中的主机配置涵盖 macOS 以及 Ubuntu 或 Kali Linux，Linux 上还需 Android 命令行工具。已越狱的 iOS 和已 root 的 Android 设备上运行 frida-server。对于其他设备，IPA Installer 会注入仓库中提交的 ipa_installer/release/FridaGadget.dylib（约 14 MB），并用使用者的 iOS 开发者描述文件重新签名应用；APK Builder 则加入由 getlibs.sh 下载的 Frida Gadget 库，并用 apk_builder/appmon.keystore 重新签名 APK——这是随仓库提交、密码固定的共用密钥。这些功能只应用于获准测试的应用和设备。
- README 还列出一个 Intruder 组件，用于修改 API 调用数据以改变应用行为。Apache-2.0（LICENSE）。

## 一手来源

1. <https://github.com/dpnishant/appmon/blob/f753c4d287cd752fe926d2087236a98c3810d3e4/README.md>
2. <https://github.com/dpnishant/appmon/blob/f753c4d287cd752fe926d2087236a98c3810d3e4/requirements.txt>
3. <https://github.com/dpnishant/appmon/blob/f753c4d287cd752fe926d2087236a98c3810d3e4/appmon.py>
4. <https://github.com/dpnishant/appmon/tree/f753c4d287cd752fe926d2087236a98c3810d3e4/scripts>
5. <https://github.com/dpnishant/appmon/blob/f753c4d287cd752fe926d2087236a98c3810d3e4/apk_builder/apk_builder.py>
6. <https://github.com/dpnishant/appmon/blob/f753c4d287cd752fe926d2087236a98c3810d3e4/apk_builder/getlibs.sh>
7. <https://github.com/dpnishant/appmon/blob/f753c4d287cd752fe926d2087236a98c3810d3e4/ipa_installer/ipa_installer.py>
8. <https://github.com/dpnishant/appmon/tree/f753c4d287cd752fe926d2087236a98c3810d3e4/ipa_installer/release>
9. <https://github.com/dpnishant/appmon/blob/f753c4d287cd752fe926d2087236a98c3810d3e4/LICENSE>
10. <https://github.com/dpnishant/appmon/wiki/4.a-Setup-Host/84516f44cf5ca37f669c8c8429d6cb46c10f0a7e>
11. <https://github.com/dpnishant/appmon/wiki/6.-Usage-Guide:-AppMon-Sniffer/4dc32e5740fdfad523d71fa9e6862bd34d0c1c83>
12. <https://frida.re/news/2025/05/17/frida-17-0-0-released/>

## 同分区更多条目：原生二进制

- [Yagi：IDA 中的 Ghidra 反编译器](https://awesomerea.org/zh/resources/yagi-ghidra-decompiler-for-ida/index.md) · 工具
- [frida-scripts（0xdea）Frida 移动应用与 Linux 追踪脚本集](https://awesomerea.org/zh/resources/raptor-frida-scripts/index.md) · 工具
- [System Informer 进程与系统检查工具](https://awesomerea.org/zh/resources/system-informer/index.md) · 工具
- [CyberChef 数据解码与分析工具](https://awesomerea.org/zh/resources/cyberchef/index.md) · 工具
- [YARA 文件模式匹配与分类工具](https://awesomerea.org/zh/resources/yara/index.md) · 工具
- [Cheat Engine 游戏与应用内存分析调试工具](https://awesomerea.org/zh/resources/cheat-engine/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
