-2

我试图从 ASM 指令中 memcmp 多个 BYTE,但我的扫描仪一直没有任何结果。我的函数的返回值表明未找到 BYTE。

调用

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

功能(缩写)

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

1 回答 1

3

正如我在您之前的类似问题中回答的那样,当我运行它时,您的代码运行得非常好。我针对我之前使用的 FindPattern 函数对其进行了测试,两者都返回了完全相同的结果。

确保你有正确的模式。它不是你的功能失败了,它根本没有找到你正在寻找的东西。

于 2013-09-01T06:31:32.980 回答