C++ memcmp多个字节,找不到地址

C++ memcmp多个字节,找不到地址,c++,C++,我试图从ASM指令中记忆多个字节,但我的扫描器总是一无所获。my函数返回的值表示找不到字节 打电话给 const BYTE Pattern[] = {0x33,0xC0,0xF2,0xAE}; DWORD Address = FindPattern(Pattern,sizeof(Pattern)); 功能(短端) DWORD FindPattern(常量字节*模式,大小\u T模式大小) { ... 对于(int i=0;i

我试图从ASM指令中记忆多个字节,但我的扫描器总是一无所获。my函数返回的值表示找不到字节

打电话给

const BYTE Pattern[] = {0x33,0xC0,0xF2,0xAE};
DWORD Address = FindPattern(Pattern,sizeof(Pattern));
功能(短端)

DWORD FindPattern(常量字节*模式,大小\u T模式大小)
{
...
对于(int i=0;i<(ModuleSize-PatternSize);i++)
{
if(memcmp((void*)(ModuleBase+i),Pattern,PatternSize)==0)
返回ModuleBase+i;
}
返回0;
}
正如我所说,当我运行代码时,您的代码运行得非常好。我用我之前使用的FindPattern函数对它进行了测试,两者都返回了相同的精确结果


确保你有正确的图案。失败的不是你的功能,而是没有找到你想要的东西

检查字节顺序(endianness?)你宁愿改进你原来的问题,也不愿一遍又一遍地重复你的挑战
DWORD FindPattern(const BYTE* Pattern,SIZE_T PatternSize)
{
    ...
    for(int i = 0;i < (ModuleSize - PatternSize);i++)
    {
        if(memcmp((void*)(ModuleBase + i),Pattern,PatternSize) == 0)
            return ModuleBase + i;
    }
    return 0;
}