Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Aion
You last visited: Today at 00:53

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C++] Get Target Info from memory

Discussion on [C++] Get Target Info from memory within the Aion forum part of the MMORPGs category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2015
Posts: 2
Received Thanks: 0
Question [AION 64bit] Target Base Pointer address?

Hi guys.
Does anyone have target base pointer address for Aion 64 bit?
I found this address for Aion 32 bit by Cheat Engine, but for 64 bit not. Does anyone know how I get a true address and offsets of this memory?

Thanks for any ideas.
Xephn is offline  
Old 01/07/2015, 22:29   #2
 
elite*gold: 0
Join Date: Jan 2015
Posts: 2
Received Thanks: 0
Aah... I found thread where is the solution


And my C++ code for reading some data of player and target Name, LVL, HP etc...

[AION ver. 4.7.0.8 - 64 bit - NC]
Code:
// [AION]TargetGetInfo.cpp : Defines the entry point for the console application.
//

#include <Windows.h>
#include <stdio.h>
#include <TlHelp32.h>

DWORD GetModuleBaseAddress( DWORD dwProcessIdentifier, TCHAR *lpszModuleName );
DWORD GetProcessID( TCHAR *lpszProcessName );

int main(int argc, CHAR* argv[])
{
	DWORD PID = GetProcessID( "aion.bin" );

	if( PID != NULL )
	{
		WORD data_w = 0;
		DWORD data_dw = 0;
		byte data_b = 0;

		HANDLE PROC_HANDLE = OpenProcess( PROCESS_ALL_ACCESS, false, PID );
		DWORD hmodule_adrs = GetModuleBaseAddress( PID, "Game.dll" );

		printf("   Process ID: %d\n", PID );
		printf("Module Adress: %d\n\n", hmodule_adrs );

		// MaxEXP
		ReadProcessMemory(PROC_HANDLE, (LPCVOID)(hmodule_adrs + 0x129EB00), &data_dw, sizeof(data_dw), NULL);
		printf( "MaxEXP: %d\n", data_dw );
		// Exp
		ReadProcessMemory(PROC_HANDLE, (LPCVOID)(hmodule_adrs + 0x129EB10), &data_dw, sizeof(data_dw), NULL);
		printf( "CurExp: %d\n", data_dw );
		// MaxHP
		ReadProcessMemory(PROC_HANDLE, (LPCVOID)(hmodule_adrs + 0x129EB1C), &data_dw, sizeof(data_dw), NULL);
		printf( "MaxHP:  %d\n", data_dw );
		// HP
		ReadProcessMemory(PROC_HANDLE, (LPCVOID)(hmodule_adrs + 0x129EB20), &data_dw, sizeof(data_dw), NULL);
		printf( "CurHP:  %d\n", data_dw );
		// MaxMP
		ReadProcessMemory(PROC_HANDLE, (LPCVOID)(hmodule_adrs + 0x129EB24), &data_dw, sizeof(data_dw), NULL);
		printf( "MaxMP:  %d\n", data_dw );
		// MP
		ReadProcessMemory(PROC_HANDLE, (LPCVOID)(hmodule_adrs + 0x129EB28), &data_dw, sizeof(data_dw), NULL);
		printf( "CurMP:  %d\n", data_dw );
		// Target Selected
		ReadProcessMemory(PROC_HANDLE, (LPCVOID)(hmodule_adrs + 0xE54A1C), &data_b, sizeof(data_b), NULL);
		printf( "\nTarget Selected: %d\n", data_b );
		// Target Pointer
		ReadProcessMemory(PROC_HANDLE, (LPCVOID)(hmodule_adrs + 0xE54A1C - 0xC ), &data_dw, sizeof(data_dw), NULL);
			DWORD TargetBase = 0;
			ReadProcessMemory(PROC_HANDLE, (LPCVOID)( data_dw + 0x368 ), &TargetBase, sizeof(TargetBase), NULL);
				// Target NAME
				wchar_t STR[32];
				ReadProcessMemory(PROC_HANDLE, (LPCVOID)( TargetBase + 0x46 ), &STR, sizeof(STR), NULL);
				printf( "   NAME:  %ls\n", STR );
				// Target LVL
				ReadProcessMemory(PROC_HANDLE, (LPCVOID)( TargetBase + 0x42 ), &data_w, sizeof(data_w), NULL);
				printf( "   LVL:   %d\n", data_w );
				// Target HP
				ReadProcessMemory(PROC_HANDLE, (LPCVOID)( TargetBase + 0x145C ), &data_dw, sizeof(data_dw), NULL);
				printf( "   CurHP: %d\n", data_dw );
				// Target MaxHP
				ReadProcessMemory(PROC_HANDLE, (LPCVOID)( TargetBase + 0x1460 ), &data_dw, sizeof(data_dw), NULL);
				printf( "   MaxHP: %d\n", data_dw );
				// Target MP
				ReadProcessMemory(PROC_HANDLE, (LPCVOID)( TargetBase + 0x1468 ), &data_dw, sizeof(data_dw), NULL);
				printf( "   CurMP: %d\n", data_dw );
				// Target MaxMP
				ReadProcessMemory(PROC_HANDLE, (LPCVOID)( TargetBase + 0x146C ), &data_dw, sizeof(data_dw), NULL);
				printf( "   MaxMP: %d\n", data_dw );
	}

	system("pause");
	return 0;
}

