This commit is contained in:
恍兮惚兮 2024-03-21 01:09:59 +08:00
parent 2fa1f50aed
commit 5e6bc37051
3 changed files with 40 additions and 1 deletions

View File

@ -1697,3 +1697,21 @@ bool WillPlus::attach_function() {
return succ; return succ;
} }
bool Willold::attach_function() {
//https://vndb.org/v17755
//凌辱鬼
auto addr=MemDbg::findLongJumpAddress((ULONG)TextOutA,processStartAddress,processStopAddress);
if(addr==0)return false;
addr=MemDbg::findNearCallAddress(addr,processStartAddress,processStopAddress);
if(addr==0)return false;
addr=findfuncstart(addr,0x200);
if(addr==0)return false;
HookParam hp;
hp.address=addr;
hp.type=USING_CHAR|CODEC_ANSI_BE;
hp.offset=get_stack(1);
return NewHook(hp,"will");
}

View File

@ -9,3 +9,23 @@ class WillPlus:public ENGINE{
}; };
bool attach_function(); bool attach_function();
}; };
class Willold:public ENGINE{
public:
Willold(){
//https://vndb.org/v17755
//凌辱鬼
check_by=CHECK_BY::CUSTOM;
check_by_target=[](){
auto _={L"*.BIN",L"DATA\\*.ENV",L"DATA\\*.WBP"};
auto checkfile= std::all_of(_.begin(),_.end(),Util::CheckFile);
if(checkfile){
auto __=R"(Software\WILL\)";
checkfile&=!!MemDbg::findBytes(__,strlen(__),processStartAddress,processStopAddress);
}
return checkfile;
};
}
bool attach_function();
};

View File

@ -302,7 +302,8 @@ std::vector<ENGINE*> check_engines(){
new ScrPlayer, new ScrPlayer,
new ElfFunClubFinal, new ElfFunClubFinal,
new Aksys, new Aksys,
new Siglusold new Siglusold,
new Willold
}; };
} }