2013-09-01 36 views
-2

我试图从ASM memcmp多个BYTE的指令,但我的扫描仪一直没有提供任何东西。我的函数返回的值表明BYTE没有被找到。memcmp多个字节,找不到地址

调用与

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

检查字节顺序(字节顺序?) – sehe

+1

你宁愿改进你原来的问题,而不是重复发布你的挑战的一些位 –

回答

3

正如我replied in your previous similar question,你的代码工作完全正常,当我跑了。我测试了它与之前使用的FindPattern函数,并且都返回了相同的确切结果。

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