51 lines
1.3 KiB
C++
Raw Normal View History

2024-02-07 20:59:24 +08:00
#include"Palette.h"
bool Palette::attach_function() {
BYTE sig2[]={
//さくらシュトラッセ
//さくらんぼシュトラッセ
//MERI+DIAマリアディアナ
0x8b,XX,
0x8b,XX,0x14,
0x03,XX,
0x3b,XX,
0x76,XX,
0x83,XX,0x10,
0x72,XX,
0x8b,XX,
0x8b,XX,0x24,0x14,
XX,
0x2b,XX,
XX,
XX,
0x8b,XX,
0xe8,XX4,
XX,
XX,
XX,
0xC2,0x08,0x00
};
auto m=GetModuleHandle(L"system.dll");
ULONG addr=0;
if(m) {
//もしも明日が晴れならば
//えむぴぃ
auto [minAddress, maxAddress] = Util::QueryModuleLimits(m);
addr= MemDbg::findBytes(sig2, sizeof(sig2), minAddress, maxAddress);
}
else{
addr = MemDbg::findBytes(sig2, sizeof(sig2), processStartAddress, processStopAddress);
}
if (!addr) return false;
addr = MemDbg::findEnclosingAlignedFunction(addr);
if (!addr) return false;
HookParam hp;
hp.address = addr;
hp.offset=get_stack(1);
hp.type = USING_STRING;
hp.filter_fun=all_ascii_Filter;
ConsoleOutput("Please adjust the text display speed to maximum to remove duplicates");
return NewHook(hp, "Palette");
}