Jump to content

Writing An Aimbot


Recommended Posts

With shadows i ment that: if you are in the shadows, then your skin would be darkend and your pixelcolor would not match.

you can edit the lighting of the game, if your on your server, but can't on other peoples servers, but like he said it's for learning uses so he'll possiably will be testing on single palyer, so you get a map editor and make a back up copy of the map, then delete all the lighting and make one hugh ass light :think:

Thanks in advance
Link to comment
Share on other sites

The broader your variation value allowed.. the less unique your color would be.

Also, straight from the help file on pixel search:

Remember, a typical display at 1024 x 768 has 786432 pixels. Although PixelSearch is optimized, narrowing the search area helps speed up the result.

So, I would like to see you PixelSearch the entire screen in a fast enough fashion that it would be able to properly detect your color, snap the mouse to that location, all in fast pased shooter game.

Edited by Simucal
AutoIt Scripts:Aimbot: Proof of Concept - PixelSearching Aimbot with several search/autoshoot/lock-on techniques.Sliding Toolbar - Add a nice Sliding Toolbar to your next script. Click the link to see an animation of it in action!FontInfo UDF - Get list of system fonts, or search to see if a particular font is installed.Get Extended Property UDF - Retrieve a files extended properties (e.g., video/image dimensions, file version, bitrate of song/video, etc)
Link to comment
Share on other sites

well if they are editable and you can make an entirely pink guy im sure if you step every 20 pixels its going to be a hell of a lot faster and still catch it, there are also other ways of detecting when the specific files are called that display the skins, thus u would be able to know when to start looking , and yeah there are alot of ways of detecting if the guy is near you

Link to comment
Share on other sites

One idea I had actually... was a broad pixelsearch area to begin with. Once it detected our color, the new pixel search would become much smaller and around the area of the last color sighting. Then, perhaps once again reduce the pixelsearch size.

This would be similar to "locking on" on whatever you were looking for. I might write a proof of concept and have a script attempt to make the mouse follow the ball in Jezzball, and I'll draw the pixelsearch boxes around the area of the screen it is currently searching.

AutoIt Scripts:Aimbot: Proof of Concept - PixelSearching Aimbot with several search/autoshoot/lock-on techniques.Sliding Toolbar - Add a nice Sliding Toolbar to your next script. Click the link to see an animation of it in action!FontInfo UDF - Get list of system fonts, or search to see if a particular font is installed.Get Extended Property UDF - Retrieve a files extended properties (e.g., video/image dimensions, file version, bitrate of song/video, etc)
Link to comment
Share on other sites

In response to this thread I just wrote a pixelsearch aimbot and posted it in scripts and scraps:

http://www.autoitscript.com/forum/index.php?showtopic=24784

Pixelsearch actually surprised me with its speed.. and I think if you wrote one to do a small box pixelsearch around the position of your mouse.. it would effectively make you able to "snap to" your target I think with pretty good results.

AutoIt Scripts:Aimbot: Proof of Concept - PixelSearching Aimbot with several search/autoshoot/lock-on techniques.Sliding Toolbar - Add a nice Sliding Toolbar to your next script. Click the link to see an animation of it in action!FontInfo UDF - Get list of system fonts, or search to see if a particular font is installed.Get Extended Property UDF - Retrieve a files extended properties (e.g., video/image dimensions, file version, bitrate of song/video, etc)
Link to comment
Share on other sites

Thanks everyone for helping out with the idea, i think the whole pixel check around the mouse is an incredibly good idea

and a special thanx to simucal, the proof is pretty neat :think:

Thanks for all the help, and if i chan take the time to figure it out, i'll write one for UT G.O.T.Y.

Thanks again

Link to comment
Share on other sites

Hey all, i wrote one that searches for a color, but i tried to not use GUI (its too complicated for me) :"> so instead i made tooltips

anyway heres my code, but i'm having Trouble, Its not working :think:

I dunno why it doesn't work, but i used Simucals technique sorta

I'm trying to do it with COD (call of duty), and all works except for the actuall aiming part of it :(

I think theres somthing wrong with the color im looking for, i wasn't sure how to get the code, somone help me

simucal tell me what im doin wrong

Global $Aimbot = 0

Opt("MouseCoordMode", 0)
Opt("PixelCoordMode", 0)
Opt("MouseClickDelay", 0)
Opt("MouseClickDownDelay", 0)

Hotkeyset ("{HOME}", "AimAimbot")
Hotkeyset ("{INS}", "AimShootAimbot")
HotKeySet ("{End}", "TurnoffAimbot")

