mirror of
https://gitlab.com/hashborgir/CharmZone-1.10.git
synced 2024-10-05 17:15:59 +00:00
CharmZone Working. Need to test with ini modifications.
This commit is contained in:
parent
54c085f7fb
commit
f88ca7c2f2
101
D2Patch.h
101
D2Patch.h
@ -50,6 +50,11 @@ uint32_t reverseHexBytes(uint32_t hexNumber) {
|
|||||||
|
|
||||||
static const DLLPatchStrc gptTemplatePatches[] =
|
static const DLLPatchStrc gptTemplatePatches[] =
|
||||||
{
|
{
|
||||||
|
//////////////////////////////
|
||||||
|
// //
|
||||||
|
// D2COMMON PATCHES //
|
||||||
|
// //
|
||||||
|
//////////////////////////////
|
||||||
{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F65FEF4), (DWORD)PATCH_JMP, FALSE, 0x01},
|
{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F65FEF4), (DWORD)PATCH_JMP, FALSE, 0x01},
|
||||||
{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F65FEF5), (DWORD)reverseHexBytes(0x77D60200), FALSE, 0x00},
|
{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F65FEF5), (DWORD)reverseHexBytes(0x77D60200), FALSE, 0x00},
|
||||||
|
|
||||||
@ -99,57 +104,63 @@ static const DLLPatchStrc gptTemplatePatches[] =
|
|||||||
// Patching RETN 8 at address 0x6F68D5A0
|
// Patching RETN 8 at address 0x6F68D5A0
|
||||||
{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D5A0), (DWORD)(0x0008C2), FALSE, 0x0},
|
{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D5A0), (DWORD)(0x0008C2), FALSE, 0x0},
|
||||||
|
|
||||||
|
//////////////////////////////
|
||||||
|
// //
|
||||||
|
// D2CLIENT PATCHES //
|
||||||
|
// //
|
||||||
|
//////////////////////////////
|
||||||
|
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAE118F), (DWORD)PATCH_JMP, FALSE, 0x00},
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAE1190), (DWORD)reverseHexBytes(0x6CB30800), FALSE, 0x00},
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAE1194), (DWORD)0x90, FALSE, 0x03},
|
||||||
|
|
||||||
|
// Patching TEST EAX,EAX at address 0x6FB6C500
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C500), (DWORD)(0xC085), FALSE, 0x00},
|
||||||
|
|
||||||
|
// Patching JE 6FAE1283 at address 0x6FB6C502
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C502), (DWORD)(0x840F), FALSE, 0x00},
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C504), (DWORD)reverseHexBytes(0x7B4DF7FF), FALSE, 0x00},
|
||||||
|
|
||||||
|
// Patching PUSH 0D at address 0x6FB6C508
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C508), (DWORD)(0x0D6A), FALSE, 0x00},
|
||||||
|
|
||||||
|
// Patching PUSH ESI at address 0x6FB6C50A
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C50A), (DWORD)(0x56), FALSE, 0x00},
|
||||||
|
|
||||||
|
// Patching CALL <JMP.&D2Common.#10731> at address 0x6FB6C50B
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C50B), (DWORD)(0xE8), FALSE, 0x01},
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C50C), (DWORD)reverseHexBytes(0x10E7FFFF), FALSE, 0x00},
|
||||||
|
|
||||||
|
// Patching TEST EAX,EAX at address 0x6FB6C510
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C510), (DWORD)(0xC085), FALSE, 0x00},
|
||||||
|
// Patching JE 6FAE1197 at address 0x6FB6C512
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C512), (DWORD)(0x840F), FALSE, 0x00},
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C514), (DWORD)reverseHexBytes(0x7F4CF7FF), FALSE, 0x00},
|
||||||
|
|
||||||
|
// Patching MOV EAX,DWORD PTR SS:[ESP+20] at address 0x6FB6C518
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C518), (DWORD)reverseHexBytes(0x8B44E420), FALSE, 0x00},
|
||||||
|
// Patching PUSH EAX at address 0x6FB6C51C
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C51C), (DWORD)(0x50), FALSE, 0x01},
|
||||||
|
// Patching PUSH ESI at address 0x6FB6C51D
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C51D), (DWORD)(0x56), FALSE, 0x01},
|
||||||
|
// Patching CALL <JMP.&D2Common.#10840> at address 0x6FB6C51E
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C51E), (DWORD)(0xE8), FALSE, 0x01},
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C51F), (DWORD)reverseHexBytes(0x19EFFFFF), FALSE, 0x00},
|
||||||
|
|
||||||
|
|
||||||
//// Patching TEST EAX, EAX at address 0x6F68D570
|
// Patching TEST EAX,EAX at address 0x6FB6C523
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D570), (DWORD)(0x85C0), FALSE, 0x00},
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C523), (DWORD)(0xC085), FALSE, 0x00},
|
||||||
//// Patching JNE SHORT 6F68D577 at address 0x6F68D572
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D572), (DWORD)(0x7503), FALSE, 0x00},
|
|
||||||
//// Patching RETN 8 at address 0x6F68D574
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D574), (DWORD)(0xC20800), FALSE, 0x00},
|
|
||||||
//// Patching MOV EAX,DWORD PTR SS:[ESP+4] at address 0x6F68D577
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D577), (DWORD)reverseHexBytes(0x8B44E404), FALSE, 0x00},
|
|
||||||
//// Patching MOV EAX,DWORD PTR DS:[EAX+2C] at address 0x6F68D57B
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D57B), (DWORD)(0x8B402C), FALSE, 0x00},
|
|
||||||
|
|
||||||
//// Patching CMP DWORD PTR DS:[EAX+0C],leftBorder at address 0x6F68D57E
|
// Patching JE 6FAE1283 at address 0x6FB6C525
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D57E), (DWORD)(0x83780C), FALSE, 0x0},
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C525), (DWORD)(0x840F), FALSE, 0x00},
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D581), (DWORD)leftBorder, FALSE, 0x01},
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C527), (DWORD)reverseHexBytes(0x584DF7FF), FALSE, 0x00},
|
||||||
//// Patching JB SHORT 6F68D59E at address 0x6F68D582
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D582), (DWORD)(0x721A), FALSE, 0x0},
|
// Patching JMP 6FAE1197 at address 0x6FB6C52B
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C52B), (DWORD)(0xE9), FALSE, 0x01},
|
||||||
|
{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C52C), (DWORD)reverseHexBytes(0x674CF7FF), FALSE, 0x00},
|
||||||
|
|
||||||
//// Patching CMP DWORD PTR DS:[EAX+0C],rightBorder at address 0x6F68D584
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D584), (DWORD)(0x83780C), FALSE, 0x0},
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D587), (DWORD)rightBorder, FALSE, 0x01},
|
|
||||||
//// Patching JA SHORT 6F68D59E at address 0x6F68D588
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D588), (DWORD)(0x7714), FALSE, 0x0},
|
|
||||||
|
|
||||||
//// Patching CMP DWORD PTR DS:[EAX+10],topBorder at address 0x6F68D58A
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D58A), (DWORD)(0x837810), FALSE, 0x0},
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D58D), (DWORD)topBorder, FALSE, 0x01},
|
|
||||||
//// Patching JB SHORT 6F68D59E at address 0x6F68D58E
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D58E), (DWORD)(0x720E), FALSE, 0x0},
|
|
||||||
|
|
||||||
//// Patching CMP DWORD PTR DS:[EAX+10],bottomBorder at address 0x6F68D590
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D590), (DWORD)(0x837810), FALSE, 0x0},
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D593), (DWORD)bottomBorder, FALSE, 0x01},
|
|
||||||
//// Patching JA SHORT 6F68D59E at address 0x6F68D594
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D594), (DWORD)(0x7708), FALSE, 0x0},
|
|
||||||
|
|
||||||
//// Patching MOV EAX,1 at address 0x6F68D596
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D596), (DWORD)reverseHexBytes(0xB8010000), FALSE, 0x0},
|
|
||||||
//// Patching RETN 8 at address 0x6F68D59B
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D59B), (DWORD)(0xC20800), FALSE, 0x0},
|
|
||||||
//// Patching XOR EAX,EAX at address 0x6F68D59E
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D59E), (DWORD)(0x31C0), FALSE, 0x0},
|
|
||||||
//// Patching RETN 8 at address 0x6F68D5A0
|
|
||||||
//{D2DLL_D2COMMON, calculateRelativeOffsetD2Common(0x6F68D5A0), (DWORD)(0xC20800), FALSE, 0x0},
|
|
||||||
|
|
||||||
|
|
||||||
//{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAE118F), (DWORD)PATCH_JMP, FALSE, 0x00},
|
|
||||||
//{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAE1190), (DWORD)0x6CB30800, FALSE, 0x00},
|
|
||||||
//{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAE1194), (DWORD)0x90, FALSE, 0x03},
|
|
||||||
//{D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB6C500), (DWORD)customD2ClientASM, TRUE, 0x00},
|
|
||||||
|
|
||||||
{D2DLL_INVALID} // this must be the last entry in the array!
|
{D2DLL_INVALID} // this must be the last entry in the array!
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user