* Guild
o Name
o Nickname (title)
o Level
o Status (master/member)
o Donated GP
o Fortress position
* Character
o Name
o HP
o MP
o Level
o Current/Next Experience
o STR/INT/... (all stats)
o Job alias
o ...
I've already tried it (as stated before) with a memory read, but the information there stays the same from the time you login until you do not logout. Anyway, here's the script I've used for the memory readings:
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() { SetConsoleTitle("boring"); // logged in character std::cout << "Your logged in character is..." << std::endl; for (unsigned int offset = 0xF0F938; offset < 0xF0F960; offset++) { std::cout << ReadMemory<unsigned char>("SRO_Client", offset); } std::cout << std::endl; system("pause"); // ID and password for (unsigned int offset = 0x179CC68; offset < 0x179CC98; offset++) { std::cout << ReadMemory<unsigned char>("SRO_Client", offset); } std::cout << std::endl; system("pause"); // guild /* for (unsigned int offset = 0x54016D0; offset < 0x54019C0; offset++) { std::cout << ReadMemory<unsigned char>("SRO_Client", offset); } std::cout << std::endl; system("pause"); */ return 0; }
My problem can be probably solved by socket programming or something like that, not sure. Also I'd prefer it in C++, just an example, don't need more.
Thanks a lot in advance!