修复蜜蜡

This commit is contained in:
小疯
2022-09-03 17:30:34 +08:00
parent 981b40bd96
commit 9f55b5edb1
11 changed files with 875 additions and 1596 deletions

View File

@@ -318,7 +318,7 @@ void* replaceIAT(const char* pName, void* pAddr)
void** jmpAddr = (void**)pRelDyn[i].r_offset;
//printf("jmpaddr::::::::::::::::::::%X\n", pRelDyn[i].r_offset);
pOrgAddr = (void*)((char*)(*jmpAddr) + (int)jmpAddr + sizeof(void*));
CodeHook::WriteBytes(pOrgAddr, &pAddr, sizeof(pAddr));
Mem::WriteBytes(pOrgAddr, &pAddr, sizeof(pAddr));
break;
}
}
@@ -541,7 +541,7 @@ void loga()
{
int a = 1;
void* buf = malloc(4);
CodeHook::WriteBytes(buf, &a, 4);
Mem::WriteBytes(buf, &a, 4);
getConfigPath(szGamePath, sizeof(szGamePath));
unsigned int nMaxGrade = 80;
bGMMode = 1;
@@ -553,34 +553,34 @@ void loga()
//CodeHook::WriteUChar(MAIN_OFFSET(0x22069B), 0x01);
//ServerParameterScript::isDungeonOpen
CodeHook::WriteUChar(MAIN_OFFSET(0x220894), 0x01);
Mem::WriteUChar(MAIN_OFFSET(0x220894), 0x01);
//Init DataManager
CodeHook::WriteUChar(MAIN_OFFSET(0x258E80), 0xEB);
Mem::WriteUChar(MAIN_OFFSET(0x258E80), 0xEB);
//Init Level Exp
CodeHook::WriteUChar(MAIN_OFFSET(0x314ECB), 0xEB);
Mem::WriteUChar(MAIN_OFFSET(0x314ECB), 0xEB);
//Init Mob Reward
CodeHook::WriteUChar(MAIN_OFFSET(0x314FCB), 0xEB);
Mem::WriteUChar(MAIN_OFFSET(0x314FCB), 0xEB);
//CDataManager::GetSpAtLevelUp
CodeHook::WriteUChar(MAIN_OFFSET(0x318CC8), 0xE6);
Mem::WriteUChar(MAIN_OFFSET(0x318CC8), 0xE6);
//fixbug
CodeHook::WriteUChar(MAIN_OFFSET(0x31C128), 0x7E);
CodeHook::WriteUChar(MAIN_OFFSET(0x31C129), 0x06);
Mem::WriteUChar(MAIN_OFFSET(0x31C128), 0x7E);
Mem::WriteUChar(MAIN_OFFSET(0x31C129), 0x06);
CodeHook::WriteUChar(MAIN_OFFSET(0x547005), nMaxGrade);
CodeHook::WriteUChar(MAIN_OFFSET(0x61AF55), nMaxGrade);
CodeHook::WriteUChar(MAIN_OFFSET(0x61B0F3), nMaxGrade);
CodeHook::WriteUChar(MAIN_OFFSET(0x61DD28), nMaxGrade - 1);
CodeHook::WriteUChar(MAIN_OFFSET(0x61E86A), nMaxGrade);
CodeHook::WriteUChar(MAIN_OFFSET(0x61EE9C), nMaxGrade - 1);
CodeHook::WriteUChar(MAIN_OFFSET(0x6224A8), nMaxGrade - 1);
CodeHook::WriteUChar(MAIN_OFFSET(0x622929), nMaxGrade);
CodeHook::WriteUChar(MAIN_OFFSET(0x641D4B), nMaxGrade - 1);
CodeHook::WriteUChar(MAIN_OFFSET(0x647ECE), nMaxGrade);
CodeHook::WriteUChar(MAIN_OFFSET(0x647EDA), nMaxGrade);
CodeHook::WriteUChar(MAIN_OFFSET(0x647F82), nMaxGrade);
CodeHook::WriteUChar(MAIN_OFFSET(0x647F88), nMaxGrade);
CodeHook::WriteUChar(MAIN_OFFSET(0x66521D), nMaxGrade);
CodeHook::WriteUChar(MAIN_OFFSET(0x665223), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x547005), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x61AF55), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x61B0F3), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x61DD28), nMaxGrade - 1);
Mem::WriteUChar(MAIN_OFFSET(0x61E86A), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x61EE9C), nMaxGrade - 1);
Mem::WriteUChar(MAIN_OFFSET(0x6224A8), nMaxGrade - 1);
Mem::WriteUChar(MAIN_OFFSET(0x622929), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x641D4B), nMaxGrade - 1);
Mem::WriteUChar(MAIN_OFFSET(0x647ECE), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x647EDA), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x647F82), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x647F88), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x66521D), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x665223), nMaxGrade);
//SUBHOOK_SETUP(doDispatch);
SUBHOOK_SETUP(addServerHackCnt);
SUBHOOK_SETUP(put_header);
@@ -599,20 +599,20 @@ void loga()
if (nMaxGrade > 70)
{
//以下需要扩充类大小, 修改偏移
CodeHook::WriteUInt(MAIN_OFFSET(0x87162 + 3), 0xB678 + nMaxGrade * 4 + nMaxGrade * 12);
Mem::WriteUInt(MAIN_OFFSET(0x87162 + 3), 0xB678 + nMaxGrade * 4 + nMaxGrade * 12);
//CDataManager::set_reward_sp
CodeHook::WriteUInt(MAIN_OFFSET(0x318C26 + 2), 10836 + 840);
CodeHook::WriteUChar(MAIN_OFFSET(0x318C3B), nMaxGrade);
CodeHook::WriteUInt(MAIN_OFFSET(0x318C68 + 2), 10836 + 840);
CodeHook::WriteUChar(MAIN_OFFSET(0x318C79), nMaxGrade);
Mem::WriteUInt(MAIN_OFFSET(0x318C26 + 2), 10836 + 840);
Mem::WriteUChar(MAIN_OFFSET(0x318C3B), nMaxGrade);
Mem::WriteUInt(MAIN_OFFSET(0x318C68 + 2), 10836 + 840);
Mem::WriteUChar(MAIN_OFFSET(0x318C79), nMaxGrade);
//CDataManager::GetSpAtLevelUp
CodeHook::WriteUChar(MAIN_OFFSET(0x318CC4), nMaxGrade);
CodeHook::WriteUInt(MAIN_OFFSET(0x318CD4 + 2), 10836 + 840);
Mem::WriteUChar(MAIN_OFFSET(0x318CC4), nMaxGrade);
Mem::WriteUInt(MAIN_OFFSET(0x318CD4 + 2), 10836 + 840);
}
CodeHook::WriteUChar(MAIN_OFFSET(0x61B8F6), nMaxGrade);
CodeHook::WriteUChar(MAIN_OFFSET(0x622659), nMaxGrade);
CodeHook::WriteUChar(MAIN_OFFSET(0x622941), nMaxGrade);
CodeHook::WriteUChar(MAIN_OFFSET(0x622941), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x61B8F6), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x622659), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x622941), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x622941), nMaxGrade);
}