|
You last visited: Today at 00:53
Advertisement
[C++] Get Target Info from memory
Discussion on [C++] Get Target Info from memory within the Aion forum part of the MMORPGs category.
01/05/2015, 22:23
|
#1
|
elite*gold: 0
Join Date: Jan 2015
Posts: 2
Received Thanks: 0
|
[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.
|
|
|
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;
}
|
|
|
09/27/2015, 12:33
|
#3
|
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
|
|
|
 |
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.
|
|