Android 动态二进制工具包
adbi - Android 动态二进制工具包 ========================================================= 一个简单的二进制工具包,用于 Android ARM + Thumb。工具包基于库注入和钩子函数入口点 (内联钩子)。工具包由两个主要组件组成: 干扰工具和基础库。 hijack 干扰工具提供注入功能。它支持多种模式,以支持旧版和新版的 Android 设备。 hijack 提供了命令行上的帮助。 libbase 基础库提供钩子和卸载功能。基础库编译为静态库,因此可以直接包含在实际的工具包中。我们这样做是为了将所有内容保存在 /data/local/tmp 目录中。下面我们提供了一个易于理解的逐步说明,介绍如何构建和使用 adbi。示例工具干扰了 epollwait() 并将每次调用记录到文件中。 === 外部资源 === 更多信息请参阅: http://www.mulliner.org/android/ 关于此工具包的幻灯片: http://www.mulliner.org/android/feed/binaryinstrumentationandroidmullinersummercon12.pdf 旧代码(包含更多示例): http://www.mulliner.org/android/feed/collinandroiddbiv02.zip === 预备条件 === Android SDK Android NDK === 如何构建 === = 构建干扰工具 = cd hijack cd jni ndk-build cd .. adb push libs/armeabi/hijack /data/local/tmp/ cd .. = 构建工具包基础代码 = cd instruments cd base cd jni ndk-build cd .. cd .. = 构建工具包示例 = cd example cd jni ndk-build cd .. adb push libs/armeabi/libexample.so /data/local/tmp/ === 如何运行 === adb shell su cd /data/local/tmp /data/local/tmp/adbiexample.log 获取 PID 从 com.android.phone ./hijack -d -p PID -l /data/local/tmp/libexample.so cat adbiexample.log 输出应类似于: 开始钩子: epollwait = 0x4004c378 ARM 使用 0x4a84a588 epollwait() 被调用 epollwait() 被调用 epollwait() 被调用 卸载 epollwait() 的钩子
暂无开放 Issues,或尚未同步最近议题。