memcmp多个BYTE,没有找到地址

时间:2013-09-01 00:46:46

标签: c++

我试图从ASM说明中记忆多个BYTE,但我的扫描仪却一无所获。我函数返回的值表示没有找到BYTE。

调用
const BYTE Pattern[] = {0x33,0xC0,0xF2,0xAE};
DWORD Address = FindPattern(Pattern,sizeof(Pattern));

功能(Shortend)

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;
}

1 个答案:

答案 0 :(得分:3)

正如我replied in your previous similar question,当我运行它时,你的代码运行得非常好。我根据我之前使用的FindPattern函数对它进行了测试,两者都返回了相同的结果。

确保您拥有正确的图案。它不是你失败的功能,它根本找不到你想要的东西。