Global $searchcolor = 0x966E6A

While 1
Sleep(1000)
Wend

Func AimAimbot()
$Aimbot = 1
While 1
    If $Aimbot = 1 then
        $coord = PixelSearch(10, 10, 800, 580, $searchcolor)
            If IsArray($coord) = 1 Then
                MouseMove($coord[0], $coord[1], 0)
            EndIf
    EndIf
Tooltip("Aimbot is Auto-Aiming", 0, 0)
Sleep(10000)
Wend
EndFunc

Func AimShootAimbot()
$Aimbot = 2
While 1
    If $Aimbot = 2 Then; Auto-Aim + Autoshoot
        $coord = PixelSearch(10, 10, 800, 580, $searchcolor)
            If IsArray($coord) = 1 Then
                MouseClick('left', $coord[0], $coord[1], 1, 0)
            EndIf
    EndIf
Tooltip("AimBot is Auto-Shooting", 0, 0)
Sleep(10000)
Wend
Endfunc

Func TurnoffAimbot()
$Aimbot = 0
Tooltip("Aimbot is Off", 0 ,0)
Sleep(10000)
Endfunc
Edited by Paulie
Link to comment
Share on other sites

Correct me if im wrong since im still new to autoit but when you ahve $variable = something does the something have to be in quotes or no?

Sure you ahve the right color if not just take a screenshot open it up in photoshop, magnify it use the color sampler than click on the color in the palet and look at the values.

Also by the way aimbots are written use the built un functions of game engine that build the hitboxes, friendly not friendly and so on that is also why anticheat is on the internal side of games, the anticheats that are seperate from the game such as cheating death is actually watching for keyword here "unecesary reads" of the engine. That pretty much sums it up. Basicly the programs decrypt and read the engine and inject in some form whether the pole or inject really is up to the writer of it. Either way they make it so they are actively reading the data with the engine symotaneously I know its not actually the same time but just slightly afterwards like a few ns but w/e than based on the values you have where your looking and what you can see and the vasinity of a person. See you cna only see so far away from you the engine isnt constantly keeping track of everyone atleast not on your local machine anotherwords the game is radius based you can only see so far and through so much regardless of any hack. Most hacks now have encorporated the wait untill client fires to actually than take an action. Its all farely simply to understand comprehensively but writing it out is another story. Either way though aimbotters are fags and should crash and burn in the pits of hell. Well that imo. Hope that helped you a bit. If you can comprehensivly understand than writing it is ez but than you gota take into account how the anticheat engines are trying to figure out if your hacking also. Which means you than gota decrypt that and read it and figure it out than make sure your script isnt written in a catchable way.

To sum it up the servers dont send your client anything but wire models, than your client skins them accordingly to your configuration.

So when its reading basicly all its reading is a bunch of numbers contructing them or simply searching for the specific co ords of where your wanting to aim at and than on client side sends the game the instructions to move the aimer to that co ord set as a correction set telling the game it has the wrong co-ords for the crosshair than sending the fire cmd.

Regardless of how you look at it to have a truely comprehensive aimbot you have to hook or inject in some form or way.

Edited by Sublime
Link to comment
Share on other sites

To sum it up the servers dont send your client anything but wire models, than your client skins them accordingly to your configuration.

So when its reading basicly all its reading is a bunch of numbers contructing them or simply searching for the specific co ords of where your wanting to aim at and than on client side sends the game the instructions to move the aimer to that co ord set as a correction set telling the game it has the wrong co-ords for the crosshair than sending the fire cmd.

Well then do you know how i could change the color of the player skin if their one color so i could make it all like bloodred or something

remember its call of duty

is there a way to pixelsearch for like 5-6 colors?

then if it finds any of them it shoots at it

and i dunno if it needed quotes, that was just from Simucal's aimbot proof

Link to comment
Share on other sites

Well i've nvr played call of duty so im not sure how you could edit the models but im sure its something a quick google search could turn up.

As far as pixel searching I think the only thing that could process and keep up with the game and the changin colors would be AutoItX but my knowledge of the different flavors of autoit is some what low. It would be something I would think would require the streamlineness and quickness since the system in a way precaches dlls for quick refrence though this is just me htinking out loud im not sure but in a way i dont think an ordinary au3 script could continue to work once it started to work for anymore than a couple of mins b4 locking your system just do to the amount of polling that will have to be done. Sorry but its really beyond me about how to go about it and personally I really dont care how it works sry its more of a intrest thing Im not intrested enough in it to care to do the research. But dont let that get you down. All good things come to those who work hard.

