PAGE_EXECUTE 可执行 PAGE_EXECUTE_READ 可读,可执行 PAGE_EXECUTE_READWRITE 可读,可写,可执行 PAGE_EXECUTE_WRITECOPY 可读,可写,可执行,以Read-on-write和copy-on-write方式共享 PAGE_NOACCESS 不可访问 PAGE_READONLY 只读 PAGE_READWRITE 可读,可写 PAGE_WRITECOPY copy-on-write保护机制 PAGE_GUARD 保护,如果访问则异常(不能单独使用) PAGE_NOCACHE 不进行CPU缓存(不能单独使用) PAGE_WRITECOMBINE write-combined优化(不能单独使用) 堆管理API HeapCreate 为进程创建一个堆,返回一个堆句柄 GetProcessHeap 获取当前进程中的一个堆 HeapAlloc 从指定堆上分配内存块 HeapReAlloc 重新分配内存,改变已经分配好的堆内存块大小 GetSystemInfo 获取系统信息 HeapSize 获取指定堆大小,以字节为单位返回堆大小信息 HeapFree 释放HeapAlloc和HeapReAlloc所分配的内存 HeapDestroy 销毁由HeapCreate创建的堆 全局和局部内存管理API函数 GlobalAlloc 在默认堆上分配指定属性的大小的内存 GlobalFree 释放由GlobalAlloc分配的内存 GlobalReAlloc 重新分配内存,改变已经分配好的内存块大小 GlobalLock 将GlobalAlloc及GlobalReAlloc分配属性为GMEM_MOVEABLE内存块设为固定 GlobalHandle 与GlobalLock相对 GlobalSize 获取内存大小 虚拟内存管理API函数 VirtualAlloc "保留"或"提交"内存页面,将"空闲的"内存页面变为"保留的"或"已经提交的",保留的改为已提交的 VirtualAllocEx 类似VirtualAlloc功能,不过可以为其他进程分配内存 VirtualFree 将内存状态从"已经提交的"变为"保留的" VirtualFreeEx 释放VirtualAllocEx分配的内存,功能,使用方法和VirtualFree类似 VirtualProtect 改变指定虚拟内存分页的保护属性 内存操作与内存信息管理API函数 CopyMemory 复制内存,第一个参数为目的地址,第二个参数为源地址,第三个参数为复制数据大小 FillMemory 填充内存,将一段内存填充为同一个值 MoveMemory 功能和CopyMemory类似,不同的是源地址和目的地址可以相同 ZeroMemory 将指定内存区域清零 GlobalMemoryStatusEx 用于获取系统当前内存使用情况 IsBadCodePtr 判断调用进程是否拥有对指定地址内存的读操作权限 IsBadReadPtr 判断调用进程是否有对指定地址段内存的读操作权限 ISBadStringPtr 判断调用进程是否拥有对字符串指针的读取权限 IsBadWritePtr 判断调用进程是否拥有对指定地址段内存的写操作权限 WriteProcessMemory 对某进程地址写入数据 ReadProcessMmemory 读取某进程地址数据