ProbeDroid
1.0.0
ProbeDroid 是一个适用于 Android 应用程序的动态 Java 代码检测工具包,它为用户提供 API 来制作自己的检测工具。因此,用户可以跟踪、分析或更改感兴趣的应用程序的运行时行为。本质上, Java方法是基本的检测单元。要操作感兴趣的方法,用户应该重写模板检测小工具并注册它们以挂钩感兴趣的方法。当在运行时调用挂钩方法时,控制流将转移到小工具。此时,用户可以操作装箱方法的输入参数和返回值。现阶段,ProbeDroid的目标平台是Android 5.0及以上版本。要构建 ProbeDroid 套件,用户只需从 GitHub 拉取包并按照构建命令操作即可。 Android 源代码树不是必需的。
请参考源码构建Wiki
请参考 Play and Hack Wiki
点击图片查看演示视频
一个简单的检测工具,用于跟踪从 StringBuilder 和 StringBuffer 对象转换的字符串。通过对转换后的字符串进行一些取证,我们可以注意到 GoogleMaps 将 Java 反射应用于某些网络身份验证。此外,它还会动态生成一些 C/C++ 代码并对其进行编译以进行地图渲染。 |
点击图片查看演示视频
一个简单的检测工具,用于跟踪已启动的活动和服务。通过对跟踪组件进行取证,我们可以注意到 KKTix 应用了多种 Activies 来呈现门票预订页面。此外,它还会启动一个用于后台计算的服务。 |
除了以下源代码:
android/art/runtime/
、 common/log.*
、 common/stringprintf.*
、 common/utf.*
和common/macros.h
子树属于 [AOSP],在Apache v2.0下获得许可。common/libffi/
子树属于 [libffi],已获得MIT许可。所有源代码均获得MIT许可。有关详细信息,请参阅复制。
请通过邮件与我联系[email protected] 。
请注意,该套件仍在构建中。需要贡献和错误报告。