修复 商城购买赠送物品

This commit is contained in:
小疯
2022-09-13 22:47:38 +08:00
parent cdca473ec3
commit eb080e87fb
108 changed files with 40249 additions and 104 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*));
Mem::WriteBytes(pOrgAddr, &pAddr, sizeof(pAddr));
CMem::WriteBytes(pOrgAddr, &pAddr, sizeof(pAddr));
break;
}
}
@@ -553,7 +553,7 @@ void loga()
int a = 1;
void* buf = malloc(4);
Mem::WriteBytes(buf, &a, 4);
CMem::WriteBytes(buf, &a, 4);
getConfigPath(szGamePath, sizeof(szGamePath));
unsigned int nMaxGrade = 80;
bGMMode = 1;
@@ -565,34 +565,34 @@ void loga()
//CodeHook::WriteUChar(MAIN_OFFSET(0x22069B), 0x01);
//ServerParameterScript::isDungeonOpen
Mem::WriteUChar(MAIN_OFFSET(0x220894), 0x01);
CMem::WriteUChar(MAIN_OFFSET(0x220894), 0x01);
//Init DataManager
Mem::WriteUChar(MAIN_OFFSET(0x258E80), 0xEB);
CMem::WriteUChar(MAIN_OFFSET(0x258E80), 0xEB);
//Init Level Exp
Mem::WriteUChar(MAIN_OFFSET(0x314ECB), 0xEB);
CMem::WriteUChar(MAIN_OFFSET(0x314ECB), 0xEB);
//Init Mob Reward
Mem::WriteUChar(MAIN_OFFSET(0x314FCB), 0xEB);
CMem::WriteUChar(MAIN_OFFSET(0x314FCB), 0xEB);
//CDataManager::GetSpAtLevelUp
Mem::WriteUChar(MAIN_OFFSET(0x318CC8), 0xE6);
CMem::WriteUChar(MAIN_OFFSET(0x318CC8), 0xE6);
//fixbug
Mem::WriteUChar(MAIN_OFFSET(0x31C128), 0x7E);
Mem::WriteUChar(MAIN_OFFSET(0x31C129), 0x06);
CMem::WriteUChar(MAIN_OFFSET(0x31C128), 0x7E);
CMem::WriteUChar(MAIN_OFFSET(0x31C129), 0x06);
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);
CMem::WriteUChar(MAIN_OFFSET(0x547005), nMaxGrade);
CMem::WriteUChar(MAIN_OFFSET(0x61AF55), nMaxGrade);
CMem::WriteUChar(MAIN_OFFSET(0x61B0F3), nMaxGrade);
CMem::WriteUChar(MAIN_OFFSET(0x61DD28), nMaxGrade - 1);
CMem::WriteUChar(MAIN_OFFSET(0x61E86A), nMaxGrade);
CMem::WriteUChar(MAIN_OFFSET(0x61EE9C), nMaxGrade - 1);
CMem::WriteUChar(MAIN_OFFSET(0x6224A8), nMaxGrade - 1);
CMem::WriteUChar(MAIN_OFFSET(0x622929), nMaxGrade);
CMem::WriteUChar(MAIN_OFFSET(0x641D4B), nMaxGrade - 1);
CMem::WriteUChar(MAIN_OFFSET(0x647ECE), nMaxGrade);
CMem::WriteUChar(MAIN_OFFSET(0x647EDA), nMaxGrade);
CMem::WriteUChar(MAIN_OFFSET(0x647F82), nMaxGrade);
CMem::WriteUChar(MAIN_OFFSET(0x647F88), nMaxGrade);
CMem::WriteUChar(MAIN_OFFSET(0x66521D), nMaxGrade);
CMem::WriteUChar(MAIN_OFFSET(0x665223), nMaxGrade);
//SUBHOOK_SETUP(doDispatch);
SUBHOOK_SETUP(addServerHackCnt);
SUBHOOK_SETUP(put_header);
@@ -611,20 +611,20 @@ void loga()
if (nMaxGrade > 70)
{
//以下需要扩充类大小, 修改偏移
Mem::WriteUInt(MAIN_OFFSET(0x87162 + 3), 0xB678 + nMaxGrade * 4 + nMaxGrade * 12);
CMem::WriteUInt(MAIN_OFFSET(0x87162 + 3), 0xB678 + nMaxGrade * 4 + nMaxGrade * 12);
//CDataManager::set_reward_sp
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);
CMem::WriteUInt(MAIN_OFFSET(0x318C26 + 2), 10836 + 840);
CMem::WriteUChar(MAIN_OFFSET(0x318C3B), nMaxGrade);
CMem::WriteUInt(MAIN_OFFSET(0x318C68 + 2), 10836 + 840);
CMem::WriteUChar(MAIN_OFFSET(0x318C79), nMaxGrade);
//CDataManager::GetSpAtLevelUp
Mem::WriteUChar(MAIN_OFFSET(0x318CC4), nMaxGrade);
Mem::WriteUInt(MAIN_OFFSET(0x318CD4 + 2), 10836 + 840);
CMem::WriteUChar(MAIN_OFFSET(0x318CC4), nMaxGrade);
CMem::WriteUInt(MAIN_OFFSET(0x318CD4 + 2), 10836 + 840);
}
Mem::WriteUChar(MAIN_OFFSET(0x61B8F6), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x622659), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x622941), nMaxGrade);
Mem::WriteUChar(MAIN_OFFSET(0x622941), nMaxGrade);
CMem::WriteUChar(MAIN_OFFSET(0x61B8F6), nMaxGrade);
CMem::WriteUChar(MAIN_OFFSET(0x622659), nMaxGrade);
CMem::WriteUChar(MAIN_OFFSET(0x622941), nMaxGrade);
CMem::WriteUChar(MAIN_OFFSET(0x622941), nMaxGrade);
}