c++将十六进制写入进程而不是字符串
C++ Writing Hex To Process Instead Of String
我遇到了WriteProcessMemory的问题,它将实际字符串输入并将其作为实际字符串写入进程,而不是十六进制表示,当我做x前缀时,是否有另一种方法可以做到这一点?
std::string HexToWrite;
std::cin >> HexToWrite; // I'm typing x90
WriteProcessMemory(Process, Address, HexToWrite.c_str(), sizeof(HexToWrite), 0);
所以它不是写实际的字节0x90,而是写字符串:x90
std::string是一个容器,而不是字符数组。在WriteProcessMemory调用中,将其作为size参数传递:
sizeof(HexToWrite)
给出容器的大小,而不是实际字符串的长度。
如果你想获得字符串的长度,你可以使用:
HexToWrite.Length()
或strlen(HexToWrite.c_str())
一般来说,我不会对字节数组使用std::string,我会使用常规的字符数组:
char* HexToWrite = " x90";
相关文章:
- 如何保护非托管应用程序中的字符串不受进程转储的影响
- 包含字符串的结构的 Boost 进程间向量是否需要特殊的分配器?
- 读取进程内存无法正常工作,使用 UTF16 字符串
- 提升序列化提升进程间字符串
- 如何从Windows中的进程中读取Unicode字符串
- 写入套接字接收的进程字符串的输入
- GetWindowText 返回另一个进程的空字符串
- 结束进程错误代码 -1,如果访问结构的字符串字段
- 在另一个进程的内存中搜索字符串的每个匹配项
- 如何在另一个进程的内存中搜索字符串
- 将字符串数组传递给多个进程的 for 循环中的 CreateProcess
- 提升没有共享内存的进程间字符串
- 在vc++中使用CreateProcess和CreatePipe来执行进程并以字符串形式返回输出
- 当绕过c++中的函数从目标进程的ExtTextOut复制数据字符串时,malloc会导致崩溃吗?
- 进程快照无法与宽字符串进行比较
- 我如何在另一个进程的内存中通过正则表达式搜索字符串
- 如何保护两个进程之间共享内存中的字符串?
- c++将十六进制写入进程而不是字符串
- 防止将字符串(某些进程)添加到组合框 MFC
- 使用fork在两个进程之间逐字符发送字符串