gpt4 book ai didi

c++ - 读取内存指针卡住进程

转载 作者:行者123 更新时间:2023-11-30 03:58:52 24 4
gpt4 key购买 nike

我试图读取游戏进程中的一些地址,然后与整数进行比较。

我的代码如下:

BOOL SCMemoryCheat::CheckDKHack()
{
int *DkAddr1 = (int*)0x87016C + 0x11E4; // Pointer DK 1
memcpy(DKBytesValues1, DkAddr1, 16);

int *DkAddr2 = (int*)0x87016C + 0x1224; // Pointer DK 2
memcpy(DKBytesValues2, DkAddr2, 16);

if ( DKBytesValues1[0] == DKBytesValues1[1]
&& DKBytesValues1[1] == DKBytesValues1[2]
&& DKBytesValues1[2] == DKBytesValues1[3]
&& DKBytesValues1[3] == DKBytesValues1[4]
&& DKBytesValues1[4] == DKBytesValues1[5]
&& DKBytesValues1[0] == 0x00)
{
// DK Detected
return TRUE;
}

}

bool StartSCMemoryCheats()
{
SCMemoryCheat* SCMemC = new SCMemoryCheat;

while (TRUE)
{
int *ChannelIDAddr = (int*)0x8915AF;
int *p = (int*)255;

if (ChannelIDAddr == p)
{
if (SCMemC->CheckDKHack)
{
delete[] SCMemC;
break;
}
}

ExitProcess(0);
}



}

和类(class):

class SCMemoryCheat
{
unsigned char *DKBytesValues1 = new unsigned char[16];
unsigned char *DKBytesValues2 = new unsigned char[16];

unsigned char *XFS = new unsigned char[4];

public:
SCMemoryCheat();
virtual ~SCMemoryCheat();
BOOL CheckDKHack();
};

bool StartSCMemoryCheats() 用线程调用,这样:

DWORD dwSMCThreadId = 0;
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&StartSCMemoryCheats,(LPVOID) NULL, 0, &dwSMCThreadId);

它可以编译,但无法运行,并且进程会因 CPU 使用率 +/- 30% 而卡住。

我如何进行比较?

编辑

修复了一些东西

但现在这个条件总是返回 TRUE,并且值为 255。

    **volatile int *ChannelIDAddr = (int*)0x8915AF;

// Check world list
if (*ChannelIDAddr != 255)
{
// ALWAYS TRUE
}**

提前致谢。

最佳答案

我想这就是你想要的:

while (TRUE)
{
volatile int *ChannelIDAddr = (int*)0x8915AF;
const int p = 255;

if (*ChannelIDAddr == p)
{
if (SCMemC->CheckDKHack())
{
delete[] SCMemC;
break;
}
}

ExitProcess(0);
}

如果要与整数255 进行比较,您应该将p 声明为int,而不是指针。您需要使用 * 前缀通过 ChannelIDAddr 间接读取那里的值。并且它应该声明为 volatile,这样编译器就不会优化对同一指针的重复读取。

最后,由于 CheckDKHack 是一个函数,您可以通过在它后面加上 () 来调用它。

关于c++ - 读取内存指针卡住进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27203784/

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