我试图从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;
}
答案 0 :(得分:3)
正如我replied in your previous similar question,当我运行它时,你的代码运行得非常好。我根据我之前使用的FindPattern函数对它进行了测试,两者都返回了相同的结果。
确保您拥有正确的图案。它不是你失败的功能,它根本找不到你想要的东西。