Link to comment
Share on other sites

  • 1 year later...

I think u use AutoIt window info for color. But I've got a Aimbot for 2 flashgames, I did NOT make this bot, so i disclaim everything about it. Just copy this code: ; +--------------------------------------------------------------------------------------------------------------+

; | Aimbot: Proof of Concept |

; | "A pixel searching aimbot that utilizes several lockon/autoshoot/search methods. It requires the AutoIt BETA |

; | and the Shockwave browser plugin." |

; | By: Simucal |

; +--------------------------------------------------------------------------------------------------------------+

#include <GUIConstants.au3>

Global $Aimbot = 0, $found = "no"

Opt("MouseCoordMode", 0)

Opt("PixelCoordMode", 0)

Opt("MouseClickDelay", 0)

Opt("MouseClickDownDelay", 0)

While 1

$SelectionForm = GUICreate("Aimbot - Proof of Concept", 298, 83, 350, 400)

GUICtrlCreateLabel("Choose a game:", 32, 8, 81, 17)

$flybutton = GUICtrlCreateButton("Shoot the Fly", 32, 40, 105, 25)

$csbutton = GUICtrlCreateButton("Camper Strike", 168, 40, 105, 25)

GUISetState()

While 1

$msg = GUIGetMsg()

Select

Case $msg = $flybutton

$gamename = "Shoot the Fly"

GUIDelete($SelectionForm)

ExitLoop

Case $msg = $csbutton

$gamename = "Camper Strike"

GUIDelete($SelectionForm)

ExitLoop

Case $msg = $GUI_EVENT_CLOSE

Exit

EndSelect

WEnd

HotKeySet("{Space}", "ToggleAimbot")

HotKeySet("{End}", "TurnoffAimbot")

$oGame = ObjCreate ("ShockwaveFlash.ShockwaveFlash.1")

$GameForm = GUICreate($gamename & ": Aimbot Proof of Concept", 820, 660, -1, -1)

$GUIActiveX = GUICtrlCreateObj ($oGame, 10, 10, 800, 580)

$exitbutton = GUICtrlCreateButton("Exit", 704, 624, 89, 25)

$changebutton = GUICtrlCreateButton("Change Game", 610, 624, 89, 25)

GUICtrlCreateLabel("Hit [space] to toggle the aimbot, [End] to turn it off.", 16, 608, 300, 17)

$status = GUICtrlCreateLabel("Aimbot Status: Off", 16, 624, 500, 33)

GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")

If $gamename = "Shoot the Fly" Then

With $oGame

.bgcolor = "#000000"

.Movie = ''

.ScaleMode = 2

.Loop = True

.wmode = "Opaque"

EndWith

$searchcolor = 0x23AC00

Else

With $oGame

.bgcolor = "#000000"

.Movie = ''

.ScaleMode = 2

.Loop = True

.wmode = "Opaque"

EndWith

$headshot = 0xFF9986

$bodyshot = 0xFF7070

$searchcolor = 0xFF9986

$headradio = GUICtrlCreateRadio("ARadio1", 425, 608, 17, 17)

GUICtrlSetState(-1, $GUI_CHECKED)

$bodyradio = GUICtrlCreateRadio("ARadio2", 505, 608, 17, 17)

GUICtrlCreateLabel("Headshot", 443, 608, 50, 17)

GUICtrlCreateLabel("Bodyshot", 523, 608, 48, 17)

GUICtrlCreateLabel("Aimbot Options:", 340, 608, 78, 17)

EndIf

GUISetState()

While 1

If $Aimbot = 1 Then; Normal Auto-Aim

$coord = PixelSearch(10, 10, 800, 580, $searchcolor)

If IsArray($coord) = 1 Then

MouseMove($coord[0], $coord[1], 0)

EndIf

EndIf

If $Aimbot = 2 Then; Auto-Aim + Autoshoot

$coord = PixelSearch(10, 10, 800, 580, $searchcolor)

If IsArray($coord) = 1 Then

MouseClick('left', $coord[0], $coord[1], 1, 0)

If $gamename = "Camper Strike" Then Send("r")

EndIf

EndIf

If $Aimbot = 3 Then; Snap-to

If $found = "no" Then

$pos = MouseGetPos()

$coord = PixelSearch(($pos[0] - 50) , ($pos[1] - 50) , ($pos[0] + 50) , ($pos[1] + 50), $searchcolor) ; initial search area 50sq'pixels

If IsArray($coord) = 1 Then

