GDT/LDT/GDTR/LDTR
实模式与保护模式
实模式是所有 x86 兼容 CPU 下的一种操作模式。特点是 20 bit 分段内存地址空间,对所有可寻址内存、I/O地址和外设硬件的无限制直接软件访问。实模式不支持内存保护、多任务处理与代码权限级别。
最早期的 8086 CPU 只有实模式,数据总线为 16 位,地址总线为 20 位,所有寄存器都是 16 位。从 80286 开始就有了保护模式,允许硬件级内存保护。从 80386 开始 CPU 数据总线和地址总线均为 32 位,且寄存器都是 32 位。
阅读此文
Here's something encrypted, password is required to continue reading.
阅读此文
CTF 竞赛权威指南-PWN-3
0x08 堆利用
内存管理要求在程序请求时动态分配内存,并在程序不需要时释放分配的内存。glibc 实现的内存管理机制叫 ptmalloc2,它支持多线程,其在速度、所占空间、可移植性、可调整性上都有很好的表现。常见的内存管理机制还有 dlmalloc、tcmalloc、jemalloc 等。堆是由低地址向高地址增长的线性区域。只有当用户向操作系统申请内存时,堆才会被内核分配出来,并且出于效率和页对齐的考虑,通常会分配相当大的连续内存。程序再次申请时便会从这片内存中分配,直到堆空间不能满足时才会再次增长。堆一般在 BSS 段高地址处。
阅读此文
Here's something encrypted, password is required to continue reading.
阅读此文