# ProbeDroid Android 动态插桩工具包

> 面向 Android 5.0 的 Java 方法动态插桩工具包，让分析人员在没有应用源码的情况下自行编写跟踪和性能分析工具。启动器通过 ptrace 把原生引擎库和用户构建的插桩 APK 注入新启动的目标应用；插桩工具继承 Instrument API，钩挂系统框架或应用自定义的 Java 方法，查看或修改其参数与返回值。README 的演示使用示例工具，记录经 StringBuilder 和 StringBuffer 构造的字符串，以及应用启动的 Activity 和 Service。

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

## 使用条件与局限

- 没有发布版或标签；所审阅的 master 分支 2018-12-16 提交只更新了项目简介，最后一次代码改动在 2017 年 1 月。README 称该工具包仍在开发中，只支持 x86 和 ARM armeabi-v7a 设备上的 Android 5.0，且暂不能对原生方法插桩。
- 2016 年 7 月的 wiki 页面列出的依赖为 JDK 与 JRE 7+、用于运行 auto.py 构建和部署脚本的 Python 2.6+、Android SDK、用于构建启动器和 libProbeDroid.so 的 NDK，以及用于构建 ProbeDroid.jar API 的 Apache Ant；插桩工具以最低 API 21 的 Android Studio 项目编写并导入该 jar，无需 Android 源码树。示例工具位于 tools/ 目录及独立的 ProbeDroidTool 仓库。
- 运行需要已 root 的 Android 5.0 设备或 API 21 模拟器镜像；wiki 要求分析者先在该测试设备上把 SELinux 设为宽容模式，再用目标包名、引擎库、插桩 APK 和主类启动启动器，结果输出到 logcat。待分析的应用由使用者自备。
- 采用 MIT 许可证（版权 2016 ZongXian Shen），但源自 AOSP 的 ART 运行时及 common 目录部分源码采用 Apache-2.0，附带的 libffi 采用其自身的 MIT 许可证。

## 一手来源

1. <https://github.com/ZSShen/ProbeDroid/blob/a6dc602bc59ecd9a4398a10cfe0e27e91bc2ab7c/README.md>
2. <https://github.com/ZSShen/ProbeDroid/wiki/Prerequisite/470d91e6ec6e201143c73e6f33c83851c46705c9>
3. <https://github.com/ZSShen/ProbeDroid/wiki/Compile-Engine/755f938494534f068f64d504d5418be8c4babac8>
4. <https://github.com/ZSShen/ProbeDroid/wiki/Prepare-Device/8ecdb80097af7a52bf6e9adb106b90b0ba046047>
5. <https://github.com/ZSShen/ProbeDroid/wiki/Start-Instrument/0d2f309e320f8b92660c084e6502671940b50133>
6. <https://github.com/ZSShen/ProbeDroid/blob/a6dc602bc59ecd9a4398a10cfe0e27e91bc2ab7c/engine/src/org/probedroid/Instrument.java>
7. <https://github.com/ZSShen/ProbeDroid/blob/a6dc602bc59ecd9a4398a10cfe0e27e91bc2ab7c/launcher/jni/arch/proc_arm.cc>
8. <https://github.com/ZSShen/ProbeDroid/blob/a6dc602bc59ecd9a4398a10cfe0e27e91bc2ab7c/COPYING>

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

- [Fridump 基于 Frida 的进程内存转储工具](https://awesomerea.org/zh/resources/fridump/index.md) · 工具
- [Redress Go 二进制分析工具](https://awesomerea.org/zh/resources/redress/index.md) · 工具
- [ghidra-nanomips nanoMIPS 处理器模块](https://awesomerea.org/zh/resources/ghidra-nanomips/index.md) · 工具
- [SMDA 递归反汇编库](https://awesomerea.org/zh/resources/smda/index.md) · 工具
- [frida-trace（NowSecure 声明式跟踪库）](https://awesomerea.org/zh/resources/nowsecure-frida-trace/index.md) · 工具
- [BTD（Bin To DNN）DNN 可执行文件反编译器](https://awesomerea.org/zh/resources/btd-dnn-decompiler/index.md) · 工具

## 关于此条目

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