我正在搜索内存中的特定系列位,但是我不知道确切的地址。在Visual Studio中,有没有一种方法可以将大量内存打印到文本文件中,以便我可以搜索所需的位?
最佳答案
鉴于您的程序可能会因访问未定义或非法的内存区域而产生错误,因此,这是从内存中打印的方法:
// Assign a point to point to memory.
uint8_t const * pointer_to_memory = (uint8_t const *) /* Put address here */;
// Read from memory
uint8_t byte = *pointer_to_memory;
// Output the value
std::cout << std::hex << byte << " ";
转储内存的常见输出是:
AAAAAAAA BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB BB .................
哪里:
AAAAAAAA-内存地址(指针的内容),通常为十六进制。
BB-内存字节,通常为十六进制。
....-由字节或'。'表示的ASCII字符用于不可打印的字符。
正如其他人所评论的那样,您可能需要使用OS API来读取内存的受限区域,或者您的应用程序需要以系统特权运行。
关于c++ - Visual Studio 2010:如何将内存打印到文本文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25727248/