c++ - 在类中存储内存内容 - C++

标签 c++ memory pointers

<分区>

我正在尝试为应用程序编写一个插件,但我被困在需要从内存中读取内容并将其存储在类中的位置。我得到了以下信息:

UserInfo = 0x9F9648 
UserInfoSize = 0x560

那是内容存储的位置,我得到了以下类来存储它:

class CUserInfo
{
public:
    __int32 clientNum; //0x0000  
    __int32 Valid; //0x0004  
    char unknown8[4]; //0x0008
    char Name[16]; //0x000C  
    ... and some other properties
};

问题是我不知道如何从地址位置获取内容并将其存储在类实例中。

有人知道怎么做吗?

最佳答案

您可以使用 reinterpret_cast<>将整数地址转换为指向任何所需类型的指针,然后取消引用该指针。

例如:

CUserInfo user_info;
user_info.clientNum = *(reinterpret_cast<__int32*>(0x9F9648));

当然这是危险的做法。当您尝试访问任意内存地址时,您应该注意访问冲突和对齐错误。

关于c++ - 在类中存储内存内容 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8704138/

相关文章:

c++ - 在另一个应用程序窗口顶部绘制边框

c++ - 如何使用自定义运算符<<创建折叠表达式?

java - 有谁知道查看 Java 应用程序内存的应用程序?或者有一些简单的方法来创建一个应用程序来做这种事情?在 C# 中

c - C 中的未知函数签名

c++ - 如果多个数字重复相同次数,我需要输出 "no mode"

c++ - 如何使STL与一种 "empty struct"配对只占用另一种类型的空间?

C++11 与 C++98 转换运算符行为发生变化?

c++ - 什么是跳台?

c++ - 如何使用 C++ new 而不是 C malloc 分配内存

c - 为什么这个 offsetof() 的实现有效?