网站首页 百科知识 > 正文
大家好,小福来为大家解答以上的问题。writeprocessmemory用法这个很多人还不知道,现在让我们一起来看看吧!
1、首先其声明如下:BOOL WriteProcessMemory( HANDLE hProcess,// 进程的句柄,是用OpenProcess打开的 LPVOID lpBaseAddress,// 要写入的起始地址 LPVOID lpBuffer,// 写入的缓存区 DWORD nSize,// 要写入缓存区的大小 LPDWORD lpNumberOfBytesWritten // 这个是返回实际写入的字节。
2、 );如果你要改写目标进程的一段内存,可以类似这样char *buffer="abc";DWORD dwBytes=0;WriteProcessMemory(hProcess, 0x00400000, buffer, 3, &dwBytes);如果是整型的,就是int value=3454354;DWORD dwBytes=0;WriteProcessMemory(hProcess, 0x00400000, &value, sizeof(value), &dwBytes);其中的起始地址我是随便写的0x00400000, 实际应用时,填成实际值。
3、WriteProcessMemory此函数能写入某一进程的内存区域。
4、入口区必须可以访问,否则操作将失败。
5、此函数能写入某一进程的内存区域(直接写入会出Access Violation错误,故需此函数)。
6、VC++声明BOOL WriteProcessMemory(HANDLE hProcess,LPVOID lpBaseAddress,LPVOID lpBuffer,DWORD nSize,LPDWORD lpNumberOfBytesWritten);参数:hProcess由OpenProcess返回的进程句柄。
7、如参数传数据为 INVALID_HANDLE_VALUE 【即-1】目标进程为自身进程lpBaseAddress要写的内存首地址再写入之前,此函数将先检查目标地址是否可用,并能容纳待写入的数据。
8、lpBuffer指向要写的数据的指针。
9、nSize要写入的字节数。
10、返回值非零值代表成功。
11、可用GetLastError获取更多的错误详细信息。
12、要求操作系统版本: Windows CE 2.0及以上版本。
13、所在头文件: Winbase.h链接库: Nk.lib。
本文到此分享完毕,希望对大家有所帮助。
版权说明: 本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
猜你喜欢:
- 2022-08-07 独坐黄昏谁是伴打一成语(独坐黄昏谁是伴)
- 2022-08-07 营造法治化营商环境(营造)
- 2022-07-29 网游之盗行天下在线阅读(网游之盗行天下)
- 2022-08-17 团队监控插件怎么安装(团队监控插件)
- 2022-08-21 佟佳沅宛lofter(佟佳沅宛)
- 2022-08-16 女生宿舍男楼管的严吗(女生宿舍男楼管)
- 2022-08-09 李刚0088(李刚岳父)
- 2022-08-20 穿越火线送号QQ(穿越火线送号)
最新文章:
- 2022-08-24 实验室制取二氧化碳的方法(如何制取二氧化碳)
- 2022-08-24 商南火车站最新时刻表(商南火车站)
- 2022-08-24 单刀直入打一生肖相关图片(单刀直入打一生肖)
- 2022-08-24 顺耳是指什么年纪(顺耳是60岁吗)
- 2022-08-24 数学空集是什么意思(什么是数学空集)
- 2022-08-24 康尼学院是几本(康尼学院)
- 2022-08-24 可口鱼群 怀旧服(可口鱼群)
- 热点推荐
- 热评文章