Page 1 of 15

Aion Bot

Posted: Thu Jan 05, 2012 7:42 am
by botje
Project Home

First ever try to get a bot working, from scratch mind you :P

im accepting any help i can get, its a bit much for 1 person, but ill try anyway :)
  • Currently bot is able to target, kill, and loot.
  • Healing is rude, but implemented.
  • Found the right way to read target's Hp, so no more pixel reading :)

Botje

Re: first try at making a bot...

Posted: Thu Jan 05, 2012 2:04 pm
by botje
ok, got debugger on the game finally.

just what the hell does CreateGameInstance mean in CE?

Botje

Re: first try at making a bot...

Posted: Thu Jan 05, 2012 2:32 pm
by Administrator
Looks like a function that likely instantiates or initializes a new core game object. Every other piece of the game will likely flow through this main object, so expect a lot of pointers based off of it.
Here's some more information that might be helpful: http://www.gamerzneeds.net/forums/game- ... ering.html

Re: first try at making a bot...

Posted: Thu Jan 05, 2012 4:54 pm
by botje
informative, yes.

helpfull... no :P

how do i get a pointer from that?

Botje

Re: first try at making a bot...

Posted: Thu Jan 05, 2012 11:59 pm
by Administrator
Just use the regular pointer searches. There is not enough information given there.

Re: first try at making a bot...

Posted: Fri Jan 06, 2012 7:09 am
by botje
could you please explain how i would search pointers that originate from a different source?

because i have no clue...

Botje

Re: first try at making a bot...

Posted: Fri Jan 06, 2012 2:40 pm
by Administrator
I'm not sure I understand your question. What other source? Just use the regular pointer lookup method which I've provided a tutorial for.

Re: first try at making a bot...

Posted: Fri Jan 06, 2012 5:15 pm
by botje
ok, let me rephrase that, how would i find what GameInstance stands for pointerwise?

better said, how the fuck do i find the baseaddress of game.dll?

Botje

Re: first try at making a bot...

Posted: Sat Jan 07, 2012 1:32 am
by lisa
botje wrote:just what the hell does CreateGameInstance mean in CE?
I've never seen that option in CE, what version do you use??
I did a search in CE help and only occurance of "instance" was to create a new memory view window.

Maybe you skipped a step in the tutorial from Admin or perhaps you just missunderstood something?

Re: first try at making a bot...

Posted: Sat Jan 07, 2012 2:41 am
by Administrator
botje wrote:ok, let me rephrase that, how would i find what GameInstance stands for pointerwise?

better said, how the fuck do i find the baseaddress of game.dll?

Botje
You can use getModuleAddress() to look up game.dll.

GameInstance is just what they decided to name the class. This game makes use of object oriented programming in which there is a tree of objects stemming from a core object. You really don't need to be too concerned about what this means; just know that each level of pointers will be a new class. So if your pointer chain looks something like:
0x01234000 -> 0x02020F120 -> 0x0404D250
You will know that 0x01234000 is the core object, which contains (for example, it will contain a number of things) an object manager at 0x02020F120, which then contains an object, such as a player, at 0x0404D250.

Again, you do not need to concern yourself with how this is done or even what it means. Just use the pointer lookup tutorial I have provided.

Re: first try at making a bot...

Posted: Sat Jan 07, 2012 6:26 am
by botje
great, thanx admin :)

Botje

Re: first try at making a bot...

Posted: Sat Jan 07, 2012 6:32 am
by botje
lisa wrote:
botje wrote:just what the hell does CreateGameInstance mean in CE?
I've never seen that option in CE, what version do you use??
I did a search in CE help and only occurance of "instance" was to create a new memory view window.

Maybe you skipped a step in the tutorial from Admin or perhaps you just missunderstood something?
thats because its not a CE thing lisa, its part of the pointer i keep running intoo :)

Botje

Re: Aion Bot in the making... sort off xd

Posted: Sat Jan 07, 2012 7:35 am
by botje
ok, updated first post with what i got now, most works, except, name, it only returns the first letter...

any idea what could cause that? i allready tried to give it a lenght to read, but that didnt change anything either o.o

rest returns correct values though...

edit:

also, i cant seem to get any enemy pointers to work...

ill update first post with all pointers i found, thing is, i didnt find them, just got them from a forum on the net.

Botje

Re: Aion Bot in the making... sort off xd

Posted: Tue Jan 10, 2012 3:11 pm
by Administrator
Text can be done in any number of ways. To be honest, it is a pain in the ass to work with in memory. You can have a simple char array, a pointer to a char array, Pascal-style strings or c-strings, and any number of variants of Unicode. Inspect the region with memory. If you can provide an example of the memory region that holds the name, that would help.
also, i cant seem to get any enemy pointers to work...
Maybe you don't actually hold a pointer to its object, but instead hold the GUID? I'm not sure.

Re: Aion Bot in the making... sort off xd

Posted: Wed Jan 11, 2012 7:18 am
by botje
hmm... im still noob on this stuff, so how would i provide a memory example for you?

Botje

Re: Aion Bot in the making... sort off xd

Posted: Wed Jan 11, 2012 3:04 pm
by Administrator
Copy and paste the memory region you are looking at.

Re: Aion Bot

Posted: Fri Jan 13, 2012 1:28 pm
by botje
yeah, problem is that i have NO clue how i can find the right region :oops:

Also, updated first post, also looking for people to help out :P

Botje

Re: Aion Bot

Posted: Fri Jan 13, 2012 1:57 pm
by Administrator
How can you not find the region? If you've found the name, that is it. You just browse that memory region.

Re: Aion Bot

Posted: Fri Jan 13, 2012 7:50 pm
by botje
i know, but problem is that i didnt find these offsets myself, but rather gathered them from a forum somewhere on the net. :oops:

Botje

Re: Aion Bot

Posted: Fri Jan 13, 2012 9:25 pm
by Administrator
You can add the pointer manually in CE (the button to do so is to the top-right of the address list), then right click and browse memory region from there.