Botting.rs biometric profile & mouse data generator

Asentrix

Asentrix

Administrator
Owner
Developer
Messages
303
Joined
Oct 2, 2019
Reaction score
78
Points
28
Credits
33,362
What are biometrics?
The literal definition: The application of statistical analysis to biological data.
Explanation: The usage of your actual mouse movement data when playing the game.
With my tool, you're able to record how YOU play the game, save that map, and re-use it, yet with slight deviations when botting.
The end result is a biometric mouse movement system that replicates your own mouse movements with slight deviations for a unique mouse movement path.

How does it work? Allow me to demonstrate!
We build a small profile based on your mouse movements after we start recording.
After, we make a slight modification to the X/Y throughout the path to generate a unique path for your playstyle.
Here's a video demonstrating how it works, and the end result with the slight deviations.
 
Chefe117

Chefe117

New member
Messages
12
Joined
Feb 21, 2020
Reaction score
1
Points
3
Credits
300
Just to clarify, does this have different path every time you run it?
 
Chefe117

Chefe117

New member
Messages
12
Joined
Feb 21, 2020
Reaction score
1
Points
3
Credits
300
Do you run this as DOS in AM or what would this classify as?
 
C

CrossOut

New member
Messages
4
Joined
Oct 20, 2019
Reaction score
0
Points
1
Credits
50
Where is the download for this tool? Would like to try to add it to some of the scripts I have built to improve efficiency.
 
Asentrix

Asentrix

Administrator
Owner
Developer
Messages
303
Joined
Oct 2, 2019
Reaction score
78
Points
28
Credits
33,362
Where is the download for this tool? Would like to try to add it to some of the scripts I have built to improve efficiency.
I didn't publicly release this tool because I wasn't completely happy with the end result
Originally we recorded absolutely every single mouse position every millisecond until the profile is finished being built
This resulted in an enormous map being created, a file with thousands of duplicates for when the mouse isn't moving, so playing it back resulting in the mouse moving at an extremely slow speed
I used a mathematical equation...incrementing a variable to only read every 50th entry, this resulted in a very choppy playback, the mouse would be moving, but it would be jumping instead of moving smoothly.
Also we only read from 1 specific map file

In the new version I'm working on, I want to be able to read from a folder and select a random profile from within that folder
Let's say we have 50 different versions of a specific click...eg we want to click a rock...then another rock
We will read all files from that folder "rock click" and randomize the list of files, so each time, we will run a random map from the folder, making each movement even more unique

Secondly I want to do away with the math equation that skips movements
Instead I'd like an approach that checks if the current x/y = the previous x/y, if so we don't write it to the file
The only limitation is that's how we detect if the profile is still being built or not
Currently, when we start building a profile, we have no way to stop it, unless we use the current approach, wait for previous mouse x/y to equal current mouse x/y
If they both contain the same value, we know we're done...but that will conflict with our new approach, of not writing to the map if the current x/y is a duplicate

So I need to come up with a resolution to that problem, since Winautomation isn't multithreaded, there isn't any "stop" button persay.
I could forcibly close the program using a hotkey, but that hotkey wont be active since there's no multithreading, we can perform an action and "wait for hotkey" but that's it.

I know this tool can be reworked..and could be improved a lot, but making it with winautomation is extremely limiting..
Although the task can probably be completed, it will take me time to perfect it, working out all the kinks, and who knows, what works on my PC may not work for others...
 
L

l0g1c

New member
Messages
2
Joined
Nov 10, 2020
Reaction score
0
Points
1
Credits
51
there's a much easier and faster way to achieve this... just change where the resulting click ends up.. make it random. The mouse path would never be the same in that case as-well.
For an example.. your trying to click an item in your inventory, randomize where it clicks on that item. The mouse can't follow the same path as the ending location would be different each time.

My auto clicker bot scripts follows this principle and I've yet to be flagged. Have botting session as long as 48 hours straight too.

Also in my experience they don't track mouse movements, just clicks locations.. almost every bot I've seen for rs3 always be clicking in the same spot or has some kind of pattern like always waiting 30 second before next step. Only a manual review can view the mouse movement.... manual review as in watching you play live. It would literally cost jagex far to much money to run a AI system that could track physically mouse movement.. Google can barely achieve it.

The whole reason the communities think they monitor and track mouse movements is the fact that when people started making bots that allow them to run multiple clients.. They used a virtualize mouse setup in there code and when jagex would do a manual review you'd fail because the mouse movements wouldn't show up on there end, nor would the clicks.. Technology has advanced enough this isn't a problem anymore although it still is glitchy so I just use the actually mouse under a Virtual OS setup so I can run multiple clients(vmware). This is why people switch to reflection/injection bot an abandon color bots back in the day..
 
Last edited:
Asentrix

Asentrix

