You guys think way to 1-dimensional!
First of all:
How does the Aimbot work?
It's a Pixelbot. It detects the left cornor of your Healthbar (because the color of the healthbar is static and always the same) and calculates the position from your head based on distance! (For example: Healthbarpsotion X value + 57 = Head position X).
It then moves with a certain speed towards your head, that speed however is different. I saw that the settings people made are between 3 and 6 pixels per round.
What is the problem with AutoHotKey?
First of all, it is NOT NECESSARY to use AutoHotKey. AHK is just a "scripting language" that makes it really easy to implement such functionality. For example: To find the healthbar, there is already a function inside AHK that's called "imageSearch()" that allows anyone to search for an image (healthbar) without understanding the algorithm.
Conclusion: Any programmer can write the same program/functionality in any programming language! So detecting AHK would just stop this cheat for 1 week, until some other guy implements the same cheat in C/C++ or whatever!
Why is it so hard to detect?
First of all we look at what the AHK-Bot actually does!
1) Takes Screenshots
2) Search pixels inside that Screenshot
3) Moves mouse
1) Taking screenshots cannot be detected. "But who takes thousand of screenshots, that can be detected easily!". No, any streamer would get banned instant! OBS for example takes at 30 FPS, 30 screenshot per seconds!
2) Searching pixels ... I don't have to tell you that this is not detectable, not in 100 years.
3) And finally we arrive here, at the only possible detection - the mouse movement.
AHK uses a function that is called "mouse_event()". This is a Windows internal function that send the mouse movement DIRECTLY into mouse stream. Why can't blizzard detect if this function gets called? Because you need SYSTEM rights and "hook a function thats called NtUsersedInput in w32k.sys". You did not understand what I just said? Alright easy words: You need a driver. A driver has SYSTEM rights and can detect suchs things.
So right now, it's impossible for blizzard to detect if the input from the mouse was physically or virtually.
What else opportunities? A common gaming mouse sends 1000 "inputs per second". That means when you move your mouse 2000 pixels on the X-Axis within 1 second, your mouse would jump every millisecond 2 pixel, thus skip 1 pixel every 1 millisecond. So for example: When you have a cheating McCree in enemy team, and his cheat constantly skips "for example 100 pixels", we can say pretty sure that he uses a cheat.
That's how it could work. I mean there are probably heuristics that could detect "weird" movement, but to be honest: How consistent will it be? How many false positives would it take?...
In the end, there is only 1 way: Having a ring-0 driver, that can determine 100% if mouse movement was done physically or virtually, will Blizzard take that way?
I don't think so! Drivers are hard to install since Windows 7 x64 and it was not serious if they do that!
As I said: AHK is easy to detect by signatures, but that would not stop that cheat.
I hope you understand that it needs some insane genious to detect that.
Right now, from my point of view, it looks pretty impossible!
Sorry!