/**********************************************************************************/
DWORD GetModuleBaseAddress(DWORD dwProcessIdentifier, TCHAR *lpszModuleName) 
{ 
   HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessIdentifier); 
   DWORD dwModuleBaseAddress = 0; 
   if(hSnapshot != INVALID_HANDLE_VALUE) 
   { 
      MODULEENTRY32 ModuleEntry32 = {0}; 
      ModuleEntry32.dwSize = sizeof(MODULEENTRY32); 
      if(Module32First(hSnapshot, &ModuleEntry32)) 
      { 
         do 
         { 
            if(strcmp(ModuleEntry32.szModule, lpszModuleName) == 0) 
            { 
               dwModuleBaseAddress = (DWORD)ModuleEntry32.modBaseAddr; 
               break; 
            } 
         } 
         while(Module32Next(hSnapshot, &ModuleEntry32)); 
      } 
      CloseHandle(hSnapshot); 
   } 
   return dwModuleBaseAddress; 
} 
/**********************************************************************************/
DWORD GetProcessID( TCHAR *lpszProcessName )
{
	DWORD processID = NULL;

	HANDLE hSnapShot = CreateToolhelp32Snapshot ( TH32CS_SNAPPROCESS, 0);
	PROCESSENTRY32* processInfo = new PROCESSENTRY32;
	processInfo->dwSize = sizeof ( PROCESSENTRY32);
	while ( Process32Next ( hSnapShot,processInfo ) != FALSE)
	{
		if( strcmp( processInfo->szExeFile, lpszProcessName ) == 0 )
		{
			processID = processInfo->th32ProcessID;
			break;
		}
	}

	CloseHandle( hSnapShot);
	delete processInfo;

	return processID;
}
Xephn is offline  
Old 09/27/2015, 12:33   #3
 
xAxTer's Avatar
 
elite*gold: 0
Join Date: Sep 2015
Posts: 18
Received Thanks: 1
you can use version.dll Proxy for injecting your code into the Aion Client and you'll see all things goes easy
xAxTer is offline  
Closed Thread

Tags
64bit, address, aion, pointer, target


Similar Threads Similar Threads
Help TARGET INFO! :3
12/18/2013 - Flyff Private Server - 0 Replies
Why white Hp Bar and Npc menu. :/ https://fbcdn-sphotos-a-a.akamaihd.net/hphotos-ak -prn2/q71/s720x720/1489029_181910802008073_8580504 77_n.jpg
How to find target info memory.
08/31/2013 - Aion - 3 Replies
Long time lurker, first time poster. Hello. I am an experienced programmer, but a little new to the bot scene. I have developed one bot in the past and though I'd do a small project for Aion. So I am in the middle of my programming and I have not been able to get the memory offset for my target's hp (or any other target info). I am not sure if these are already out there, but I'd prefer to know how to figure it out so that I can update without waiting for anyone to post offsets. I use...
Target Info (PWI)
06/02/2011 - PW Hacks, Bots, Cheats, Exploits - 1 Replies
i make some research with AutoIt, coz many ppl here use that, so i try make piece of code, and here it is.... Target Info v 1.0 (PWI) other versions not implemented yet due different offsets features: Name Current HP / Max HP Current MP / Max MP lvl, culti coordinates, distance
[Question Memory editing]Choose target
11/08/2009 - Aion - 0 Replies
Hello, I have question. I have all offsets (player, target and so on). Can i choose target using memory write only? Or i need dll inject ? thx.
Request Target info
07/05/2009 - Tutorials - 5 Replies
Hi, Requesting the theory, or Tutorial of how to find a Target Offset in a game. I'll try to explain better what I mean, As in to Target a Mob, can be done in this game by, Direct Mouse Click, or TAB key. I have the base addresse, that I notice from the program I am using (bot program) that it's relative to everything, by that i mean functions ie Health/Mp/X,Y,Z/etc. only the offsets are different in making the bot function.



All times are GMT +1. The time now is 00:54.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.