Android Native Hook 深入理解PLT hook

本文深入探讨了Android Native Hook中的PLT Hook技术,介绍了ELF文件格式及其在程序链接和执行中的作用。内容包括ELF的Header、Section、Segment、动态链接器、PLT和GOT的作用,以及PLT Hook的原理和寻找hook点的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本文介绍NativeHook技术里的PLT hook,参考开源的xhook和bhook进行理解,本文不涉及该hook技术源码的分析,只分析大体原理,用于在进行修复稳定性问题时候寻找hook点使用。

基本搬运如下两篇文章,主要是加深自己理解:

字节跳动开源 Android PLT hook 方案 bhook
xhook Android PLT hook 概述
程序员的自我修养-链接、装载与库

ELF格式

PLT Hook是对so文件进行hook,PLT即Procedure Linkage Table,需要了解ELF文件格式才能理解该hook技术。