Register for your free account! | Forgot your password?

Go Back   elitepvpers > Aion > Aion Main - Discussions / Questions
You last visited: Today at 17:07

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

 

Aion Bot Movement Problem

Reply
 
Old   #1
 
elite*gold: 240
Join Date: Dec 2006
Posts: 1,580
Received Thanks: 1,609
Aion Bot Movement Problem

Hey guys,

i recognized a problem and i still wonder if I am the only one who has this problem.

Okay, we've got X Y and Z.

Z is ok but X and Y seems to change if I move my mouse in current active Aion Window. BUT my character does not move.

Anyone else got this problem? I use following adresses :

Quote:
PlayerX = BaseAdress + 0x91FA40
PlayerY = BaseAdress + 0x91FA48
PlayerZ = BaseAdress + 0x8E336C
The BaseAdress is the Module Adress from the Game.dll

And if you do not have that problem and you are using the same offsets. I will pay a lot for a code snippet.

Thanks in advance.

#edit

You must register and activate your account in order to view images.
You must register and activate your account in order to view images.
oh sorry wrong section you may move it ?



Bl@ze! is offline  
Old   #2
 
elite*gold: 0
Join Date: Jul 2005
Posts: 206
Received Thanks: 108
Quote:
Originally Posted by Unkn0wn0x View Post
Hey guys,

i recognized a problem and i still wonder if I am the only one who has this problem.

Okay, we've got X Y and Z.

Z is ok but X and Y seems to change if I move my mouse in current active Aion Window. BUT my character does not move.

Anyone else got this problem? I use following adresses :



The BaseAdress is the Module Adress from the Game.dll

And if you do not have that problem and you are using the same offsets. I will pay a lot for a code snippet.

Thanks in advance.

#edit

You must register and activate your account in order to view images.
You must register and activate your account in order to view images.
oh sorry wrong section you may move it ?
Your offsets are wrong,
X is Game.dll+8E3368
Y is Game.dll+8E3364
Z is Game.dll+8E336C

please share your code snippet for how to calculate the BaseAddress because i can't get this to work...thanks


Revived Soulreaver is offline  
Old   #3
 
elite*gold: 240
Join Date: Dec 2006
Posts: 1,580
Received Thanks: 1,609
Quote:
Originally Posted by Revived Soulreaver View Post
Your offsets are wrong,
X is Game.dll+8E3368
Y is Game.dll+8E3364
Z is Game.dll+8E336C

please share your code snippet for how to calculate the BaseAddress because i can't get this to work...thanks
I will after work. Thank you so much :-)
Bl@ze! is offline  
Old   #4
 
elite*gold: 0
Join Date: Jul 2005
Posts: 206
Received Thanks: 108
Quote:
Originally Posted by Unkn0wn0x View Post
I will after work. Thank you so much :-)
If this code comes to be posted, you sir will deserve all the thanks.

What i know:
I am aware that i should likely be using:
GetProcAddress
GetModuleHandle

however I am unaware as to what i should pass to these as i have tried multiple items...

Thanks again.


Revived Soulreaver is offline  
Old   #5
 
elite*gold: 240
Join Date: Dec 2006
Posts: 1,580
Received Thanks: 1,609
Quote:
Originally Posted by Revived Soulreaver View Post
If this code comes to be posted, you sir will deserve all the thanks.

What i know:
I am aware that i should likely be using:
GetProcAddress
GetModuleHandle

however I am unaware as to what i should pass to these as i have tried multiple items...

Thanks again.
These 2 functions are only from yourself loaded dll like kernel32.dll or something which you load with loadlibary
Bl@ze! is offline  
Old   #6
 
elite*gold: 0
Join Date: Jul 2005
Posts: 206
Received Thanks: 108
Quote:
Originally Posted by Unkn0wn0x View Post
These 2 functions are only from yourself loaded dll like kernel32.dll or something which you load with loadlibary
I know that should help but to me that means i have to inject a dll into the Aion.bin process which i don't feel is necessary.
Revived Soulreaver is offline  
Old   #7
 
elite*gold: 240
Join Date: Dec 2006
Posts: 1,580
Received Thanks: 1,609
I use this autoit script to dump it and i write it to a .ini and read it out with my c# bot


