findhex

不羁的心 提交于 2019-11-26 19:35:42
FindPattern(hD3D, 0x128000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");//这种HOOK方式就是找到d3d9.dll的接口,搜索特征码,找到Vtable(虚函数表)
DWORD FindPattern ( DWORD startAddres, DWORD fileSize, PBYTE pattern, char mask[] )
{
    DWORD pos = 0;
    int searchLen = strlen ( mask ) - 1;
    
    for ( DWORD retAddress = startAddres; retAddress < startAddres + fileSize; retAddress++ )
    {
        if ( *(PBYTE) retAddress == pattern[ pos ] || mask[ pos ] == '?' )
        {
            if ( mask[ pos + 1 ] == '\0' )
            {
                return ( retAddress - searchLen );
            }
            
            pos++;
        } 
        else
        {
            pos = 0;
        }        
    }
    
    return NULL;
    }
}

by:danger's

转载于:https://www.cnblogs.com/yueyue184/p/3164314.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!