here's an example of how to use classes to get what you tryna get useing a dll
hack.cpp
Code:
#include <windows.h>
#include <stdio.h>
#include <vector>
#include <string>
#include <iostream>
#include <fstream>
#include <io.h>
#include <fcntl.h>
#include "class.h"
using namespace std;
void createConsole( )
{
AllocConsole();
int hConHandle;
long lStdHandle;
FILE *fp;
lStdHandle = (long)GetStdHandle(STD_OUTPUT_HANDLE);
hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
fp = _fdopen( hConHandle, "w" );
*stdout = *fp;
setvbuf( stdout, NULL, _IONBF, 0 );
}
DWORD WINAPI Thread(LPVOID)
{
createConsole( );
DWORD swtor = (DWORD)GetModuleHandle("swtor.exe");
c_Unknown1* pUnknown1 = (c_Unknown1*)(DWORD)(*(DWORD*)(swtor + 0x0107E654));
float x = pUnknown1->c_Unknown2->c_Unknown3->c_Unknown4->c_Unknown5->pLocalPlayer->X;
cout << "X: " << x << endl;
return TRUE;
}
BOOL WINAPI DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpvReserved)
{
if(dwReason == DLL_PROCESS_ATTACH)
{
CreateThread(NULL,NULL,Thread,NULL,NULL,NULL);
}
return TRUE;
}
class.h
Code:
class c_Unknown1;
class c_Unknown2;
class c_Unknown3;
class c_Unknown4;
class c_Unknown5;
class pLocalPlayer;
class c_Unknown1 //[swtor.exe + 0x0107E654]
{
public:
char unknown0[608]; //0x0000
c_Unknown2* c_Unknown2; //0x0260
};
class c_Unknown2
{
public:
char unknown0[1120]; //0x0000
c_Unknown3* c_Unknown3; //0x0460
};
class c_Unknown3
{
public:
c_Unknown4* c_Unknown4; //0x0000
};
class c_Unknown4
{
public:
char unknown0[20]; //0x0000
c_Unknown5* c_Unknown5; //0x0014
};
class c_Unknown5
{
public:
char unknown0[8]; //0x0000
pLocalPlayer* pLocalPlayer; //0x0008
};
class pLocalPlayer
{
public:
char unknown0[40]; //0x0000
__int32 lasttarget; //0x0028
__int16 ID; //0x002C
char unknown46[18]; //0x002E
float health; //0x0040
float Partner_health; //0x0044
char unknown72[56]; //0x0048
float distancetotarget; //0x0080
char unknown132[124]; //0x0084
float X; //0x0100
float Y; //0x0104
float Z; //0x0108
char unknown268[8]; //0x010C
float Angle; //0x0114
char unknown280[8]; //0x0118
float PartnerX_Cord; //0x0120
float PartnerY_Cord; //0x0124
float PartnerZ_Cord; //0x0128
};