How does a bot work? menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 22
  1. #1
    SayianSentry's Avatar Member
    Reputation
    1
    Join Date
    Dec 2015
    Posts
    8
    Thanks G/R
    3/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    How does a bot work?

    Heya Guys,

    in my university i signed up for the study project: Automisation of MMORPG's(especially WoW).
    But the thing is....there is no literature for that. So i kinda need your help
    I just have a few questions it would be awesome if you helped me out
    Also...im sorry if i missed out some threads which tell me exact things im going to ask you now:

    1. What has DirectX to do with bots?
    2. There are index databases but i dont have a clue what they do inside of bots? (maybe getting informations faster out of the memory)
    3. How does the bot avoid Warden?
    4. How does a bot work at all? (i have an idea but im not sure if that is the real deal)
    5. How can programmers update their bots that fast?

    Im sorry if im a real noob :/ I started this project a few months ago and i thought this is the best way on getting real informations

    By the way i dont need to write a bot myself...i just have to describe how a bot works

    Thanks =)

    How does a bot work?
  2. #2
    mpslayer's Avatar Contributor
    Reputation
    112
    Join Date
    Dec 2008
    Posts
    142
    Thanks G/R
    24/53
    Trade Feedback
    2 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    3. hiding and hook detection
    4. uhh it takes commands and performs them. Uses API.
    5. Most of it is automated.
    Rebot Mod (RIP)

  3. Thanks SayianSentry (1 members gave Thanks to mpslayer for this useful post)
  4. #3
    Filint's Avatar Contributor Authenticator enabled
    Reputation
    167
    Join Date
    Mar 2014
    Posts
    97
    Thanks G/R
    23/56
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    1) Of necessity, not much, though for some reason lots of people like to hook DX functions such as present or endscene to run code in the main thread (the renderer runs in the main thread ofc). Though there are better ways to do this.
    2) Index databases? What do you mean? .idb?
    3) This is a massive topic. At its most basic you can just avoid warden by not doing anything that it checks for. With enough research and reversing you can completely subvert warden through various techniques. But honestly, in it's current form, Warden is not a massively advanced anticheat.
    4) This... cannot be expressed in a single sentence, paragraph, or essay. There are so many different things a bot can do, and for each thing a bot can do, there are many many different ways which you might go about it. You'll have to be more specific, I'm afraid. For instance, in process or out of process?
    5) How fast is "that fast"? Usually pattern scanning will allow for quick updates - in case you don't know, most functions within an executable have a unique enough signature in machine code that you can pretty quickly search for a particular pattern of bytes and find the function that way.

  5. Thanks SayianSentry, HI5, stoneharry (3 members gave Thanks to Filint for this useful post)
  6. #4
    SayianSentry's Avatar Member
    Reputation
    1
    Join Date
    Dec 2015
    Posts
    8
    Thanks G/R
    3/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks for the answers =)

    1. Ok so it is not necessary....i might have to take on a closer look on that topic tho
    2. yes im talking bout those idb files (by the way i got most of these questions from my professor and english is not my native language )
    3. also...i have to take a deeper look into warden and find out how it works and what exactly it does
    4. okay let's take an example...im giving the bot the order to run a farming route(coordinates are already in lua script). What does it do at that point^^ Getting the coordinates and minimap data from reading the memory? I'm really sorry for beeing that basic it is just such a huge topic and like i said: i dont really need to write it myself...i just need to know how it works
    5. For example: Honorbuddy updates its bot in about 24h. Question from my prof: Where do they get their informations about those changes. Can they get it on ownedcore?

    Most of my work is basically answering questions on how honorbuddy works because it is the biggest bot here.
    I don't know for sure if im asking the right questions maybe if you know certain places where i could get the info myself it would help me out alot =D

  7. #5
    Blubblab's Avatar Member
    Reputation
    3
    Join Date
    Nov 2015
    Posts
    13
    Thanks G/R
    1/2
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    1.) Like he said nothing much
    2.) No clue what kind of bot you use in generel you have game specific settings and waypoint which you must save somehow.
    3.) Warden? Do you refer to a game Warden or to GM in last case they won't this is something the user must take care of but it is also true there are some adnanced technlogys which can be used but even with them it is risky.
    4.) This is a lot to talk about first there are different types of bots:
    pixel, memory, socket.

    Those are the 3 types from which you can get information for the bot most of the are memory.
    Internal logic is the same as anyother bot.
    And yeha you need to create some sort of information about what exactly it should do.

    Take a look at SolarStrike Software there is an open-source bot
    5.) In case of memory bots have you ever heard of cheat engine ? or similar stuff ?

  8. #6
    SayianSentry's Avatar Member
    Reputation
    1
    Join Date
    Dec 2015
    Posts
    8
    Thanks G/R
    3/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Blubblab View Post
    3.) Warden? Do you refer to a game Warden or to GM in last case they won't this is something the user must take care of but it is also true there are some adnanced technlogys
    Im talking about Blizzards Anti-Cheat-Software Warden

  9. #7
    WiNiFiX's Avatar Banned
    Reputation
    242
    Join Date
    Jun 2008
    Posts
    447
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I think your lecturer isn't expecting you to write a bot in a subject "Automisation of MMORPG" they most likely expecting you to understand AI and assuming you writing the source code of the MMORPG, not reversing it :P
    Universities usually don't offer courses on "how to write a bot" since bots are considered Taboo.

  10. Thanks Iuri Matos (1 members gave Thanks to WiNiFiX for this useful post)
  11. #8
    SayianSentry's Avatar Member
    Reputation
    1
    Join Date
    Dec 2015
    Posts
    8
    Thanks G/R
    3/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Well it is not really a Course. it is a part of my studies. cant really ignore that but you are right....i have to understand how to write one and how it works like...what is the Magic behind it

    and yeah usually it is taboo. but my prof really likes this Topic that is why he picked it

  12. #9
    baldrich's Avatar Contributor
    Reputation
    102
    Join Date
    May 2008
    Posts
    84
    Thanks G/R
    2/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Im interested in this aswell - does anyone know if there is any of the code for Warden itself anywhere? Surely we can see what Warden is looking for, even by trial and error - but it must exist within the client as opposed to server-side anti-cheat?

  13. #10
    Filint's Avatar Contributor Authenticator enabled
    Reputation
    167
    Join Date
    Mar 2014
    Posts
    97
    Thanks G/R
    23/56
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by SayianSentry View Post
    Thanks for the answers =)

    1. Ok so it is not necessary....i might have to take on a closer look on that topic tho
    2. yes im talking bout those idb files (by the way i got most of these questions from my professor and english is not my native language )
    3. also...i have to take a deeper look into warden and find out how it works and what exactly it does
    4. okay let's take an example...im giving the bot the order to run a farming route(coordinates are already in lua script). What does it do at that point^^ Getting the coordinates and minimap data from reading the memory? I'm really sorry for beeing that basic it is just such a huge topic and like i said: i dont really need to write it myself...i just need to know how it works
    5. For example: Honorbuddy updates its bot in about 24h. Question from my prof: Where do they get their informations about those changes. Can they get it on ownedcore?

    Most of my work is basically answering questions on how honorbuddy works because it is the biggest bot here.
    I don't know for sure if im asking the right questions maybe if you know certain places where i could get the info myself it would help me out alot =D
    No problem.

    2. .idb files are files used by a reverse engineering tool called IDA Pro. At a basic level, IDA Pro provides an interactive way of exploring all the functions within a given executable file and seeing the assembly/machine code within the functions. You can get plugins that "disassemble" the assembly code into c-style code, although it's not perfect and can often slightly misinterpret the code. IDA Pro is very expensive and there are some criteria that need to be fulfilled before you can get a license. Therefore, some people use leaked/cracked versions which is a very bad thing and you should definitely not do Anyway, you can use IDA to analyse functions, give them names etc. .idb files are just a saved IDA database and a way to share your work with other reverse engineers. A very long time ago a wow alpha client was leaked that included the pdb debug info, since then each new wow client has been analysed and compared to the last one, so when you see a "named idb" it'll usually contain the most useful functions with their original names as seen in the wow alpha client. These idb files are not used directly in the bots, though. They only assist the developer of the bot in figuring out how the wow client works.

    3. Yeah, this is kind of a massive topic so will require a lot of research.

    4. This is really down to the individual bot. For this particular example, yeah, I guess you would read the player's current coordinates from memory, and figure out a path to your target coordinates - this again is another whole complicated topic since for good pathfinding you really need to have some knowledge of the terrain - which typically means extracting terrain info from the wow client (not during runtime, usually). When you see Honorbuddy talking about meshes this is what they are talking about.

    5. Some information is posted on Ownedcore, but don't rely on it always being there - in general, the more successful bot programmers will have their own methods of extracting this info so won't rely on Ownedcore. But the ownedcore memory editing section gives a really great resource for starting out, there is years worth of information here and you could write paper after paper with information just contained here.

    With this kind of thing there are really no definite answers. It's a bit like saying, "how do you cook a steak? And how do you avoid poisoning someone when they eat it?" There are many many many different techniques to cook steak (write a bot) and there are many different ways to avoid poisoning someone (avoiding warden) some better than others. It is really down to the individual developer how they choose to do it.

    Originally Posted by baldrich View Post
    Im interested in this aswell - does anyone know if there is any of the code for Warden itself anywhere? Surely we can see what Warden is looking for, even by trial and error - but it must exist within the client as opposed to server-side anti-cheat?
    I am by no means an expert on Warden, but as far as I know, the Warden module is streamed to the WoW client upon logging in. There are particular functions that receive and load the module, and of course we are then able to dump it and analyse it. I'm not aware of there being any actual leaked code or anything - but you could probably find some analysis somewhere (how up to date it is is another question). One thing to note - Warden actually doesn't do that much afaik, the really tricky things such as the stack tracing that people were talking about in another thread is done by stuff built into the wow client and is not considered a part of warden. I think.
    Last edited by Filint; 12-07-2015 at 03:18 PM.

  14. Thanks SayianSentry (1 members gave Thanks to Filint for this useful post)
  15. #11
    Blubblab's Avatar Member
    Reputation
    3
    Join Date
    Nov 2015
    Posts
    13
    Thanks G/R
    1/2
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by WiNiFiX View Post
    I think your lecturer isn't expecting you to write a bot in a subject "Automisation of MMORPG" they most likely expecting you to understand AI and assuming you writing the source code of the MMORPG, not reversing it :P
    Universities usually don't offer courses on "how to write a bot" since bots are considered Taboo.
    Bots themselves aren't because this is the short form of robot and I went through a semester in robotic as I studied computer scientist.
    The math is the same which computer graphic use. The problem is the combination of MMORPG and bot as a 3th party software as a scientific paper on something which violate the tos of an another company is something risky and there is a chance it won't be abroved.

  16. #12
    SayianSentry's Avatar Member
    Reputation
    1
    Join Date
    Dec 2015
    Posts
    8
    Thanks G/R
    3/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Blubblab View Post
    Bots themselves aren't because this is the short form of robot and I went through a semester in robotic as I studied computer scientist.
    The math is the same which computer graphic use. The problem is the combination of MMORPG and bot as a 3th party software as a scientific paper on something which violate the tos of an another company is something risky and there is a chance it won't be abroved.
    it is not a scientific paper^^ i dont even have to write a single thing. it is called a study project which you have to do during the 3rd and 4th semester. the lecturer has to decide which projects he wants to make and he is the only person who is going to rate my work.

  17. #13
    WiNiFiX's Avatar Banned
    Reputation
    242
    Join Date
    Jun 2008
    Posts
    447
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    @Sayian - keep in mind that if your lecturer has an interest in bots (in wow bots in particular) then he / she is most likely reading this site and will see all the feedback we provide you :P

    I wrote a fishbot and very very basic rotation bot (for low level warrior) for 1.12.1 a while back which is open-source in C#, feel free to have a look at it - ignore that some of the project files say 3.3.5a i just didnt rename everything when i downgraded my 3.3.5a version.
    Please note that lua.DoString(string.Format("InteractUnit('mouseover')")); does not work in 1.12.1 since it is not supported, you need to replace it with lua.OnRightClickObject((uint)curObj, 1);

    Code:
            internal void OnRightClickObject(uint baseAddr, int autoLoot)
            {
                if (_wowHook.Installed)
                {
                    if (baseAddr != 0 && (autoLoot == 1 || autoLoot == 0))
                    {
                        String[] asm = new String[]
                            {
                            "push " + autoLoot,
                            "mov ECX, " + (uint)baseAddr,
                            "call " + (uint)Offsets.OnRightClickObject,
                            "retn",
                            };
    
                        _wowHook.InjectAndExecute(asm);
                    }
                }
            }

  18. #14
    SayianSentry's Avatar Member
    Reputation
    1
    Join Date
    Dec 2015
    Posts
    8
    Thanks G/R
    3/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    @WiNiFix Yeah im pretty sure that he will likely read this too But that is part of my research and what is better than asking those who know something about that The other part is researching stuff myself which is more than you expect but thank you for sending me your code

  19. #15
    Jaladhjin's Avatar Contributor Authenticator enabled
    Reputation
    286
    Join Date
    Jul 2012
    Posts
    1,151
    Thanks G/R
    246/139
    Trade Feedback
    16 (100%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by SayianSentry View Post
    Heya Guys,

    in my university i signed up for the study project: Automisation of MMORPG's(especially WoW).
    But the thing is....there is no literature for that. So i kinda need your help
    I just have a few questions it would be awesome if you helped me out
    Also...im sorry if i missed out some threads which tell me exact things im going to ask you now:

    1. What has DirectX to do with bots?
    2. There are index databases but i dont have a clue what they do inside of bots? (maybe getting informations faster out of the memory)
    3. How does the bot avoid Warden?
    4. How does a bot work at all? (i have an idea but im not sure if that is the real deal)
    5. How can programmers update their bots that fast?

    Im sorry if im a real noob :/ I started this project a few months ago and i thought this is the best way on getting real informations

    By the way i dont need to write a bot myself...i just have to describe how a bot works

    Thanks =)
    I'd be interested in seeing your syllabus or something showing this as a class. Study project. Whatever it may be.
    Thirsty Shameless Beg: LFW on Retail WoW US. Any Boosting Groups Looking For A Leveler I'm Very Interested! Please PM Me! 🤘😁🤘

Page 1 of 2 12 LastLast

Similar Threads

  1. How does the server work.
    By dragon_hacker in forum WoW EMU Questions & Requests
    Replies: 1
    Last Post: 08-06-2009, 05:10 PM
  2. How does model editing work?
    By Verye in forum WoW ME Questions and Requests
    Replies: 27
    Last Post: 08-11-2008, 08:58 PM
  3. How does rep etc work
    By KingYoshi9 in forum Community Chat
    Replies: 8
    Last Post: 03-19-2008, 10:13 PM
  4. How does wall jumping work?
    By Scoops in forum World of Warcraft General
    Replies: 2
    Last Post: 08-25-2007, 08:09 PM
  5. How does Glider Profiles work
    By Eony in forum World of Warcraft General
    Replies: 0
    Last Post: 02-21-2007, 07:24 PM
All times are GMT -5. The time now is 11:44 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search