[Release][Source]Eidolon Auto Link

02/25/2019 10:48 AlainProvist#1
EAL
Eidolon Auto Link for Aura Kingdom



Sources : [Only registered and activated users can see links. Click Here To Register...]
Binaries : [Only registered and activated users can see links. Click Here To Register...]

This code is released for educational purpose only under GNU GPL v3 licence.



Description

EAL is a self contained minibot automatically managing your eidolons. It will automatically talk to them when possible to regain APs, link when available and retrieve items if the inventory is not full.


Features
  • Standalone auto injector targeting AK game process
    • Monitor all running instance of the game and auto inject listed DLLs
    • Ejects injected DLLs on closing
    • Monitor a list of running process that could prevent the injection from succeeding and promp for killing them
  • Separate EAL DLL injected in the game process
    • Eidolon Auto Link features :
      • Auto talk
      • Auto link
      • Auto retrieve objects
    • DLL detection protection
    • Gameguard thread killer
    • Multiclient feature


Repository content

This project can be compiled using Visual Studio 2017 or Visual Studio Code (using VS2017 compiler). Both project files are provided here. The code is using some hardoded byte patterns that will potentially need to be changed if the client code changes too much after some future game update. It currently works with official FR/US/DE clients of the game. Feel free to fork this repository and update the patterns or try to find patterns working on every clients, or even add some client detection to switch patterns accordingly if needed.



Please do not ask for more features or maintaining the patterns.

I'm providing these sources as a tribute to Skandia Bot project to provide some basic knowledge about internally hooking a game and using its own code to add new features. Note thats the methods I used are totally home made and that there are multiple different ways to do the same things (like triggering an exception at a specific code location to gain access to the registers and the stack and modify them).
02/25/2019 19:43 ThoiXn#2
And again we can only say, thanks for u hard work.
02/25/2019 21:38 netHoxInc#3
Thanks for the project, The Community you created, letting me be Part of the team for a while and personally being very helpful on PM's even tho i had more contact to namedrisk due to API relations.

You're one of the reasons why I was cappable of coding my own Bot's for other games now.

I feel like 2 mentors are leaving me. I hope I can still reach you here on epvper's. Incase i need a nostalgic talk ;) Haha. Just joking, you know urself I'll never come without questions on my back. But i always enjoyed to keep in touch with you guys.

From browsing all Threads regarding AK functions i sadly never came up to any point of explainations how to debug/find specific things. Thats okay ofc, I just slightly had some hope that you'd include some basic stuff maybe. AK has alot of Multi-Level pointers making it pretty confusing to reverse these in the old fashion way.

From what I can see in the source is, that you grab data out of asm instructions which are hooked/detoured to give you the goaled outputs. Atleast thats how it looks to me from a quick view. I am very thankful for the patterns tho. I'm sure i can atleast look how the base functions are looking alike by checking these up as long as they are valid.

I'll try to study them as best I can, And incase i dont get it after alot of intensive work sessions, i probably fall back and try my luck to PM you (take this as a brief warning haha)

Wish you all the best in life, and hope to keep the contact somehow (:

Cheers, net
02/25/2019 22:28 AlainProvist#4
Well it depends on the things you want to find.

If you want to find something like a command to send to the server like moving, casting a spell or any of these eidolon commands, you generally break in the function sending the packet or creating it, you dump the callstack, look in IDA each function in the callstack until you reach on that makes sense with the arguments it has, try to replicate the call of this function with the correct arguments, and then find out how to get these arguments (like a this pointer).

If you want to reverse a structure you need to see what code accesses the value you started from using CE. Then you see what offset it is in the structure, and then start to guess what the other values are and what they do, by trying to change them in CE for example, or watching the code that is reading/writing them in IDA.

It's like a puzzle, you start with pointers, then fill it into entire structures (or at least partial structures reversed), then you can call some code using them.

Having the function sending the packet is a really important thing for debugging, because it ensures you that the function you are trying to understand are the one that will do something, and not simply functions updating your client after receiving something from the server. Otherwise you risk to end with something that is performed locally but not on the server (like the fake tp).

BTW I hope someone will make this work for AKTO and other servers if it's not already the case ;).
02/25/2019 23:21 netHoxInc#5
Haha, yea I'll look into the WSASend thingie a bit more. I avoided it at all cost till now but seems like I really need to. Also I've mostly worked on CE or own-coded mem readers (mostly to bypass antihacks). Structures are pretty easy and I got no biiig issues on reversing them (or atleast the important values of them).

Once I've investigated on it I'll surely try my best for AK.to, mainly for the challange, as i dont play anymore since couple years p:

Still alot thanks for the headsup on the packet sending. I'll surely struggle on it for a while, but hopefully turns out with some results. Haha

I'll let you know if I end up with some results :P

Cheers for now c;
02/26/2019 03:15 new123456#6
Thank you so much Alain for this release, you're too kind

I truly can't appreciate you enough for years of thankless work and keeping
Skandia updated every patch

It made the game less tedious and more enjoyable for many players
On whatever you do I wish you all the best in the future
02/26/2019 04:21 Hightech01#7
Why isn't it working for me? If I try to Inject with the batch it's just closing and nothing happens :o
02/26/2019 08:35 AlainProvist#8
Quote:
Originally Posted by Hightech01 View Post
Why isn't it working for me? If I try to Inject with the batch it's just closing and nothing happens :o
You need to compile injection.exe and eal.dll. You are currently trying to build them using the batch files and I suspect you did not install visual studio 2017 community.
02/26/2019 17:20 sena619#9
Hi Alain,
thanks for all your work over these years, you and Name and the others for the plugins. And thanks for releasing this EAL !!

Cheers, Claine :)
02/27/2019 16:36 MandaAK#10
It seems like it's not working since today, 27th, because there was a new update in the game.
Will this bot have updates or will it die here?
02/27/2019 17:46 netHoxInc#11
EAL works on current version. You maybe did not inject it properly, my community server tested it on FR/DE/US alrdy.

Also, yes i'll stay dedicated to the project and try to update the patterns if required.

Cheers, net
02/27/2019 18:01 fv199720#12
Hello.

Sorry im really noob, but can u, if u want, explain how to inject the EAL plz?
02/28/2019 02:11 MandaAK#13
Quote:
Originally Posted by netHoxInc View Post
EAL works on current version. You maybe did not inject it properly, my community server tested it on FR/DE/US alrdy.

Also, yes i'll stay dedicated to the project and try to update the patterns if required.

Cheers, net
I've compiled the EAL with SkandiaBot and it still does not work. Am I doing something wrong? Not to compile?
02/28/2019 09:48 AlainProvist#14
Hum... I don't understand what you did because it doesn't make any sense.

Either you install VS2017 Community or VSCode and build the sources (both injection.exe and eal.dll), or you directly DL the binary release here : [Only registered and activated users can see links. Click Here To Register...], and execute injection.exe.
02/28/2019 11:08 fv199720#15
Thanks for the binary.

<3