LunaHook-mirror/LunaHook/engine32/Elf.h

52 lines
1.5 KiB
C
Raw Normal View History

2024-05-06 23:30:27 +08:00
2024-02-07 20:59:24 +08:00
2024-07-29 01:12:19 +08:00
class Elf : public ENGINE
{
public:
Elf()
{
check_by = CHECK_BY::CUSTOM;
check_by_target = []()
{
// flutter of birds鳥達の羽ばたき
// https://vndb.org/v2379
// 很奇怪FindFirstFileW在win7上true在win11上false但PathFileExists在两者都是true
auto paks = {L"data.arc", L"effect.arc", L"mes.arc"};
return std::all_of(paks.begin(), paks.end(), [](auto f)
{ return Util::CheckFile_exits(f, true); });
2024-07-10 23:14:37 +08:00
};
2024-07-29 01:12:19 +08:00
// Util::CheckFile(L"Silkys.exe") || // It might or might not have Silkys.exe
// data, effect, layer, mes, music
};
bool attach_function();
2024-02-07 20:59:24 +08:00
};
2024-07-29 01:12:19 +08:00
class Elf2 : public ENGINE
{
public:
Elf2()
{
check_by = CHECK_BY::CUSTOM;
check_by_target = []()
{
// check_by_list{L"data.arc",L"Ai5win.exe",L"mes.arc"};
return Util::CheckFile_exits(L"Ai5win.exe", true) && (Util::CheckFile_exits(L"data.arc", true) || Util::CheckFile_exits(L"MISC\\data.arc", true)) && (Util::CheckFile_exits(L"mes.arc", true) || Util::CheckFile_exits(L"MISC\\mes.arc", true));
};
};
bool attach_function();
2024-02-07 20:59:24 +08:00
};
2024-02-09 00:42:25 +08:00
2024-07-29 01:12:19 +08:00
class ElfFunClubFinal : public ENGINE
{
public:
ElfFunClubFinal()
{
is_engine_certain = false;
check_by = CHECK_BY::CUSTOM;
check_by_target = []()
{
return wcscmp(processName_lower, L"fanclub.exe") == 0;
2024-02-09 00:42:25 +08:00
};
2024-07-29 01:12:19 +08:00
};
bool attach_function();
2024-02-09 00:42:25 +08:00
};