Hook技术了解

Hook技术了解

第一,Hook的定义如下:
Hook技术了解_第1张图片
在这里插入图片描述
第二,Hook的原理如下:
在这里插入图片描述
第三,对ptrace函数的介绍:
在这里插入图片描述
由ptrace所实现的“通信”完全是单方面的,被跟踪的进程(从应用程序的角度而言)并不知道自己是在受到监视和控制的条件下进行。ptrace提供了一种使父进程得以监视和控制其他进程的方式,它还能够改变子进程的寄存器和内核映像,因而可是实现断点调试和系统调用的跟踪。

ptrace函数的定义及其参数介绍:
Hook技术了解_第2张图片
Hook技术了解_第3张图片
Hook技术了解_第4张图片
Hook技术了解_第5张图片
第四,使用ptrace函数的操作步骤:
Hook技术了解_第6张图片
第五,常用的Hook工具介绍:
Xposed框架:只支持HOOK app_process中的Java函数。但是需要Root权限。
Dexposed框架:不需要Root权限的Hook框架。
Hook技术了解_第7张图片
CydiaSubstrate框架:是一个代码修改平台,可以修改任何主进程的代码,不管是用Java还是C/C++编写的。

ADBI/DDI框架:全称为(Android Dynamic Binary Instrumentation ToolKit )是Android的动态二进制指令工具包,它与Xposed和CydiaSubstrate架构最大的区别在于,它是一个命令行工具。

原文学习链接

你可能感兴趣的:(Android,android)