gpt4 book ai didi

c++ - WriteProcessMemory 不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 12:11:10 27 4
gpt4 key购买 nike

我想用 int WriteProcessMemory 并再次执行此操作,使 int 成为负数。我知道如何在 VB.NET 中执行此操作;我试过同样的方法,但在 C++ 中,它不起作用。

 WriteProcessMemory(hProcess, (void*)(MYBASE + 0x6F4), &number, 4, NULL);
WriteProcessMemory(hProcess, (void*)(MYBASE + 0xA54), "-" & &number, 4, NULL);

最佳答案

您的"-"& &number 没有按照您认为的那样去做。在 C 中,& 二元运算符表示按位与,而不是字符串连接(C 没有 native 字符串类型)。因此,您的第二行采用指针值(number 的地址)并使用连字符的 ASCII 数值进行按位与运算(即,您采用地址 & 46),这会给你一个无意义的地址,而不是做你想做的。

WriteProcessMemory 的第三个参数是一个地址,因此您需要一个变量来获取地址。用这两行替换第二行:

int negativeNumber = -number;
WriteProcessMemory(hProcess, (void*)(MYBASE + 0xA54), &negativeNumber, 4, NULL);

关于c++ - WriteProcessMemory 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9764281/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com