Administrator
Owner
Developer
Messages
303
Joined
Oct 2, 2019
Reaction score
78
Points
28
Credits
33,362
there's a much easier and faster way to achieve this... just change where the resulting click ends up.. make it random. The mouse path would never be the same in that case as-well.
For an example.. your trying to click an item in your inventory, randomize where it clicks on that item. The mouse can't follow the same path as the ending location would be different each time.

My auto clicker bot scripts follows this principle and I've yet to be flagged. Have botting session as long as 48 hours straight too.

Also in my experience they don't track mouse movements, just clicks locations.. almost every bot I've seen for rs3 always be clicking in the same spot or has some kind of pattern like always waiting 30 second before next step. Only a manual review can view the mouse movement.... manual review as in watching you play live. It would literally cost jagex far to much money to run a AI system that could track physically mouse movement.. Google can barely achieve it.

The whole reason the communities think they monitor and track mouse movements is the fact that when people started making bots that allow them to run multiple clients.. They used a virtualize mouse setup in there code and when jagex would do a manual review you'd fail because the mouse movements wouldn't show up on there end, nor would the clicks.. Technology has advanced enough this isn't a problem anymore although it still is glitchy so I just use the actually mouse under a Virtual OS setup so I can run multiple clients(vmware). This is why people switch to reflection/injection bot an abandon color bots back in the day..

The client has been reversed many times now, there are checks for the mouse position within the client.
They check the mouse X/Y every 50ms
Java:
package com.runescape.client;
final class MouseDetection implements Runnable {
private final Client instance;
public final Object syncObject;
public final int[] coordsY;
public boolean running;
public final int[] coordsX;
public int coordsIndex;
public MouseDetection(Client parent) {
syncObject = new Object();
coordsY = new int[500];
coordsX = new int[500];
running = true;
instance = parent;
}
public void run() {
while (running) {
synchronized (syncObject) {
if (coordsIndex < 500) {
coordsX[coordsIndex] = instance.mouseX;
coordsY[coordsIndex] = instance.mouseY;
coordsIndex++;
}
}
try {
Thread.sleep(50L);
} catch (Exception _ex) {
}
}
}
}

But yeah randomizing the area where the mouse clicks is good, but the mouse moving there is how they can check that we aren't a human
That's the whole point of this biometric approach, to replicate our movement style, it's for the ultimate approach to avoiding bans, it may be overkill, but it's honestly probably the best approach once perfected.
It would work very similar to RID

Appreciate the response :)
 
L

l0g1c

New member
Messages
2
Joined
Nov 10, 2020
Reaction score
0
Points
1
Credits
51
The client has been reversed many times now, there are checks for the mouse position within the client.
They check the mouse X/Y every 50ms
Java:
package com.runescape.client;
final class MouseDetection implements Runnable {
private final Client instance;
public final Object syncObject;
public final int[] coordsY;
public boolean running;
public final int[] coordsX;
public int coordsIndex;
public MouseDetection(Client parent) {
syncObject = new Object();
coordsY = new int[500];
coordsX = new int[500];
running = true;
instance = parent;
}
public void run() {
while (running) {
synchronized (syncObject) {
if (coordsIndex < 500) {
coordsX[coordsIndex] = instance.mouseX;
coordsY[coordsIndex] = instance.mouseY;
coordsIndex++;
}
}
try {
Thread.sleep(50L);
} catch (Exception _ex) {
}
}
}
}

But yeah randomizing the area where the mouse clicks is good, but the mouse moving there is how they can check that we aren't a human
That's the whole point of this biometric approach, to replicate our movement style, it's for the ultimate approach to avoiding bans, it may be overkill, but it's honestly probably the best approach once perfected.
It would work very similar to RID

Appreciate the response :)
"
"The client has been reversed many times now, there are checks for the mouse position within the client.
They check the mouse X/Y every 50ms" ... and this is how they detect "Injection" + virtual Mouse(some glitch and = no x/y)... Going even father, If this data was used for the "AI Bot Buster" it would need to be stored in a database for the AI to go over, but if the call comes in every 50ms the database wouldn't be able to store the information fast enough and the more data in the database the slower the database gets.. Then for every player playing...that's far to many database call happening every 50ms and isn't possible.


"but the mouse moving there is how they can check that we aren't a human".... just needs to look visually legit, specifically to pass a manual review, biometrics are far overkill... There AI detects patterns. If the mouse never follows the same path there is no pattern.. how ever if it always takes the same amount of time for the mouse to get there, or make a click as the same time interval or moves at the same speed all the time.. that is a pattern.

If the AI detected patterns in the mouse path itself, a lot of bots would be detected in less then 10 loops of the script/bot, and slapped with a perma ban almost instantly. In short there AI bot buster isn't as sophisticated as they claim, and in the end your account is manual reviewed if you do get flagged.

I know far to much about this game.. Played it and have botted it since before PHATS fell from the sky. Plus my 25+ years of programming experience of over 15+ different languages does help too:p
 
Last edited:
Top Bottom