windows核心编程-获取进程中堆的分配情况
2016-11-28 16:03
295 查看
将第二个程序的进程号写入第一个的ID中,同时将&i地址写在WriteProcessMemory中,调试可以发现,改变了第二个程序的i的值
#include<windows.h> #include<tchar.h> #include<Tlhelp32.h> #define ID 4368 int _tmain() { HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPHEAPLIST,ID); if (hSnapshot == INVALID_HANDLE_VALUE) { _tprintf(L"%d\n", GetLastError()); return 0; } HEAPLIST32 hl = {0}; hl.dwSize = sizeof(hl); Heap32ListFirst(hSnapshot,&hl); do{ _tprintf(L"------------------------------------------------\n"); _tprintf(TEXT("ProcessID=%d,HeapID=%d\n"),hl.th32ProcessID,hl.th32HeapID); HEAPENTRY32 he = {0}; he.dwSize = sizeof(he); Heap32First(&he,hl.th32ProcessID,hl.th32HeapID); do{ _tprintf(TEXT("Address=%0x\tSize=%0x\tflages=%0x\n"),he.dwAddress,he.dwBlockSize, he.dwFlags); } while (Heap32Next(&he)); } while (Heap32ListNext(hSnapshot, &hl)); HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,ID); int i = 0; ReadProcessMemory(hProcess,(LPCVOID)(0x13b0818),&i,4,NULL); i = 0; WriteProcessMemory(hProcess, (LPVOID)(0x13b0818), &i, 4, NULL);//往内存中写数据,将i=0赋给它 CloseHandle(hSnapshot); CloseHandle(hProcess); _gettchar(); return 0; } /* 这种列举方法,只能列举其他进程中堆内存的信息 线程栈的内存信息,没法列出来 我们可以获得其他进程中内存数据,也可以修改其他进程中的数据 */
#include<windows.h> #include<tchar.h> int _tmain() { int i = 2000; while (1) { _tprintf(L"%d\n", i); } _gettchar(); return 0; }
相关文章推荐
- Windows核心编程学习四:GetModuleHandle获取进程的地址空间中的可执行文件的基地址
- 基于visual c++之windows核心编程代码分析(52)使用WMI 获取进程启动参数
- 基于visual c++之windows核心编程代码分析(52)使用WMI 获取进程启动参数
- Windows-核心编程-04-进程-获取进程 线程 模块(DLL)信息
- windows核心编程-获取进程当前目录
- 基于visual c++之windows核心编程代码分析(23)遍历驱动器并获取驱动器属性
- 基于visual c++之windows核心编程代码分析(50)伪装进程路径
- Windows下用C语言获取进程cpu使用率,内存使用,IO情况
- 创建进程CreateProcess函数----windows 核心编程
- Windows下用C语言获取进程cpu使用率,内存使用,IO情况
- 【Windows 核心编程】Windows 核心编程 -- 进程
- 基于visual c++之windows核心编程代码分析(57)监控系统的每一个进程的创建
- 基于visual c++之windows核心编程代码分析(63)无模块dll进程注射
- Windows核心编程学习六:进程优先级组和线程优先级
- Windows下用C语言获取进程cpu使用率,内存使用,IO情况
- Windows下用C语言获取进程cpu使用率,内存使用,IO情况
- 基于visual c++之windows核心编程代码分析(21)获取和设置环境变量
- windows 核心编程——进程
- Windows 核心编程研究系列之一(-改变进程PTE属性-)[已补完]
- Windows 核心编程之进程