PDA

View Full Version : [10.8] Blackd Tibia addresses 10.8



blackd
07-21-2015, 21:58
; [[[[[[[[[[[[[[[[[[[[[[[[[[[
; BEGIN AUTOMATIC UPDATE ZONE
version=10.80
DefaultTibiaFolder=Tibia
LoadedUseDynamicOffset=1
useDynamicOffset=yes
tibiaclassname=TibiaClient
tibiaModuleRegionSize=&H421000
LoginServerStartPointer=&H98C0B4
LoginServerStep=&H30
HostnamePointerOffset=&H4
IPAddressPointerOffset=&H20
PortOffset=&H28
adrMulticlient=&H5AABF5
PLAYER_Z=&HAD2040
LEVELSPY_NOP=&H567920
LEVELSPY_ABOVE=&H56791C
LEVELSPY_BELOW=&H567924
LIGHT_TRICK_ADR=&H587BF2
LIGHT_TRICK_CODE=BBFF000000EB11909090
adrRSA=&H85EA30
tibiachatlog_struct=&H934990>&H40>&H3C
tibiachatlog_selchannel=&H934990>&H40>&H30>&H30
tibia_popup_title=&H93497C>&H54
MAP_POINTER_ADDR=&HB72230
OFFSET_POINTER_ADDR=&HB76D60
adrConnectionKey=&H91EBA4
adrXOR=&H934678
adrMyHP=&HAD2030
adrMyMaxHP=&HAD2024
adrMyMana=&H9346A8
adrMyMaxMana=&H93467C
adrMySoul=&H934694
adrNameStart=&HB2C060
adrNChar=&HB2C060
CharDist=&HDC
LAST_BATTLELISTPOS=1299
adrNum=&HAD202C
adrXPos=&HAD2038
adrYPos=&HAD203C
adrZPos=&HAD2040
adrConnected=&H946188
RedSquare=&H9346A4
adrLastPacket=&H944DE2
adrSelectedCharIndex=&HACEF10
adrCharListPtr=&HACEE88
adrCharListPtrEND=&HACEE8C
adrXgo=&HAD2028
adrYgo=&HAD2020
adrZgo=&HAD2034
adrGo=&HB2C0B0
adrPointerToInternalFPSminusH5D=&HB1D670
adrNumberOfAttackClick=&HAD2D18
; ]]]]]]]]]]]]]]]]]]]]]]]]]]]
; END - AUTOMATIC UPDATE ZONE

pxpxd
07-21-2015, 23:35
Thanks, man! nice work

dmThread
07-22-2015, 19:32
What kind of address's is this?

Normally it is something like: 0x72C58C , never saw address's like this.

monte321
07-23-2015, 10:17
You change &H to 0x, like &HB2C060 -> 0xB2C060

dmThread
07-23-2015, 16:48
You change &H to 0x, like &HB2C060 -> 0xB2C060

Are you sure? It's not working for tibia 10.80, everything return 0 for me. :(

c++


#include <iostream>
#include <Windows.h>
#include <string>
#include <TlHelp32.h>

//Tibia 10.80

DWORD GameModule(LPCSTR moduleName, int pId);

template<typename TYPE>
TYPE RPM(HANDLE proc, DWORD address, SIZE_T size){
TYPE buffer = TYPE();
::ReadProcessMemory(proc, (LPCVOID)address, &buffer, size, 0);
return buffer;
}

template<typename TYPE>
BOOL WPM(HANDLE proc, DWORD address, TYPE dataToWrite){
TYPE buffer = dataToWrite;
return ::WriteProcessMemory(proc, (LPVOID)address, &buffer, sizeof(buffer), 0);
}

int main()
{
std::cout << "Searching Tibia..." << std::endl;
HWND hwndTibia = NULL;
while (hwndTibia == NULL)
{
hwndTibia = ::FindWindow("TibiaClient", NULL);
Sleep(16);
}

if (!hwndTibia)
return 0;

std::cout << "Tibia found." << std::endl;

DWORD pid;
GetWindowThreadProcessId(hwndTibia, &pid);
DWORD tibiaAddr = GameModule("Tibia.exe", pid);
HANDLE proc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);