Code:
;===================================================================================================
; Function........:  _MemoryGetBaseAddress($ah_Handle, $iHD)
;
; Description.....:  Reads the 'Allocation Base' from the open process.
;
; Parameter(s)....:  $ah_Handle - An array containing the Dll handle and the handle of the open
;                         		  process as returned by _MemoryOpen().
;              	     $iHD - Return type:
;                	    |0 = Hex (Default)
;                	    |1 = Dec
;
; Requirement(s)..:  A valid process ID.
;
; Return Value(s).:  On Success - Returns the 'allocation Base' address and sets @Error to 0.
;                    On Failure - Returns 0 and sets @Error to:
;						|1 = Invalid $ah_Handle.
;						|2 = Failed to find correct allocation address.
;						|3 = Failed to read from the specified process.
;
; Author(s).......:  Nomad. Szhlopp.
; URL.............:  [url=http://www.autoitscript.com/forum/index.php?showtopic=78834]Memory UDF - AutoIt Forums[/url]
; Note(s).........:  Go to [url=http://Www.CheatEngine.org]Cheat Engine[/url] for the latest version of CheatEngine.
;===================================================================================================
Func _MemoryGetBaseAddress($ah_Handle, $iHexDec = 0)
    
    Local $iv_Address = 0x00100000
	Local $v_Buffer = DllStructCreate('dword;dword;dword;dword;dword;dword;dword')
	Local $vData
	Local $vType
	
    If Not IsArray($ah_Handle) Then
        SetError(1)
        Return 0
    EndIf
    

    DllCall($ah_Handle[0], 'int', 'VirtualQueryEx', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer))
    
    If Not @Error Then
        
        $vData = Hex(DllStructGetData($v_Buffer, 2))
        $vType = Hex(DllStructGetData($v_Buffer, 3))
        
        While $vType <> "00000080"
            DllCall($ah_Handle[0], 'int', 'VirtualQueryEx', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer))
            $vData = Hex(DllStructGetData($v_Buffer, 2))
            $vType = Hex(DllStructGetData($v_Buffer, 3))
            If Hex($iv_Address) = "01000000" Then ExitLoop
            $iv_Address += 65536
            
        WEnd

        If $vType = "00000080" Then
            SetError(0)
            If $iHexDec = 1 Then
                Return Dec($vData)
            Else
                Return $vData
            EndIf
            
        Else
            SetError(2)
            Return 0
        EndIf
        
    Else
        SetError(3)
        Return 0
    EndIf
    
EndFunc
Bl@ze! is offline  
Old   #8
 
elite*gold: 0
Join Date: Jul 2005
Posts: 206
Received Thanks: 108
thanks for the code but this fails in windows 7 x64
Revived Soulreaver is offline  
Old   #10
 
elite*gold: 0
Join Date: Jun 2008
Posts: 510
Received Thanks: 89
What u have been missing is that func as beneath which correspondent to game.dll module
Code:
Func _MemoryModuleGetBaseAddress($iPID, $sModule)
    If Not ProcessExists($iPID) Then Return SetError(1, 0, 0)

    If Not IsString($sModule) Then Return SetError(2, 0, 0)

    Local   $PSAPI = DllOpen("psapi.dll")

    ;Get Process Handle
    Local   $hProcess
    Local   $PERMISSION = BitOR(0x0002, 0x0400, 0x0008, 0x0010, 0x0020) ; CREATE_THREAD, QUERY_INFORMATION, VM_OPERATION, VM_READ, VM_WRITE

    If $iPID > 0 Then
        Local $hProcess = DllCall("kernel32.dll", "ptr", "OpenProcess", "dword", $PERMISSION, "int", 0, "dword", $iPID)
        If $hProcess[0] Then
            $hProcess = $hProcess[0]
        EndIf
    EndIf

    ;EnumProcessModules
    Local   $Modules = DllStructCreate("ptr[1024]")
    Local   $aCall = DllCall($PSAPI, "int", "EnumProcessModules", "ptr", $hProcess, "ptr", DllStructGetPtr($Modules), "dword", DllStructGetSize($Modules), "dword*", 0)
    If $aCall[4] > 0 Then
        Local   $iModnum = $aCall[4] / 4
        Local   $aTemp
        For $i = 1 To $iModnum
            $aTemp =  DllCall($PSAPI, "dword", "GetModuleBaseNameW", "ptr", $hProcess, "ptr", Ptr(DllStructGetData($Modules, 1, $i)), "wstr", "", "dword", 260)
            If $aTemp[3] = $sModule Then
                DllClose($PSAPI)
                Return Ptr(DllStructGetData($Modules, 1, $i))
            EndIf
        Next
    EndIf

    DllClose($PSAPI)
    Return SetError(-1, 0, 0)

