Hook技术了解
第一,Hook的定义如下:
第二,Hook的原理如下:
第三,对ptrace函数的介绍:
由ptrace所实现的“通信”完全是单方面的,被跟踪的进程(从应用程序的角度而言)并不知道自己是在受到监视和控制的条件下进行。ptrace提供了一种使父进程得以监视和控制其他进程的方式,它还能够改变子进程的寄存器和内核映像,因而可是实现断点调试和系统调用的跟踪。
ptrace函数的定义及其参数介绍:
第四,使用ptrace函数的操作步骤:
第五,常用的Hook工具介绍:
Xposed框架:只支持HOOK app_process中的Java函数。但是需要Root权限。
Dexposed框架:不需要Root权限的Hook框架。
CydiaSubstrate框架:是一个代码修改平台,可以修改任何主进程的代码,不管是用Java还是C/C++编写的。
ADBI/DDI框架:全称为(Android Dynamic Binary Instrumentation ToolKit )是Android的动态二进制指令工具包,它与Xposed和CydiaSubstrate架构最大的区别在于,它是一个命令行工具。