LunaHook-mirror/LunaHook/engine32/Interlude.cpp

26 lines
643 B
C++
Raw Normal View History

2024-02-07 20:59:24 +08:00
#include"Interlude.h"
bool Interlude::attach_function() {
//インタールード
//https://vndb.org/v3195
const BYTE bytes[] = {
0x83,0xEC,0x10,
0x8B,0x44,0x24,0x24,
0x3D,0x20,0x80,0x00,0x00,
0xC7,0x04,0x24,0xE0,0xE0,0xE0,0x00,
0xC7,0x44,0x24,0x04,0xE0,0xE0,0xE0,0x20,
0xC7,0x44,0x24,0x08,0xE0,0xE0,0xE0,0x40,
0xC7,0x44,0x24,0x0C,0xE0,0xE0,0xE0,0x80,
};
ULONG addr = MemDbg::findBytes(bytes, sizeof(bytes), processStartAddress, processStopAddress);
if (addr == 0)return false;
HookParam hp;
hp.address = addr ;
hp.offset=get_stack(5);
hp.type = CODEC_ANSI_BE ;
return NewHook(hp, "Interlude");
}