c++ 修改内存

本文提供了一个使用C/C++在Windows环境下操作进程内存的例子,包括获取窗口句柄、打开进程、读写进程内存等步骤。通过示例代码展示了如何实现对指定地址的内存进行读取和写入。
    HWND hwnd = FindWindow(NULL, TEXT("Form1"));

    DWORD dwProcessId;
    (VOID)GetWindowThreadProcessId(hwnd, &dwProcessId);
    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS | PROCESS_VM_WRITE |
        PROCESS_VM_READ,
        FALSE, dwProcessId);

    DWORD numBytesRead;
    PVOID pDestination = (PVOID)0x02233C70;//内存地址
    BYTE MyData[4] = { 0 & 0x000000ff, (0 & 0x0000ff00) >> 8, (0 & 0x00ff0000) >> 16, (0 & 0xff000000) >> 24 };
    BOOL fSuccess = WriteProcessMemory(hProcess, pDestination, (PVOID)MyData, 4, NULL);
    while (1)
    {
        ReadProcessMemory(hProcess, (LPCVOID)(0x02233C70), &MyData, sizeof(DWORD), &numBytesRead);
        for (int i = 0; i < 4; i++)
            printf(" %.2x", MyData[i]);
        printf("\n");
        Sleep(100);
    }

 

转载于:https://www.cnblogs.com/diose/p/5555769.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值