Well, this might be kinda kinda weird that I post this here. But anyway, I'm working on an auto updater for my guild website, where it will gather guild information and store it. We have already parsed the structure of the list, but we have actually no clue how/where the base pointer (static one) is actually stored. Maybe someone will know it... ^^
Just an example of what I've got now (I have also other stats, but didn't want to take to much space here...):
Code:
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
template<typename _ret_t> _ret_t ReadMemory(char Caption[], int long Address)
{
DWORD PROC_ID;
HANDLE PROC_HANDLE;
_ret_t ret;
GetWindowThreadProcessId(FindWindow(NULL, (LPCTSTR)Caption), &PROC_ID);
PROC_HANDLE = OpenProcess(PROCESS_ALL_ACCESS, false, PROC_ID);
ReadProcessMemory(PROC_HANDLE, (void*)Address, &ret, sizeof(_ret_t), NULL);
CloseHandle(PROC_HANDLE);
return ret;
}
int main()
{
char *process = "SRO_Client";
int pointer = ReadMemory<unsigned long>(process, 0xCF197C);
int CurHP = pointer + 0x44C;
int MaxHP = pointer + 0x444;
int CurMP = pointer + 0x440;
int MaxMP = pointer + 0x448;
int Level = pointer + 0x1938;
return 0;
}
PS: If this shouldn't be here, PM me and I'll delete the thread if there won't be any posts, yet... else I'll have to PM a mod. ^^