Moderators: g3nuin3, SpeedWing, WhiteHat, mezzo
DWORD dwPlayerRed_Gold = 0;
ReadProcessMemory( hProcess, (LPCVOID)(0x6FAA417C+((0x0C+(0x2A*0x08)+0x04+0x64+0x08+0x40+0x78))),(LPVOID)&dwPlayerRed_Gold, sizeof( DWORD ), 0 );
[[[[[[0x6FAA4178]+0x0C]+0x0002*0x08+0x04]+0x64]+0x08]+0x40]+0x78 // 1st Player
[[[[[[0x6FAA4178]+0x0C]+0x002A*0x08+0x04]+0x64]+0x08]+0x40]+0x78 // 2nd Player
[[[[[[0x6FAA4178]+0x0C]+0x0052*0x08+0x04]+0x64]+0x08]+0x40]+0x78 // 3rd Player
[[[[[[0x6FAA4178]+0x0C]+0x007A*0x08+0x04]+0x64]+0x08]+0x40]+0x78 // 4th Player
[[[[[[0x6FAA4178]+0x0C]+0x00A2*0x08+0x04]+0x64]+0x08]+0x40]+0x78 // 5th Player
[[[[[[0x6FAA4178]+0x0C]+0x00CA*0x08+0x04]+0x64]+0x08]+0x40]+0x78 // 6th Player
[[[[[[0x6FAA4178]+0x0C]+0x00F2*0x08+0x04]+0x64]+0x08]+0x40]+0x78 // 7th Player
[[[[[[0x6FAA4178]+0x0C]+0x011A*0x08+0x04]+0x64]+0x08]+0x40]+0x78 // 8th Player
[[[[[[0x6FAA4178]+0x0C]+0x0142*0x08+0x04]+0x64]+0x08]+0x40]+0x78 // 9th Player
[[[[[[0x6FAA4178]+0x0C]+0x016A*0x08+0x04]+0x64]+0x08]+0x40]+0x78 // 10th Player
[[[[[[0x6FAA4178]+0x0C]+0x0192*0x08+0x04]+0x64]+0x08]+0x40]+0x78 // 11th Player
[[[[[[0x6FAA4178]+0x0C]+0x01BA*0x08+0x04]+0x64]+0x08]+0x40]+0x78 // 12th Player
#include <windows.h>
#include <iostream>
using namespace std;
void EnableDebugPrivilege( ); // More access
int main( int argc, char* argv[ ] ) {
DWORD dwProcessID = 0;
HANDLE hProcess = 0;
printf( "Enter Warcraft III PID : " );
cin >> dwProcessID;
cin.sync( );
EnableDebugPrivilege( );
hProcess = OpenProcess( PROCESS_ALL_ACCESS, 0, dwProcessID );
if( !hProcess ) {
printf( "\n\nUnable to open process handle!" );
CloseHandle( hProcess );
getchar( );
return 0;
}
// [[[[[[0x6FAA4178]+0x0C]+0x0002*0x08+0x04]+0x64]+0x08]+0x40]+0x78
DWORD dwPlayerRed_Gold = 0;
DWORD dwBuffer = 0;
DWORD dwCurrentAddress = 0x6FAA4178;
ReadProcessMemory( hProcess, (LPCVOID)dwCurrentAddress,(LPVOID)&dwBuffer, sizeof( DWORD ), 0 ); dwCurrentAddress = dwBuffer + 0x0C;
ReadProcessMemory( hProcess, (LPCVOID)dwCurrentAddress,(LPVOID)&dwBuffer, sizeof( DWORD ), 0 ); dwCurrentAddress = dwBuffer + ( ( 0x0002 * 0x08 ) + 0x04 );
ReadProcessMemory( hProcess, (LPCVOID)dwCurrentAddress,(LPVOID)&dwBuffer, sizeof( DWORD ), 0 ); dwCurrentAddress = dwBuffer + 0x64;
ReadProcessMemory( hProcess, (LPCVOID)dwCurrentAddress,(LPVOID)&dwBuffer, sizeof( DWORD ), 0 ); dwCurrentAddress = dwBuffer + 0x08;
ReadProcessMemory( hProcess, (LPCVOID)dwCurrentAddress,(LPVOID)&dwBuffer, sizeof( DWORD ), 0 ); dwCurrentAddress = dwBuffer + 0x40;
ReadProcessMemory( hProcess, (LPCVOID)dwCurrentAddress,(LPVOID)&dwBuffer, sizeof( DWORD ), 0 ); dwCurrentAddress = dwBuffer + 0x78;
ReadProcessMemory( hProcess, (LPCVOID)dwCurrentAddress,(LPVOID)&dwPlayerRed_Gold, sizeof( DWORD ), 0 );
printf( "\n\nPlayer Red Gold : %d", ( dwPlayerRed_Gold / 10 ) );
CloseHandle( hProcess );
getchar( );
return 0;
}
void EnableDebugPrivilege( ) {
TOKEN_PRIVILEGES priv;
HANDLE hThis, hToken;
LUID luid;
hThis = GetCurrentProcess();
OpenProcessToken(hThis, TOKEN_ADJUST_PRIVILEGES, &hToken);
LookupPrivilegeValue(0, "seDebugPrivilege", &luid);
priv.PrivilegeCount = 1;
priv.Privileges[0].Luid = luid;
priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, false, &priv, 0, 0, 0);
CloseHandle(hToken);
CloseHandle(hThis);
}
class CMemReader {
public :
HANDLE m_hProc;
UINT_PTR GetExtDword( UINT_PTR dwAddress ) {
UINT_PTR dwRet = 0;
ReadProcessMemory( m_hProc, (LPCVOID)dwAddress, sizeof( UINT_PTR ), NULL );
return dwRet;
}
};
…
// Read in Complex-Address format.
// [[[[[[0x6FAA4178]+0x0C]+0x0002*0x08+0x04]+0x64]+0x08]+0x40]+0x78
CMemReader mrRdr;
mrRdr.m_hProc = hProcess;
UINT_PTR dwVal = mrRdr.GetExtDword( mrRdr.GetExtDword( mrRdr.GetExtDword( mrRdr.GetExtDword( mrRdr.GetExtDword( mrRdr.GetExtDword( 0x6FAA4178 )+0x0C )+0x0002*0x08+0x04 )+0x64 )+0x08 )+0x40 )+0x78;
// One more to get the value there.
dwVal = mrRdr.GetExtDword( dwVal );
I am not even sure you defined the base address correctly... dont you have to add a "h" after it?
Steiner wrote:Why this complex address works only for dota? So I need to search for each map a complex address ?
Users browsing this forum: No registered users and 0 guests