Chapter 11 Modifying Call Tables
A call table is just an array where each element of the array stores the address of a routine. Call tables exist both in user space and kernel space and assume different forms depending on the call table’s basic role in the grand scheme of things (see Table 11.1).
Location | Table | Types of Addresses Stored |
User space | IAT | Windows DLL routines imported by module |
Kernel space | IDT | Interrupt handling routines (mostly hardware related) |
Kernel space | CPU MSRs | Machine-specific registers (e.g., IA32_SYSENTER_EIP) |
Kernel space | GDT | Entire segments of memory |
Kernel space | SSDT | Stores addresses of executive system call routines |
Kernel space | IRP dispatch table | Routines used by a driver to ... |
Get The Rootkit Arsenal: Escape and Evasion in the Dark Corners of the System, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.