#include "AXL.h" bool InsertAXLHook() { // キミの声がきこえる BYTE bytes[] = { 0x0f, 0x95, 0xc2, 0x33, 0xc0, 0xB9, 0x41, 0x00, 0x00, 0x00}; auto addr = MemDbg::findBytes(bytes, sizeof(bytes), processStartAddress, processStopAddress); if (addr == 0) return false; addr = findfuncstart(addr, 0x1000); if (addr == 0) return false; HookParam hp; hp.address = addr; hp.offset = get_stack(4); hp.type = USING_STRING; return NewHook(hp, "AXL"); } namespace { bool hook2() { // 剣乙女ノア // Maria~天使のキスと悪魔の花嫁~ BYTE bytes[] = { 0x55, 0x8b, 0xec, 0x56, 0x8b, 0xf0, 0x3b, 0x9e, 0x8c, 0xf8, 0x00, 0x00, 0x57}; auto addr = MemDbg::findBytes(bytes, sizeof(bytes), processStartAddress, processStopAddress); if (addr == 0) return false; HookParam hp; hp.address = addr; hp.offset = get_stack(1); hp.split = get_reg(regs::eax); hp.type = USING_SPLIT; return NewHook(hp, "TAILWIND"); } } bool AXL::attach_function() { return InsertAXLHook() || hook2(); }