MouseMove($coord[0], $coord[1], 0)

$found = "yes"

EndIf

EndIf

If $found = "yes" Then

$pos = MouseGetPos()

$coord = PixelSearch(($pos[0] - 10) , ($pos[1] - 10) , ($pos[0] + 10) , ($pos[1] + 10), $searchcolor) ; locked on search area 10sq'pixels

If IsArray($coord) = 1 Then

MouseMove($coord[0], $coord[1], 0)

Else

$found = "no"

EndIf

EndIf

EndIf

If $Aimbot = 4 Then; Snap-to + Autoshoot

$pos = MouseGetPos()

$coord = PixelSearch(($pos[0] - 50) , ($pos[1] - 50) , ($pos[0] + 50) , ($pos[1] + 50), $searchcolor)

If IsArray($coord) = 1 Then

MouseClick('left', $coord[0], $coord[1], 1, 0)

If $gamename = "Camper Strike" Then Send("r")

EndIf

EndIf

If $Aimbot = 5 Then; Auto Lock-On the first available target on screen

If $found = "no" Then

$coord = PixelSearch(10, 10, 800, 580, $searchcolor)

If IsArray($coord) = 1 Then

MouseMove($coord[0], $coord[1], 0)

$found = "yes"

EndIf

Else

$pos = MouseGetPos()

$coord = PixelSearch(($pos[0] - 10) , ($pos[1] - 10) , ($pos[0] + 10) , ($pos[1] + 10), $searchcolor) ; refined locked on search area of 10sq'pixels

If IsArray($coord) = 1 Then

MouseMove($coord[0], $coord[1], 0)

Else

$found = "no"

EndIf

EndIf

EndIf

If $Aimbot = 6 Then; Auto Lock-On the first available target + Autoshoot

If $found = "no" Then

$coord = PixelSearch(10, 10, 800, 580, $searchcolor)

If IsArray($coord) = 1 Then

MouseMove($coord[0], $coord[1], 0)

$found = "yes"

EndIf

Else

$pos = MouseGetPos()

$coord = PixelSearch(($pos[0] - 10) , ($pos[1] - 10) , ($pos[0] + 10) , ($pos[1] + 10), $searchcolor)

If IsArray($coord) = 1 Then

MouseClick('left', $coord[0], $coord[1], 1, 0)

If $gamename = "Camper Strike" Then

Send("r")

EndIf

Else

$found = "no"

EndIf

EndIf

EndIf

$msg = GUIGetMsg()

If $gamename = "Shoot the fly" Then

Select

Case $msg = $exitbutton

ExitLoop 2

Case $msg = $changebutton

GUIDelete($GameForm)

ExitLoop 1

Case $msg = $GUI_EVENT_CLOSE

ExitLoop 2

EndSelect

EndIf

If $gamename = "Camper Strike" Then

Select

Case $msg = $exitbutton

ExitLoop 2

Case $msg = $changebutton

$oGame.Stop

GUIDelete($GameForm)

ExitLoop 1

Case $msg = $bodyradio

$searchcolor = $bodyshot

Case $msg = $headradio

$searchcolor = $headshot

Case $msg = $GUI_EVENT_CLOSE

ExitLoop 2

EndSelect

EndIf

WEnd

$oGame = 0

GUIDelete()

WEnd

Exit

Func ToggleAimbot()

If $Aimbot < 6 Then

$Aimbot = $Aimbot + 1

Else

$Aimbot = 0

EndIf

Select

Case $Aimbot = 0

GUICtrlSetData($status, "Aimbot Status: Off")

Case $Aimbot = 1

GUICtrlSetData($status, "Aimbot Status: AutoFind")

Case $Aimbot = 2

GUICtrlSetData($status, "Aimbot Status: AutoFind + AutoShoot")

Case $Aimbot = 3

GUICtrlSetData($status, "Aimbot Status: Snap-To")

Case $Aimbot = 4

GUICtrlSetData($status, "Aimbot Status: Snap-To + AutoShoot")

Case $Aimbot = 5

GUICtrlSetData($status, "Aimbot Status: AutoFind/Lock-On")

Case $Aimbot = 6

GUICtrlSetData($status, "Aimbot Status: AutoFind/Lock-On + AutoShoot")

EndSelect

EndFunc ;==>ToggleAimbot

Func TurnoffAimbot()

$Aimbot = 0

GUICtrlSetData($status, "Aimbot Status: Off")

EndFunc ;==>TurnoffAimbot

It's very good, and kinda fun.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...