void CTestThread::ReadTargetHP()
{
CConsole::WriteLine("Read target hp...");
HANDLE nHandle = GetCurrentProcess();
if (nHandle) {
char message[1024] = {0};
DWORD nAddress1, nAddress2, nAddress3, nAddress4, nAddress5, nAddress6;
int nTargetHP;
// Address 1 Static Pointer = 00899FB8
if (!ReadProcessMemory(nHandle, (int *)0x899FB8, &nAddress1, sizeof(nAddress1), NULL)) {
CConsole::WriteLine("Can't target hp memory...");
return;
}
sprintf_s(message, sizeof(message), "Address1 = %x", nAddress1);
CConsole::WriteLine(message);
// Address 1 Value + 4A4 = Address 2 (Change to +4A0 for Player health)
if (!ReadProcessMemory(nHandle, (int *)(nAddress1+0x4A4), &nAddress2, sizeof(nAddress2), NULL)) {
CConsole::WriteLine("Can't target hp memory...");
return;
}
sprintf_s(message, sizeof(message), "Address2 = %x", nAddress2);
CConsole::WriteLine(message);
// Address 2 Value + 5C = Address 3
if (!ReadProcessMemory(nHandle, (int *)(nAddress2+0x5C), &nAddress3, sizeof(nAddress3), NULL)) {
CConsole::WriteLine("Can't target hp memory...");
return;
}
sprintf_s(message, sizeof(message), "Address3 = %x", nAddress3);
CConsole::WriteLine(message);
// Address 3 Value + 24 = Address 4 (Change to +104 for Player health)
if (!ReadProcessMemory(nHandle, (int *)(nAddress3+0x24), &nAddress4, sizeof(nAddress4), NULL)) {
CConsole::WriteLine("Can't target hp memory...");
return;
}
sprintf_s(message, sizeof(message), "Address4 = %x", nAddress4);
CConsole::WriteLine(message);
// Address 4 Value + 74 = Address 5
if (!ReadProcessMemory(nHandle, (int *)(nAddress4+0x74), &nAddress5, sizeof(nAddress5), NULL)) {
CConsole::WriteLine("Can't target hp memory...");
return;
}
sprintf_s(message, sizeof(message), "Address5 = %x", nAddress5);
CConsole::WriteLine(message);
// Address 5 Value + 720 = Address 6
if (!ReadProcessMemory(nHandle, (int *)(nAddress5+0x720), &nAddress6, sizeof(nAddress6), NULL)) {
CConsole::WriteLine("Can't target hp memory...");
return;
}
sprintf_s(message, sizeof(message), "Address6 = %x", nAddress6);
CConsole::WriteLine(message);
// Address 6 Value = Mob Hp (or Player Hp if change above 2 values in brackets)
if (!ReadProcessMemory(nHandle, (int *)(nAddress6), &nTargetHP, sizeof(nTargetHP), NULL)) {
CConsole::WriteLine("Can't target hp memory...");
return;
}
// Debug output
sprintf_s(message, sizeof(message), "TargetHP = %i", nTargetHP);
CConsole::WriteLine(message);
}
}
|