A simple patch loader for Geode. Supports MHv5, MHv6, GDHM and its own format. Integrates with MHv7 if installed.
Press [Caps Lock] to open the menu.
Click "Open Patches Folder" and put your patch files in there:
- root folder contains patches designed specifically for Simple Patch Loader
mhv5
sub-folder contains patches designed for Mega Hack v5mhv6
sub-folder contains patches designed for Mega Hack v6gdhm
sub-folder contains patches designed for GD HackerModeold-gdhm
sub-folder contains patches designed for old versions of GDHM
You can download MHv5's hacks directly from SPL using the "Download MHv5 hacks" button.
You can also download GDHM (see video description)
and copy the .json files from .GDHM/mod
into gdhm
in SPL's patches folder.
- The file name is the category ID
- The file in JSON format
- Root object contains
name
andpatches
name
is a string which is the category namepatches
is an object containing the patches- The keys are patch IDs
- The values are objects, containing
name
,description
andaddress
name
is the patch namedescription
is the patch description shown when hovering in the menu (doesn't work when SPL is used with MHv7)address
is an object, containing the actual patches- The keys have the following syntax:
module signature offsets
- (optional)
module
- base module name (such aslibcocos2d.dll
), defaults to the base module (GD itself) - (optional)
signature
- signature to use to scan for an address in the selected module, sets current address to the found address offsets
- offsets from the current address- uses Reverse Polish Notation, so
0x3 0x1 -
results in0x2
- uses Reverse Polish Notation, so
- (optional)
- The keys have the following syntax:
{
"name": "Test",
"patches": {
"test-patch": {
"name": "Test Patch",
"description": "old accurate percentage",
"address": {
"0x208114": "C7 02 25 66 25 25 8B 87 C0 03 00 00 8B B0 04 01 00 00 F3 0F 5A C0 83 EC 08 F2 0F 11 04 24 83 EC 04 89 14 24 90",
"0x20813F": "83 C4 0C"
}
},
"test-2": {
"name": "Test 2",
"description": "new accurate percentage",
"address": {
"[33 C9 F3 0F 10 00 F3 0F 5E 87 B4 03 00 ?? ?? ?? ?? 05]": "F3 0F 10 00 F3 0F 5E 87 B4 03 00 00 BA ref:0x2E65C0 F3 0F 59 02 0F 2F 02 76 04 F3 0F 10 02 8B 87 C0 03 00 00 8B B0 04 01 00 00 F3 0F 5A C0 83 EC 08 F2 0F 11 04 24 68 ref:0x2881B0",
"0x20813F": "83 C4 0C",
"0x2881B0": "25 2E 32 66 25 25 00"
}
},
"test-3": {
"name": "Test 3",
"description": "new accurate percentage but with offsets",
"address": {
"[C9 F3 0F 10 00 F3 0F 5E 87 B4 03 00 ?? ?? ?? ?? 05] 0x1 -": "F3 0F 10 00 F3 0F 5E 87 B4 03 00 00 BA ref:0x2E65C0 F3 0F 59 02 0F 2F 02 76 04 F3 0F 10 02 8B 87 C0 03 00 00 8B B0 04 01 00 00 F3 0F 5A C0 83 EC 08 F2 0F 11 04 24 68 ref:0x2881B0",
"0x20813F": "83 C4 0C",
"0x2881B0": "25 2E 32 66 25 25 00"
}
},
"test-4": {
"name": "uwu :3",
"description": "no paritcles",
"address": {
"libcocos2d.dll 0xB76C5": "31 F6",
"libcocos2d.dll 0xB8ED6": "00"
}
}
}
}