2020-02-28 18:17:41 +08:00
|
|
|
|
#pragma once
|
2016-01-05 23:01:17 +08:00
|
|
|
|
|
|
|
|
|
// engine/engine.h
|
|
|
|
|
// 8/23/2013 jichi
|
|
|
|
|
|
|
|
|
|
#include <windows.h>
|
|
|
|
|
|
|
|
|
|
struct HookParam; // defined in ith types.h
|
|
|
|
|
|
2019-06-07 11:53:37 +08:00
|
|
|
|
extern uintptr_t processStartAddress, processStopAddress;
|
2018-07-01 14:08:51 +08:00
|
|
|
|
|
2016-01-05 23:01:17 +08:00
|
|
|
|
namespace Engine {
|
|
|
|
|
|
|
|
|
|
// Global variables
|
2018-07-01 14:08:51 +08:00
|
|
|
|
extern wchar_t *processName, // cached
|
|
|
|
|
processPath[MAX_PATH]; // cached
|
2023-04-22 04:49:22 +08:00
|
|
|
|
inline const char *requestedEngine = "", * loadedConfig = "";
|
2016-01-05 23:01:17 +08:00
|
|
|
|
|
|
|
|
|
bool InsertMonoHooks(); // Mono
|
|
|
|
|
|
|
|
|
|
// Wii engines
|
|
|
|
|
|
|
|
|
|
bool InsertGCHooks(); // Dolphin
|
|
|
|
|
bool InsertVanillawareGCHook();
|
|
|
|
|
|
|
|
|
|
// PS2 engines
|
|
|
|
|
|
|
|
|
|
bool InsertPCSX2Hooks(); // PCSX2
|
|
|
|
|
bool InsertMarvelousPS2Hook(); // http://marvelous.jp
|
|
|
|
|
bool InsertMarvelous2PS2Hook(); // http://marvelous.jp
|
|
|
|
|
bool InsertTypeMoonPS2Hook(); // http://typemoon.com
|
|
|
|
|
//bool InsertNamcoPS2Hook();
|
|
|
|
|
|
|
|
|
|
// PSP engines
|
|
|
|
|
|
|
|
|
|
void SpecialPSPHook(DWORD esp_base, HookParam *hp, DWORD *data, DWORD *split, DWORD *len); // General PSP extern hook
|
|
|
|
|
|
2019-06-09 12:50:26 +08:00
|
|
|
|
bool FindPPSSPP();
|
2016-01-05 23:01:17 +08:00
|
|
|
|
bool InsertPPSSPPHooks(); // PPSSPPWindows
|
|
|
|
|
|
|
|
|
|
bool InsertPPSSPPHLEHooks();
|
|
|
|
|
bool InsertOtomatePPSSPPHook(); // PSP otomate.jp, 0.9.9.0 only
|
|
|
|
|
|
|
|
|
|
bool Insert5pbPSPHook(); // PSP 5pb.jp
|
|
|
|
|
bool InsertAlchemistPSPHook(); // PSP Alchemist-net.co.jp, 0.9.8 only
|
|
|
|
|
bool InsertAlchemist2PSPHook(); // PSP Alchemist-net.co.jp
|
|
|
|
|
bool InsertBandaiNamePSPHook(); // PSP Bandai.co.jp
|
|
|
|
|
bool InsertBandaiPSPHook(); // PSP Bandai.co.jp
|
|
|
|
|
bool InsertBroccoliPSPHook(); // PSP Broccoli.co.jp
|
|
|
|
|
bool InsertFelistellaPSPHook(); // PSP felistella.co.jp
|
|
|
|
|
|
|
|
|
|
bool InsertCyberfrontPSPHook(); // PSP CYBERFRONT (closed)
|
|
|
|
|
bool InsertImageepochPSPHook(); // PSP Imageepoch.co.jp
|
|
|
|
|
bool InsertImageepoch2PSPHook();// PSP Imageepoch.co.jp
|
|
|
|
|
bool InsertKadokawaNamePSPHook(); // PSP Kadokawa.co.jp
|
|
|
|
|
bool InsertKonamiPSPHook(); // PSP Konami.jp
|
|
|
|
|
bool InsertTecmoPSPHook(); // PSP Koeitecmo.co.jp
|
|
|
|
|
//bool InsertTypeMoonPSPHook(); // PSP Typemoon.com
|
|
|
|
|
|
|
|
|
|
bool InsertOtomatePSPHook(); // PSP Otomate.jp, 0.9.8 only
|
|
|
|
|
//bool InsertOtomate2PSPHook(); // PSP otomate.jp >= 0.9.9.1
|
|
|
|
|
|
|
|
|
|
bool InsertIntensePSPHook(); // PSP Intense.jp
|
|
|
|
|
bool InsertKidPSPHook(); // PSP Kid-game.co.jp
|
|
|
|
|
bool InsertNippon1PSPHook(); // PSP Nippon1.jp
|
|
|
|
|
bool InsertNippon2PSPHook(); // PSP Nippon1.jp
|
|
|
|
|
bool InsertYetiPSPHook(); // PSP Yetigame.jp
|
|
|
|
|
bool InsertYeti2PSPHook(); // PSP Yetigame.jp
|
|
|
|
|
|
|
|
|
|
// Game-speicific engines
|
|
|
|
|
bool InsertShinyDaysGameHook(); // ShinyDays
|
|
|
|
|
bool InsertLovaGameHook(); // lova.jp
|
|
|
|
|
|
|
|
|
|
// PC engines
|
|
|
|
|
|
|
|
|
|
bool Insert2RMHook(); // 2RM - Adventure Engine
|
|
|
|
|
bool Insert5pbHook(); // 5pb.jp, PSP/PS3 games ported to PC
|
|
|
|
|
bool InsertAB2TryHook(); // Yane@AkabeiSoft2Try: YaneSDK.dll.
|
|
|
|
|
bool InsertAbelHook(); // Abel
|
|
|
|
|
bool InsertAdobeAirHook(); // Adobe AIR
|
2018-07-17 02:04:21 +08:00
|
|
|
|
bool InsertAIRNovelHook(); // AIRNovel: *.swf
|
2016-01-05 23:01:17 +08:00
|
|
|
|
bool InsertAdobeFlash10Hook(); // Adobe Flash Player 10
|
|
|
|
|
bool InsertAliceHook(); // System40@AliceSoft; do not work for latest alice games
|
|
|
|
|
//bool InsertAmuseCraftHook(); // AMUSE CRAFT: *.pac
|
|
|
|
|
bool InsertAnex86Hook(); // Anex86: anex86.exe
|
|
|
|
|
bool InsertAOSHook(); // AOS: *.aos
|
|
|
|
|
bool InsertApricoTHook(); // Apricot: arc.a*
|
|
|
|
|
bool InsertArtemisHook(); // Artemis Engine: *.pfs
|
2023-07-30 17:48:24 +08:00
|
|
|
|
bool InsertAtelierHooks(); // Atelier Kaguya: message.dat
|
2016-01-05 23:01:17 +08:00
|
|
|
|
bool InsertBGIHook(); // BGI: BGI.*
|
2018-08-29 10:06:20 +08:00
|
|
|
|
bool InsertBaldrHook(); // Baldr Sky "Zero"
|
2016-01-05 23:01:17 +08:00
|
|
|
|
bool InsertBootupHook(); // Bootup: Bootup.dat
|
|
|
|
|
bool InsertC4Hook(); // C4: C4.EXE or XEX.EXE
|
|
|
|
|
bool InsertCaramelBoxHook(); // Caramel: *.bin
|
|
|
|
|
bool InsertCandyHook(); // SystemC@CandySoft: *.fpk
|
2023-07-30 17:45:18 +08:00
|
|
|
|
bool InsertCatSystemHooks(); // CatSystem2: *.int
|
2016-01-05 23:01:17 +08:00
|
|
|
|
bool InsertCMVSHook(); // CMVS: data/pack/*.cpz; do not support the latest cmvs32.exe and cmvs64.exe
|
|
|
|
|
bool InsertCotophaHook(); // Cotopha: *.noa
|
|
|
|
|
bool InsertDebonosuHook(); // Debonosu: bmp.bak and dsetup.dll
|
|
|
|
|
bool InsertEaglsHook(); // E.A.G.L.S: EAGLES.dll
|
|
|
|
|
bool InsertEMEHook(); // EmonEngine: emecfg.ecf
|
|
|
|
|
bool InsertEscudeHook(); // Escude
|
|
|
|
|
bool InsertEushullyHook(); // Eushully: AGERC.DLL
|
|
|
|
|
bool InsertExpHook(); // EXP: http://www.exp-inc.jp
|
|
|
|
|
bool InsertFocasLensHook(); // FocasLens: Dat/*.arc, http://www.fo-lens.net
|
|
|
|
|
bool InsertGXPHook(); // GXP: *.gxp
|
|
|
|
|
bool InsertHorkEyeHook(); // HorkEye: resource string
|
|
|
|
|
bool InsertKAGParserHook(); // plugin/KAGParser.dll
|
|
|
|
|
bool InsertKAGParserExHook(); // plugin/KAGParserEx.dll
|
|
|
|
|
bool InsertKiriKiriHook(); // KiriKiri: *.xp3, resource string
|
|
|
|
|
bool InsertKiriKiriZHook(); // KiriKiri: *.xp3, resource string
|
|
|
|
|
bool InsertLeafHook(); // Leaf: *.pak
|
|
|
|
|
bool InsertLiveHook(); // Live: live.dll
|
2019-08-12 18:13:45 +08:00
|
|
|
|
bool InsertLightvnHook(); // Light.vn: Engine.dll & BugTrapU.dll
|
2016-01-05 23:01:17 +08:00
|
|
|
|
bool InsertLunaSoftHook(); // LunaSoft: Pac/*.pac
|
|
|
|
|
bool InsertMalieHook(); // Malie@light: malie.ini
|
2023-09-29 01:04:58 +08:00
|
|
|
|
bool InsertMajiroHooks(); // Majiro: *.arc
|
2016-01-05 23:01:17 +08:00
|
|
|
|
bool InsertMarineHeartHook(); // Marine Heart: SAISYS.exe
|
|
|
|
|
bool InsertMBLHook(); // MBL: *.mbl
|
|
|
|
|
bool InsertMEDHook(); // MED: *.med
|
|
|
|
|
bool InsertMinkHook(); // Mink: *.at2
|
|
|
|
|
//bool InsertMonoHook(); // Mono (Unity3D): */Mono/mono.dll
|
2016-12-10 13:26:43 +08:00
|
|
|
|
bool InsertNekopackHook(); // Nekopack: *.dat
|
2023-10-28 17:20:53 +08:00
|
|
|
|
bool InsertNeXASHooks(); // NeXAS: Thumbnail.pac
|
2016-01-05 23:01:17 +08:00
|
|
|
|
bool InsertNextonHook(); // NEXTON: aInfo.db
|
|
|
|
|
bool InsertNexton1Hook();
|
2023-09-19 22:21:06 +08:00
|
|
|
|
bool InsertNitroplusHooks(); // Nitroplus: *.npa
|
2020-05-23 13:35:16 +08:00
|
|
|
|
bool InsertTokyoNecroHook(); // Nitroplus TokyoNecro: *.npk, resource string
|
2016-01-05 23:01:17 +08:00
|
|
|
|
bool InsertPalHook(); // AMUSE CRAFT: *.pac
|
|
|
|
|
bool InsertPensilHook(); // Pensil: PSetup.exe
|
2023-07-28 06:39:09 +08:00
|
|
|
|
bool InsertPONScripterHooks();
|
2016-01-05 23:01:17 +08:00
|
|
|
|
bool InsertQLIEHook(); // QLiE: GameData/*.pack
|
|
|
|
|
//bool InsertRai7Hook(); // Rai7puk: rai7.exe
|
|
|
|
|
bool InsertRejetHook(); // Rejet: Module/{gd.dat,pf.dat,sd.dat}
|
|
|
|
|
bool InsertRUGPHook(); // rUGP: rUGP.exe
|
2018-08-10 03:27:44 +08:00
|
|
|
|
bool InsertRenpyHook(); // Ren'py: python27.dll
|
2016-01-05 23:01:17 +08:00
|
|
|
|
bool InsertRetouchHook(); // Retouch: resident.dll
|
|
|
|
|
bool InsertRREHook(); // RunrunEngine: rrecfg.rcf
|
|
|
|
|
bool InsertShinaHook(); // ShinaRio: Rio.ini
|
|
|
|
|
bool InsertElfHook(); // elf: Silky.exe
|
|
|
|
|
bool InsertScenarioPlayerHook();// sol-fa-soft: *.iar && *.sec5
|
|
|
|
|
bool InsertSiglusHook(); // SiglusEngine: SiglusEngine.exe
|
|
|
|
|
bool InsertSideBHook(); // SideB: Copyright side-B
|
|
|
|
|
bool InsertSilkysHook(); // SilkysPlus
|
|
|
|
|
bool InsertSyuntadaHook(); // Syuntada: dSoh.dat
|
|
|
|
|
bool InsertSystem43Hook(); // System43@AliceSoft: AliceStart.ini
|
|
|
|
|
bool InsertSystemAoiHook(); // SystemAoi: *.vfs
|
|
|
|
|
bool InsertTamamoHook(); // Tamamo
|
2023-06-19 00:55:10 +08:00
|
|
|
|
bool InsertTanukiHooks(); // Tanuki: *.tak
|
2016-01-05 23:01:17 +08:00
|
|
|
|
bool InsertTaskforce2Hook(); // Taskforce2.exe
|
|
|
|
|
bool InsertTencoHook(); // Tenco: Check.mdx
|
|
|
|
|
bool InsertTriangleHook(); // Triangle: Execle.exe
|
2018-09-21 09:17:51 +08:00
|
|
|
|
bool InsertV8Hook(HMODULE module); // V8 JavaScript runtime: has mangled v8::String::Write
|
2016-01-05 23:01:17 +08:00
|
|
|
|
bool InsertUnicornHook(); // Gsen18: *.szs|Data/*.szs
|
|
|
|
|
bool InsertWillPlusHook(); // WillPlus: Rio.arc
|
|
|
|
|
bool InsertWolfHook(); // Wolf: Data.wolf
|
2023-08-21 01:03:31 +08:00
|
|
|
|
bool InsertYukaSystemHooks(); // YukaSystem2: *.ykc
|
2016-01-05 23:01:17 +08:00
|
|
|
|
bool InsertYurisHook(); // YU-RIS: *.ypf
|
2023-10-28 17:16:56 +08:00
|
|
|
|
bool InsertKidHook(); // Kid: resource string
|
2023-10-25 00:22:07 +08:00
|
|
|
|
bool InsertISMscriptHooks(); // ISM script Engine: ism.dll
|
2023-10-14 07:54:50 +08:00
|
|
|
|
bool InsertTrianglePixHook(); // Triangle Pix: pix.bin
|
2023-09-01 03:52:43 +08:00
|
|
|
|
bool InsertOtomeHook(); // Otome: fsroot*
|
2023-08-23 01:32:27 +08:00
|
|
|
|
bool InsertYaneSDKHook(); // YaneSDK: arc/evimage.dat
|
2023-08-13 06:07:09 +08:00
|
|
|
|
bool InsertBishopHook(); // Bishop: *.bsa
|
2023-06-07 05:32:36 +08:00
|
|
|
|
bool InsertCodeXHook(); // codeX RScript: *.xfl
|
2023-06-02 20:23:03 +08:00
|
|
|
|
bool InsertDxLibHook(); // DxLib: *.bcx
|
2023-06-02 06:17:49 +08:00
|
|
|
|
bool InsertGameMakerHook(); // GameMaker: GMResource.dll
|
2016-01-05 23:01:17 +08:00
|
|
|
|
|
|
|
|
|
void InsertBrunsHook(); // Bruns: bruns.exe
|
|
|
|
|
void InsertIronGameSystemHook();// IroneGameSystem: igs_sample.exe
|
|
|
|
|
void InsertLucifenHook(); // Lucifen@Navel: *.lpk
|
|
|
|
|
void InsertRyokuchaHook(); // Ryokucha: _checksum.exe
|
|
|
|
|
void InsertRealliveHook(); // RealLive: RealLive*.exe
|
|
|
|
|
void InsertStuffScriptHook(); // Stuff: *.mpk
|
2020-03-01 09:32:58 +08:00
|
|
|
|
bool InsertTinkerBellHook(); // TinkerBell: arc00.dat
|
2020-08-12 16:18:39 +08:00
|
|
|
|
bool InsertWaffleHook(); // WAFFLE: cg.pak
|
2023-09-24 02:27:31 +08:00
|
|
|
|
bool InsertSekaiProjectHooks(); // Sekai Project: Packs/*.GPK
|
2023-10-20 02:29:54 +08:00
|
|
|
|
bool InsertNitroplusSysHook(); // NitroplusSystem: resource string && system.dll
|
2023-08-18 01:46:34 +08:00
|
|
|
|
bool InsertAtelierGSHooks(); // Atelier GAME_SYS: game_sys.exe, resource string
|
|
|
|
|
bool InsertAtelierADV10Hook(); // Atelier ADV10: ADV10.EXE, resource string
|
2023-08-07 05:55:16 +08:00
|
|
|
|
bool InsertAquaplusHooks(); // Aquaplus: Data/*.pck
|
2023-08-06 07:07:47 +08:00
|
|
|
|
bool InsertCielHooks(); // Ciel: sys/kidoku.dat
|
2023-08-02 06:07:55 +08:00
|
|
|
|
bool InsertA98sysHook(); // A98sys: A98SYS.PAK
|
2023-06-01 02:36:17 +08:00
|
|
|
|
bool InsertKaleidoHook(); // Kaleido ADV Workshop: windata/script_body.bin
|
2023-05-05 05:22:22 +08:00
|
|
|
|
bool InsertRpgmXPHook(); // Rpgm XP: *.rgssad
|
2023-04-30 06:28:20 +08:00
|
|
|
|
bool InsertMinoriHooks(); // Minori: *.paz
|
2023-04-25 07:07:20 +08:00
|
|
|
|
bool InsertSystemNNNHooks(); // System-NNN: nya/configse.xtx
|
2016-01-05 23:01:17 +08:00
|
|
|
|
|
2023-04-14 06:56:29 +08:00
|
|
|
|
bool InsertAges7Hook(); // AGES 7.0: Ages3ResT.dll
|
|
|
|
|
|
2016-01-05 23:01:17 +08:00
|
|
|
|
// CIRCUS: avdata/
|
|
|
|
|
bool InsertCircusHook1();
|
|
|
|
|
bool InsertCircusHook2();
|
|
|
|
|
|
2023-04-22 00:40:02 +08:00
|
|
|
|
bool InsertDmmHooks(); // DMM: Data/Exi_UT2.sdat
|
|
|
|
|
|
2016-01-05 23:01:17 +08:00
|
|
|
|
} // namespace Engine
|
|
|
|
|
|
|
|
|
|
// EOF
|