EndFunc
Credits goes to PharmerPhale
So i f u have your known bases for move as above u need first read game.dll to obtain TARGET X, Y, Z at the end using classic _MemoryRead()

Enjoy

PS Actually it is mine part of NomadMemory file
ddarek is offline  
Old   #11
 
elite*gold: 0
Join Date: Jul 2005
Posts: 206
Received Thanks: 108
Quote:
Originally Posted by ddarek View Post
What u have been missing is that func as beneath which correspondent to game.dll module
Code:
Func _MemoryModuleGetBaseAddress($iPID, $sModule)
    If Not ProcessExists($iPID) Then Return SetError(1, 0, 0)

    If Not IsString($sModule) Then Return SetError(2, 0, 0)

    Local   $PSAPI = DllOpen("psapi.dll")

    ;Get Process Handle
    Local   $hProcess
    Local   $PERMISSION = BitOR(0x0002, 0x0400, 0x0008, 0x0010, 0x0020) ; CREATE_THREAD, QUERY_INFORMATION, VM_OPERATION, VM_READ, VM_WRITE

    If $iPID > 0 Then
        Local $hProcess = DllCall("kernel32.dll", "ptr", "OpenProcess", "dword", $PERMISSION, "int", 0, "dword", $iPID)
        If $hProcess[0] Then
            $hProcess = $hProcess[0]
        EndIf
    EndIf

    ;EnumProcessModules
    Local   $Modules = DllStructCreate("ptr[1024]")
    Local   $aCall = DllCall($PSAPI, "int", "EnumProcessModules", "ptr", $hProcess, "ptr", DllStructGetPtr($Modules), "dword", DllStructGetSize($Modules), "dword*", 0)
    If $aCall[4] > 0 Then
        Local   $iModnum = $aCall[4] / 4
        Local   $aTemp
        For $i = 1 To $iModnum
            $aTemp =  DllCall($PSAPI, "dword", "GetModuleBaseNameW", "ptr", $hProcess, "ptr", Ptr(DllStructGetData($Modules, 1, $i)), "wstr", "", "dword", 260)
            If $aTemp[3] = $sModule Then
                DllClose($PSAPI)
                Return Ptr(DllStructGetData($Modules, 1, $i))
            EndIf
        Next
    EndIf

    DllClose($PSAPI)
    Return SetError(-1, 0, 0)

EndFunc
So i f u have your known bases for move as above u need first read game.dll to obtain TARGET X, Y, Z at the end using classic _MemoryRead()

Enjoy

PS Actually it is mine part of NomadMemory file
He was just posting sample BaseMemory Code for me, which didn't work as i am on x64 this issue is resolved.
Revived Soulreaver is offline  
Old   #12
 
elite*gold: 0
Join Date: Jun 2008
Posts: 510
Received Thanks: 89
kk
However it works


ddarek is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
Mangos NPC movement
heyho, ich suche ne Möglichkeit Mobs auf meiner 3.1.3er Mangos DB moven zu lassen. wenn ich neue einheiten spawne stehen die nämlich nur blöd in der...
3 Replies - WoW PServer Hosting
MOvement speed value
can someone tell me how to find movement speed value in CE plz?
0 Replies - Atlantica Online
3d movement? how?
Hi guys, Well, i can use... 1. Autoscript 2. a packet bot 3. direct ingame manipulation ( the way i wanna try ) Any method has its...
7 Replies - General Coding



All times are GMT +2. The time now is 17:07.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy
Copyright ©2017 elitepvpers All Rights Reserved.