w00*_*w00 3 c++ memory pointers
我正在尝试为应用程序编写一个插件,并且我遇到了需要从内存中读取内容并将其存储在类中的位置.我得到了以下内容:
UserInfo = 0x9F9648
UserInfoSize = 0x560
Run Code Online (Sandbox Code Playgroud)
这是内容存储位置的位置,我已经获得了以下类来存储它:
class CUserInfo
{
public:
__int32 clientNum; //0x0000
__int32 Valid; //0x0004
char unknown8[4]; //0x0008
char Name[16]; //0x000C
... and some other properties
};
Run Code Online (Sandbox Code Playgroud)
问题是我不知道如何从地址位置获取内容并将其存储在类实例中.
任何人都知道怎么做?
您可以使用reinterpret_cast<>将整数地址转换为指向任何所需类型的指针,然后取消引用指针.
例如:
CUserInfo user_info;
user_info.clientNum = *(reinterpret_cast<__int32*>(0x9F9648));
Run Code Online (Sandbox Code Playgroud)
当然这是危险的做法.当您尝试访问任意内存地址时,您应该知道访问冲突和对齐错误.
| 归档时间: |
|
| 查看次数: |
187 次 |
| 最近记录: |