Thoughts on autoclickers and botjail (patch 5066)

09/23/2008 15:34 nDaKoTa#1
Well, as you all know TQ has started sending people that use autoclickers to a new fancy bot jail. Now, for the sake of our mice and finger joints, all we need to do is find a way around it. Because scattering without an autoclicker is a pain in the ass.

Now, I haven't tested their anti-autoclick system yet, so I don't really know how it works. If anyone has done some tests and figured it out, please let the others know.

My best guess would be that they check the time between clicks and if you click with a constant frequency for a certain time then you're considered an autoclicker. Now that would be an easy thing to bypass - by just adding some random element to the program. Doen't really matter if the check is client or server sided. Can anyone confirm if that is the case?

But... if they have some other kind of check - for example some hack that somehow checks if the clicks registered are actual hardware based clicks or initiated by some program (don't ask me if it's possible to do it), then it would complicate things up a bit.

So. When anybody has any information on the subject I'd be glad to know. When I get home I'll run a few tests myself and try building a random interval autoclicker to see if it gets me jailed or not. But in the meantime all information on the subject is apreciated. And if anyone knows of a working autoclicker that has the random element built-in, also let me know.
09/23/2008 17:25 Vivian#2
well... ive looked into this, my friend who i know does not bot-got send there, while me, who uses it even for jumping to bi etc, hasnt gotten sent yet...
so i dunno...

BUT on a side not, this could be a new way to get out the old bot jail lol
09/23/2008 20:11 nDaKoTa#3
I'm not sure about the getting out of bot jail thing (there was some discussion about it in the official forums)... though again I haven't tried anything.

I'll start working on that random autoclick thing now so soon I'll probably post some results about whether I was sent to jail or not.
09/23/2008 22:15 nDaKoTa#4
Well, so far so good. Did a few tests and haven't been sent to jail yet.

My autoclick program, in case anyone's interested. It's not a working release, but something I only used for testing. Implemented in C#, requires .NET libraries.

Main program (an empty form with a single timer named tmrDelay).
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using gma.System.Windows;

namespace MouseClicker
{
    public partial class Form1 : Form
    {
        bool rdown;
        bool bdown;
        MouseControl mc;
        UserActivityHook uah;
        Random r;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            bdown = false;
            rdown = false;
            mc = new MouseControl();
            uah = new UserActivityHook(true, false);
            r = new Random();
            uah.OnMouseActivity += new MouseEventHandler(MouseMoved);
            tmrDelay.Interval = r.Next(30, 300);
            uah.Start();
        }
        public void MouseMoved(object sender, MouseEventArgs e)
        {
            
            if (e.Button == MouseButtons.Middle)
            {
                bdown = true;
            }
            else
            {
                if (bdown)
                {
                    if (!tmrDelay.Enabled)
                    {
                        this.BackColor = Color.Red;
                        tmrDelay.Start();
                    }
                    else
                    {
                        this.BackColor = Form1.DefaultBackColor;
                        tmrDelay.Stop();
                        bdown = false;
                        mc.rightUp();
                    }
                    bdown = false;
                }
            }
        }

        private void tmrDelay_Tick(object sender, EventArgs e)
        {
            if (rdown)
            {
                tmrDelay.Interval = r.Next(100, 600);
                mc.rightUp();
                rdown = false;
            }
            else
            {
                tmrDelay.Interval = r.Next(50, 100);
                mc.rightDown();
                rdown = true;
            }
        }
    }
}
MouseControl.cs for... well, mouse control
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;


