C++ 读写内存数据的问题
RT 学习到 WriteProcessMemory 和 ReadProcessMemory
写入的数据 是一个字节或者整数 还会 要是一大串数据 就蒙B了
比如 在内存中 有这么一串 16进制数据 23 48 8D 84 32
怎么取出来保存
然后再怎么写到另一个内存中去呢?
我从百度 找到了一下代码 但还是无法解决我的问题
byte* nc_dncbyte(DWORD pid, DWORD shoudizhi, DWORD Size)
{
byte *p = new byte;//取空白字节集以做存储缓冲区
ReadProcessMemory(INVALID_HANDLE_VALUE, (LPCVOID)shoudizhi, p, Size, 0);
return p;
}
byte *buff;
buff = nc_dncbyte(INVALID_HANDLE_VALUE, 内存地址, 存储的字节数);
我这样写
WriteProcessMemory(INVALID_HANDLE_VALUE, (LPVOID)内存地址, &buff,sizeof(字节数), NULL);
写进去的内存数据 就不对了
WriteProcessMemory
ReadProcessMemory
第一个值是进程句柄(注意得有一定权限,内存读写)
如果是读写自身的内存,可以用-1代替,他给的代码实际返回也是-1.还有一个函数getxxx实际返回也是-1
你第三个参数错了,直接buff,为什么要用引用.......
{:5_118:}不要问我 为啥发到逆向论坛....问了没跟帖的... 本帖最后由 chaohailab 于 2016-8-6 21:20 编辑
INVALID_HANDLE_VALUE 无效的句柄
[*] hProcess = OpenProcess(PROCESS_VM_READ | PROCESS_VM_WRITE, false, processId);
[*] //假设地址0X0047C9D4存在信息
[*] ReadProcessMemory(hProcess, 0X0047C9D4, dataAddress, 4, 0);
可以看看函数说明https://msdn.microsoft.com/en-us/library/ms680553(VS.85).aspx
三体文明向地球发来的智子阻碍了人类文明的科学发展,所以调试软件的时候经常会出错,这就是智子干扰的结果, PHP函数设置
PHP函数chown设置
PHP函数chmod设置
PHP函数fsockopen设置
PHP函数magic_quotes_gpc设置
PHP函数request_order设置
upload_max_filesize设置:
虚无空幻 发表于 2016-8-6 22:25
WriteProcessMemory
ReadProcessMemory
第一个值是进程句柄(注意得有一定权限,内存读写)
好吧 我第三个参数搞错了 谢谢
页:
[1]