I think their detection consist two phases.
1)Automatic. Client detection or player reports, non hardware mouse. Account gets flagged.
2)Manual. Then jmods sit down and look those flagged acounts, what account is doing and so on. This opinion is based on fact that they said once on livestream that every account is reviewed by human before banning. Therefor botwatch is flawless and decision is final. Livestream was about botanybay on rs3 I think. On OSR would be bit silly to ban thousands of bots manually 1by1 all day
My arduino bot never got me banned, despite having no antiban measures at all. Currently trying this on linux kernel, so far so good.
It seems like jagex detection algorithm comes down to "hardware mouse", custom loaders and perhaps some kind of process scanning. It explains their complete ban of autohotkey and why they said that using the hd client could get you banned.
edit: it would be really interesting to see if Jagex actually use human-like heuristics to detect bot pattern. It probably wouldn't be too difficult, just use a recurrent neural network to predict the click point of bots. Since they have tons of human data and bot data, it really should be quite easy for them. I am not sure how effective it would be, and I somehow doubt they try this system.
Last edited by Grunt; 06-04-2017 at 07:56 PM.
No random timing at all. I used the below code directly.
C++ Code:#include <cstdio>
#include <thread>
#include <iostream>
#include <dlfcn.h>
#include <ApplicationServices/ApplicationServices.h>
#include <unistd.h>
void moveMouse(CGFloat X, CGFloat Y)
{
CGEventRef moveEvent = CGEventCreateMouseEvent(nil, kCGEventMouseMoved, CGPointMake(X, Y), kCGMouseButtonLeft);
CGEventPost(kCGHIDEventTap, moveEvent);
//CGEventPostToPid(process_id, moveEvent); Send event to specific process.
CFRelease(moveEvent);
}
void clickMouse(CGFloat X, CGFloat Y, bool left)
{
CGEventRef downEvent = CGEventCreateMouseEvent(nil, kCGEventLeftMouseDown, CGPointMake(X, Y), left ? kCGMouseButtonLeft : kCGMouseButtonRight);
CGEventRef upEvent = CGEventCreateMouseEvent(nil, kCGEventLeftMouseUp, CGPointMake(X, Y), left ? kCGMouseButtonLeft : kCGMouseButtonRight);
CGEventPost(kCGHIDEventTap, downEvent);
CGEventPost(kCGHIDEventTap, upEvent);
CFRelease(downEvent);
CFRelease(upEvent);
}
I did sleep for exactly 1200ms after each click to give the interface time to change from the spell to the inventory and account for slight lag.. lol. I'd buy 25K alchs for a day to make sure I don't run out and it ends up clicking empty spell and inventory spots.. After alching like 15K to 18K, I'd use the money to buy more and go back to alching. Sometimes I'd babysit for about 5 mins or check up on it every 4 or 5 hours. Sometimes I'd do a random if I see it in time. I alched in my player owned house so no one could bother me (build mode set to ON or guest mode set to off so others can't enter).
Last edited by Brandon; 07-27-2017 at 01:25 AM.
I am Ggzz..
Hackintosher
There are currently 1 users browsing this thread. (0 members and 1 guests)