运行时内存跟踪工具
工具:
tcmalloc:Inline Hook
vld:IAT Hook
IAT Hook:
IAT :导入表,自己去查
修改dll的导入函数地址,修改的就是IAT
Inline Hook:
函数内注入代码,一般注入跳转代码
对比:(来自gpt)
Inline Hook和IAT Hook是两种常见的钩子技术,用于修改函数的行为。它们有一些共同点,但也有一些重要的区别。
相同点:
-
修改函数行为:Inline Hook和IAT Hook都可以用于修改函数在运行时的行为。它们可以注入自定义代码,并改变函数的执行逻辑。
-
功能扩展:两种钩子技术可以用于实现函数跟踪、API监控、代码注入等功能,提供了对程序行为的更多控制。
不同点:
-
实现方式:Inline Hook直接修改函数的二进制代码,将目标函数的指令替换为钩子函数的指令。而IAT Hook则是修改导入函数表中的函数地址,使得程序在调用导入函数时实际执行的是被劫持的函数。
-
侵入性:Inline Hook的侵入性更强,需要修改函数的二进制代码,可能会引入更多的风险和不稳