while (true){
if (tibiaAddr && proc)
{
int hp = RPM<int>(proc, (tibiaAddr + 0xAD2030), sizeof(int));
int maxHp = RPM<int>(proc, (tibiaAddr + 0xAD2024), sizeof(int));
int mana = RPM<int>(proc, (tibiaAddr + 0x9346A8), sizeof(int));
int maxMana = RPM<int>(proc, (tibiaAddr + 0x93467C), sizeof(int));
std::cout << "HP: " << hp << "/" << maxHp
<< " - Mana:" << mana << "/" << maxMana << std::endl;
}
Sleep(500);
}

CloseHandle(proc);

return 0;
}

DWORD GameModule(LPCSTR moduleName, int pId)
{
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pId);
MODULEENTRY32 allinfo;
BOOL haveProcess = Module32First(hSnapShot, &allinfo);
while (haveProcess)
{
if (!strcmp(moduleName, allinfo.szModule))
{
return (DWORD)allinfo.modBaseAddr;
}
haveProcess = Module32Next(hSnapShot, &allinfo);
}
return 0;
}

Diemorko
07-23-2015, 22:46
You should also -400000

dmThread
07-26-2015, 04:37
You should also -400000

What? Example.

Diemorko
07-28-2015, 13:42
#include <iostream>
#include <Windows.h>
#include <string>
#include <TlHelp32.h>

//Tibia 10.80

DWORD GameModule(LPCSTR moduleName, int pId);

template<typename TYPE>
TYPE RPM(HANDLE proc, DWORD address, SIZE_T size){
TYPE buffer = TYPE();
::ReadProcessMemory(proc, (LPCVOID)address, &buffer, size, 0);
return buffer;
}

template<typename TYPE>
BOOL WPM(HANDLE proc, DWORD address, TYPE dataToWrite){
TYPE buffer = dataToWrite;
return ::WriteProcessMemory(proc, (LPVOID)address, &buffer, sizeof(buffer), 0);
}

int main()
{
std::cout << "Searching Tibia..." << std::endl;
HWND hwndTibia = NULL;
while (hwndTibia == NULL)
{
hwndTibia = ::FindWindow("TibiaClient", NULL);
Sleep(16);
}

if (!hwndTibia)
return 0;

std::cout << "Tibia found." << std::endl;

DWORD pid;
GetWindowThreadProcessId(hwndTibia, &pid);
DWORD tibiaAddr = GameModule("Tibia.exe", pid);
HANDLE proc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);

while (true){
if (tibiaAddr && proc)
{
int hp = RPM<int>(proc, (tibiaAddr + 0x6D2030), sizeof(int));
int maxHp = RPM<int>(proc, (tibiaAddr + 0x6D2024), sizeof(int));
int mana = RPM<int>(proc, (tibiaAddr + 0x5346A8), sizeof(int));
int maxMana = RPM<int>(proc, (tibiaAddr + 0x53467C), sizeof(int));
std::cout << "HP: " << hp << "/" << maxHp
<< " - Mana:" << mana << "/" << maxMana << std::endl;
}
Sleep(500);
}

CloseHandle(proc);

return 0;
}

DWORD GameModule(LPCSTR moduleName, int pId)
{
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pId);
MODULEENTRY32 allinfo;
BOOL haveProcess = Module32First(hSnapShot, &allinfo);
while (haveProcess)
{
if (!strcmp(moduleName, allinfo.szModule))
{
return (DWORD)allinfo.modBaseAddr;
}
haveProcess = Module32Next(hSnapShot, &allinfo);
}
return 0;
}


Try this ;-)

dmThread
07-31-2015, 22:12
ow, ok, ty!

Just subtract -400000 from address.

=)

Btw, what is adrXOR usefull for?