LunaHook-mirror/LunaHook/engine32/TinkerBell.h
2024-02-07 20:59:24 +08:00

45 lines
1.1 KiB
C++

#include"engine.h"
class TinkerBell:public ENGINE{
public:
TinkerBell(){
check_by=CHECK_BY::CUSTOM;
is_engine_certain=false;
check_by_target=[](){
wchar_t arcdatpattern[] = L"Arc0%d.dat";
wchar_t arcdat[20];
bool iswendybell = false;
for (int i = 0; i < 10; i++) {
wsprintf(arcdat, arcdatpattern, i);
if (Util::CheckFile(arcdat)) {
iswendybell = true; break;
}
}
return (wcsstr(processName_lower, L"c,system"))||iswendybell || Util::SearchResourceString(L"TinkerBell");
};
};
bool attach_function();
};
class TinkerBellold:public ENGINE{
public:
TinkerBellold(){
check_by=CHECK_BY::CUSTOM;
is_engine_certain=false;
check_by_target=[](){
wchar_t arcdatpattern[] = L"arc%c.dat";
wchar_t arcdat[20];
bool iswendybell = false;
for (int i = 'a'; i <='z'; i++) {
wsprintf(arcdat, arcdatpattern, i);
if (Util::CheckFile(arcdat)) {
iswendybell = true; break;
}
}
return iswendybell &&Util::CheckFile(L"head.dat");
};
};
bool attach_function();
};