Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void SetupHooks(void *hookTarget)
- {
- VTable = reinterpret_cast< void*** >( hookTarget );
- OrigVTable = *VTable;
- MEMORY_BASIC_INFORMATION mbi;
- TableSize = -1;
- do
- {
- TableSize++;
- VirtualQuery( OrigVTable[TableSize], &mbi, sizeof( MEMORY_BASIC_INFORMATION ) );
- }
- while( mbi.Protect == PAGE_EXECUTE_READ || mbi.Protect == PAGE_EXECUTE_READWRITE );
- OurVTable = reinterpret_cast< void** >( malloc( ( TableSize+3 ) * sizeof( void* ) ) );
- OurVTable[2] = OrigVTable[-1];
- for ( int i = 0; i < TableSize; ++i ) OurVTable[i+3] = OrigVTable[i];
- *VTable = OurVTable + 3;
- }
Add Comment
Please, Sign In to add comment