Aimbot
From Wikipedia, the free encyclopedia
An aimbot, sometimes called "auto-aim", is software used in online multiplayer first-person shooter games that assists the player in aiming at the target. Since it gives the user an advantage over unaided players, it is considered a cheat.
Aimbots have varying levels of effectiveness. Some aimbots can do all of the aiming and shooting, requiring the cheater to only move into a position where they can see opponents. This level of automation usually makes it difficult to hide an aimbot though; for example, the player might make inhumanly fast turns that always end with his or her crosshairs targeting an opponent's head. Many highly-skilled players, especially in Counter-Strike, are frequently accused of using such programs, and many anti-cheat mechanisms have been employed by companies such as Valve to prevent their use and thus avoid such accusations.
Some games, including Half-Life, Jedi Knight: Dark Forces II and Unreal Tournament 2004, have "auto-aim" as an option in the game. This is not the same as an aimbot. It simply helps the user to aim when playing offline against computer opponents usually by allowing gunfire to hit so as long as the crosshair is within a certain area of the target.
Contents |
[edit] Types of Aimbots
There are several different types of aimbots at different levels of potency. Some aimbots are partially human controlled, and others operate solely on game-data using memory or packet work to produce actions. StoogeBot is an example of an aimbot (among other things) that operates solely on memory and packets. More common, however, are human controlled aimbots.
The first of these appeared with the first popular FPS games including Quake, Quake II, Counter-Strike, etc. These first aimbots were notoriously inaccurate and worked by replacing models with solid color enhancements which displayed vibrant colors while in-game. These were generally solid yellow, green, blue, and red, and each team generally had different color models. With these custom colored models in place, an application began scanning the screen for the color of said models. When it detected a colored model, it instantly moved the mouse on top of the x and y coordinates the color was located at and thus the player aims at the target automatically. Later versions of the color aimbots used spots of colors on a model's head instead of a full body colored model to enhance the potency. Many were detected using these when a player would spray his or her decal on the wall and the aimbot would foolishly aim at the wall instead of any players -- a rather comical effect.
[edit] Graphics Driver Based Aimbots
A step up in potency are graphic driver based aimbots. These types of hacks hijack control to the current API used to render a game's graphics to the screen to locate players and other objects. Once a player has been identified and tagged as the target, a series of calculations are performed to take the three dimensional location of a single coordinate within this model and convert it to a two dimensional set of coordinates. This pair of x and y values is then used in conjunction with some input API to move the cursor to the specified location, thus causing the player to aim at the target.
[edit] Color Aimbots
Color aimbots are an old and easy method to hacking - they can work in any game that supports coloured models. As color aimbots don't hook the game or modify any file, most anti-cheats don't detect them. Despite being lower in performance than hooking aimbots, color aimbots are fast enough to be used as cheats. They however have disadvantages - because the detection is purely color coded, the aimbot may aim at textures that contain the color, at dead bodies, or at team mates after switching teams.
Color aimbots work by scanning the entire or parts of the players screen for the selected RGB value. Once a pixel of the colour is detected the aimbot will move the players mouse cursor to that pixel. As such, colour aimbots require more system resources than a standard aimbot.
[edit] StoogeBot
First and certainly the most enduring example of an aimbot was the Stanford StoogeBot, a proxy-based system for the game Quake written by students at Stanford University. The StoogeBot featured a number of different modes (each of which implemented a different strategy), named after members of The Three Stooges. The StoogeBot's operator (known as the "driver") used an unmodified Quake client, and moved around the game world as normal, picking up equipment and pursuing (or, in theory, fleeing from) adversaries. Rather than being connected directly to the Quake server, the driver's client connected to a custom proxy on which the StoogeBot code ran, a man in the middle attack. The driver's movement commands were passed through unaffected, but the StoogeBot assumed responsibility for selecting, targeting, and firing weapons. As Quake's network protocol allowed clients (and thus the StoogeBot) to know the positions of players even when they were obscured by scenery, the StoogeBot had the uncanny ability to shoot players moments after they emerged into view (even with slow-moving weapons such as rockets).
The driver's view didn't turn to match the StoogeBot's inhuman aim, instead behaving as if the StoogeBot wasn't present. The StoogeBot's operation was entirely automatic, and it made no attempt to hide its superhuman prowess. Indeed, it announced its presence (in an in-game chat message) and altered the player's name (as sent to the game server) to include the prefix "SBOT*", and its authors didn't release the source to their program knowing unscrupulous users would immediately remove this protection. The StoogeBot's skills were so blatant and made games so one-sided that when hacked StoogeBots (which didn't announce themselves) became available, their use remained glaringly obvious.
[edit] Aimbot use
Aimbots may technically be used in any multiplayer game that uses models, due to the different types available. Their use is, however, notorious in a number of games, such as: