-
Contributor
LF someone to explain the basic steps of creating a bot
Hey fellas,
I've been making simple bots with AutoIt for a few yeas which gave me the most basic understanding of coding but I'd like to take it a step further.
I asked around a few places and people were like "Learn C++", "Learn C#", "Learn this and that..." and I don't learn that way. I just can't learn a coding language without the idea of how I will use it.
So my question it this, let's say I want to make a simple fishing bot for WoW or a PokemonGo bot, how do I go about it in a few simple steps. I checked a GitHub for a PoGo bot but it's too much code to analyze and I'm afraid I lack the basics to understand the process.
Using AutoIt, I would go in, figure out how to identify the fishing bobber, figure out how to search for it and how and when to click it. But I know people can interact with game objects directly using code. How does one do that? What goes into this one simple thing, interacting with a game object?
Thanks
Seminko
Don't just say thanks, click thanks!
-
-
Active Member
Originally Posted by
Seminko
But I know people can interact with game objects directly using code. How does one do that? What goes into this one simple thing, interacting with a game object?
Thanks
Seminko
You will need to understand if not coding in ASM, get used to software such as Cheat Engine, IDA, and know C++.
For a wow fish bot, it's easy. you can get CheatEngine locked in it without any issue.
You will find the function triggering the flish blob being ready by setting a break point. But you will need to find this function and understand what it does.
You can detect a function since it starts with "push ebp" usually.
Once that done you can do it either externally
Making your mouse click on it when it's being triggered?
Or internally : Finding the function corresponding to the mouse click on the item, and calling it when the other function is triggered.
WoW is easy to reverse, but you need to dive in it.
Let's take a better example : making an infinite jump on wow.
Let's say during this function making you jump, there's a check if there is ground
Example of pseudocode
if UserPressSpaceBar
__if we are jumping already
____Do not jump, do nothing
__else, jump()
END
in assembly you'll see something like that:
xxxxxxxx Push EBP
....
14141212 bla bla you press space bar
14141213 CMP eax,00 // we compare eax to 0 (which could store a bolean value if you are in the air or not) in air = 1, not in air = 0
14141214 jne 141412156 // if this value is not equal to 0 (thus if we are in the air) we skip the 14141216 which is an offset)
14141215 //BLABLA there we call the jump function making you jump
14141216 //END of the function
What you gonna do is when you're on 14141214, instead of checking a JNE (if CMP EAX, 00) thus if eax == 0, you will tell it to do "NOP" - Nothing
Then everytime the function is triggered, you will not check if you're already in the air
And voila, you have infinite jump
Last edited by Nerdrenx; 08-07-2016 at 04:54 PM.
-
You write a bot in any language. Even AUTOIT.
My personal suggestion is that you learn C++ seeing how it will teach you how to work with memory a lot better than JAVA, PYTHON, etc.
Find a book on learning C++. My personal suggestion is Sams Teach Yourself C++ in One Hour a Day 7th Edition.
This will teach you basic syntax, OOP, STL, and some other misc. concepts.
Once you feel that you have a grasp on C++ then you can move onto learning how reverse engineering works. My book of choice was: Reversing - Secret of Reverse Engineering by Eldad Eilam.
Once you understand that, I would then find a 'legit' download of IDA PRO. I personally use version 6.X. Once you have it downloaded, look around a bit inside the program and realize you understand nothing about what's going on, then read this book so you understand how to use IDA. Chris Eagle - The IDA PRO Book.
Books:
Sams Teach Yourself C++ in One Hour a Day 7th Edition
Reversing - Secret of Reverse Engineering by Eldad Eilam
Chris Eagle - The IDA PRO Book
If you don't like reading, tough shit.
Good luck.
-
Post Thanks / Like - 1 Thanks
-
Active Member
we could add as well
Practical Reverse Engineering by Elias Bachaalany
-
Member
There's several languages to use to write a bot. A quick question should sort the language you're looking for: How big is the project/features gonna be?
For a twitch\twitter\Facebook\small-game bot, you can use a language as simple as Python. You can even use Python to analyze patterns and graphs in the stock market to make an investment\purchase\sale for you. Want to make a bot with a fancy GUI and source code that you want to document well with others? Choose a C language(preferably C# or C++ works amazingly too). You need to understand your scope and learn accordingly. Also games usually take a lot of messing with cheat engine to understand what parameters and functions are needed. Usually whatever you want to do is well documented, so all you need to know is basic algebra and programming mechanics.
Hope that helped.
-
Post Thanks / Like - 1 Thanks