namespace MouseClicker
{
    public class MouseControl
    {
        public MouseControl() {}
        [DllImport("user32.dll")]
        static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData,
          int dwExtraInfo);
        [Flags]
        public enum MouseEventFlags
        {
            LEFTDOWN = 0x00000002,
            LEFTUP = 0x00000004,
            MIDDLEDOWN = 0x00000020,
            MIDDLEUP = 0x00000040,
            MOVE = 0x00000001,
            ABSOLUTE = 0x00008000,
            RIGHTDOWN = 0x00000008,
            RIGHTUP = 0x00000010
        }
        public void rightUp()
        {
            mouse_event((uint)MouseEventFlags.RIGHTUP, 0, 0, 0, 0);
        }
        public void rightDown()
        {
            mouse_event((uint)MouseEventFlags.RIGHTDOWN, 0, 0, 0, 0);
        }
        public void leftUp()
        {
            mouse_event((uint)MouseEventFlags.LEFTUP, 0, 0, 0, 0);
        }
        public void leftDown()
        {
            mouse_event((uint)MouseEventFlags.LEFTDOWN, 0, 0, 0, 0);
        }
    }
}
And for turning it on and off (in my case with middle mouse button) I used some other dude's code that you can get from here: [Only registered and activated users can see links. Click Here To Register...]. You need to change the code a little, by default it won't handle middle button events. But that's pretty straightforward. And of course you can use some other way to turn the clicker on and off.

And the working .exe file if you're not afraid of trojans (which it doesn't include of course): [Only registered and activated users can see links. Click Here To Register...]

If further testing sends me to jail i will let you guys know... but so far it seems to bypass the check.

And I will create a working, usable version of this some day. Once again, this one here is just for testing and probably contains a lot of bugs.
09/23/2008 23:02 Vivian#5
good luck with it! yea-still no luck on tryin to get my old nooby arch outa normal bot jail (only started now)
09/24/2008 01:26 tao4229#6
nDaKoTa, let me guess, you read Digital Fortress >_>

Also, nice code :o
09/24/2008 01:49 evanxxxm#7
my guess is it detects by either dll hooks to CO or mouse position
after my testings, without controlclicks will not send to autoclick jail
(tested only for an hr, but other testings involves controlclicks send to jail within 15mins)
09/24/2008 03:09 MadKiLLer#8
i really love to used the else multi of evan but i always sent to autoclick jail after 2-3 mins of plvling
09/24/2008 07:09 *M*#9
Has anyone tried seeing if click frequency affects it, most autoclickers send clicks as fast as 100 times a second, maybe lowering it to twice a second will be less obvious.
09/24/2008 07:13 Real~Death#10
Quote:
Originally Posted by *M* View Post
Has anyone tried seeing if click frequency affects it, most autoclickers send clicks as fast as 100 times a second, maybe lowering it to twice a second will be less obvious.
Ive tryed using conquer clicky at all different speed setting on an archer(scatter right click) and I couldent get sent to the jail
09/24/2008 07:14 evanxxxm#11
*M*@
nope, without random sleep between clicks does not send to jail
tested with a simple ahk code earlier for 30mins
Code:
loop
{
click 100,100
sleep 300
}
^q::pause
btw, since when is there a bot that clicks more than 5 times/second

and through many testings, thats why i come up with the 2 "guessing" describe earlier
(it will only send me to jail when i use controlclicks)
09/24/2008 10:09 Vivian#12
Quote:
Originally Posted by Real~Death View Post
Ive tryed using conquer clicky at all different speed setting on an archer(scatter right click) and I couldent get sent to the jail
conquer clicky didnt send me to it either....
only else/follower...

but... i think its harder for an archer to get sent as most people (who dont bot) spam right mouse.... (i used to be one of thoes people)
09/24/2008 11:46 nDaKoTa#13
Well, I guess I should have tried with Conquer Clicky first :)
I'll try adding ctrl-clicks and mouse position changing to my program later, with and without random intervals, to figure out exactly what is it that sends you to jail, so we can avoid doing that later.

tao4229: yeah, I've read Digital Fortress :p
09/24/2008 14:59 _fobos_#14
Quote:
Originally Posted by Real~Death View Post
Ive tryed using conquer clicky at all different speed setting on an archer(scatter right click) and I couldent get sent to the jail
Same here :)
----------------------------------------------------------------------------------
I think it detects the mouse hook, and if thats the case im sure theres a way around it
09/24/2008 17:58 eeetam#15
was usin autoscatter yesterday during all day and today since mornin ...and i am not gonna stop :D