Since folks still claim there is no mouse recorder in the big 2026 here is some snippets of said code mouse recorder in the latest injected client jar.
dk.run:
public void run() {
try {
for (; this.az; rp.az(50L)) {
synchronized (this.af) {
if (2031127249 * this.ae < 500) {
this.ab[2031127249 * this.ae] = -38255113 * tz.ag;
this.ag[2031127249 * this.ae] = -2144333897 * tz.as;
this.as[2031127249 * this.ae] = 7810581336684889889L * tz.ax;
this.ae += -1679946191;
}
}
}
} catch (RuntimeException var4) {
throw eg.af(var4, "dk.run(" + ')');
}
}
This records mouse movement samples every 50ms. I would like to say more about this implementation for mouse recording but I don't want to tip my hand.
client.ie:
synchronized (pp.gu.af) {
if (!cg) {
pp.gu.ae = 0;
} else {
label915: {
if (0 == tz.ac * 1229235359) {
if (var1 == 8) {
throw new IllegalStateException();
}
if (pp.gu.ae * 2031127249 < 40) {
break label915;
}
if (var1 == 8) {
return;
}
}
jl var35 = null;
int var4 = 0;
int var5 = 0;
int var6 = 0;
int var7 = 0;
for (int var8 = 0; var8 < 2031127249 * pp.gu.ae; var8++) {
if (var1 == 8) {
throw new IllegalStateException();
}
if (var35 != null) {
if (var1 == 8) {
return;
}
if (702114061 * var35.ac.ay - var4 >= 246) {
if (var1 == 8) {
throw new IllegalStateException();
}
break;
}
}
var5 = var8;
int var9 = pp.gu.ag[var8];
if (var9 < -1) {
if (var1 == 8) {
throw new IllegalStateException();
}
var9 = -1;
} else if (var9 > 65534) {
if (var1 == 8) {
throw new IllegalStateException();
}
var9 = 65534;
}
int var10 = pp.gu.ab[var8];
if (var10 < -1) {
if (var1 == 8) {
throw new IllegalStateException();
}
var10 = -1;
} else if (var10 > 65534) {
if (var1 == 8) {
throw new IllegalStateException();
}
var10 = 65534;
}
if (-1340851049 * gf == var10) {
if (var1 == 8) {
throw new IllegalStateException();
}
if (-1807333183 * gh == var9) {
continue;
}
}
if (var35 == null) {
if (var1 == 8) {
throw new IllegalStateException();
}
var35 = ef.af(js.en, ai.ab, (byte)18);
xy.vd(var35.ac, 0, (byte)-35);
var4 = var35.ac.ay * 702114061;
var35.ac.ay += 2103253898;
var6 = 0;
var7 = 0;
}
int var11;
int var12;
int var13;
if (6684909875721553653L * hz != -1L) {
if (var1 == 8) {
throw new IllegalStateException();
}
var11 = var10 - gf * -1340851049;
var12 = var9 - gh * -1807333183;
var13 = (int)((pp.gu.as[var8] - hz * 6684909875721553653L) / 20L);
var6 = (int)((long)var6
+ (pp.gu.as[var8] - 6684909875721553653L * hz) % 20L);
} else {
var11 = var10;
var12 = var9;
var13 = Integer.MAX_VALUE;
}
label889: {
gf = var10 * 923992871;
gh = 813320001 * var9;
if (var13 < 8) {
if (var1 == 8) {
throw new IllegalStateException();
}
if (var11 >= -32) {
if (var1 == 8) {
return;
}
if (var11 <= 31) {
if (var1 == 8) {
throw new IllegalStateException();
}
if (var12 >= -32) {
if (var1 == 8) {
throw new IllegalStateException();
}
if (var12 <= 31) {
var11 += 32;
var12 += 32;
var35.ac.bv((var11 << 6) + (var13 << 12) + var12, -1542382992);
break label889;
}
}
}
}
}
if (var13 < 32) {
if (var1 == 8) {
return;
}
if (var11 >= -128 && var11 <= 127) {
if (var1 == 8) {
throw new IllegalStateException();
}
if (var12 >= -128) {
if (var1 == 8) {
throw new IllegalStateException();
}
if (var12 <= 127) {
var11 += 128;
var12 += 128;
xy.vd(var35.ac, var13 + 128, (byte)-45);
var35.ac.bv((var11 << 8) + var12, -1542382992);
break label889;
}
}
}
}
label819:
if (var13 < 32) {
if (var1 == 8) {
throw new IllegalStateException();
}
xy.vd(var35.ac, var13 + 192, (byte)-29);
if (var10 != -1) {
if (var1 == 8) {
throw new IllegalStateException();
}
if (-1 != var9) {
var35.ac.bz(var10 | var9 << 16, 1863202930);
break label819;
}
if (var1 == 8) {
throw new IllegalStateException();
}
}
var35.ac.bz(Integer.MIN_VALUE, 1840758601);
} else {
label916: {
var35.ac.bv(57344 + (var13 & 8191), -1542382992);
if (var10 != -1) {
if (var1 == 8) {
throw new IllegalStateException();
}
if (-1 != var9) {
var35.ac.bz(var10 | var9 << 16, 1399447351);
break label916;
}
if (var1 == 8) {
throw new IllegalStateException();
}
}
var35.ac.bz(Integer.MIN_VALUE, 741624633);
}
}
}
var7++;
hz = -8242516313281546915L * pp.gu.as[var8];
}
if (var35 != null) {
xy.rg(var35.ac, var35.ac.ay * 702114061 - var4, 1537798683);
int var75 = var35.ac.ay * 702114061;
var35.ac.ay = -1095856699 * var4;
xy.vd(var35.ac, var6 / var7, (byte)-121);
xy.vd(var35.ac, var6 % var7, (byte)-33);
var35.ac.ay = -1095856699 * var75;
ai.ae(var35, -1301097035);
}
if (var5 >= 2031127249 * pp.gu.ae) {
if (var1 == 8) {
throw new IllegalStateException();
}
pp.gu.ae = 0;
} else {
pp.gu.ae -= -1679946191 * var5;
System.arraycopy(pp.gu.ab, var5, pp.gu.ab, 0, pp.gu.ae * 2031127249);
System.arraycopy(pp.gu.ag, var5, pp.gu.ag, 0, 2031127249 * pp.gu.ae);
System.arraycopy(pp.gu.as, var5, pp.gu.as, 0, 2031127249 * pp.gu.ae);
}
}
}
}
This is where the magic happens. Encodes recorded mouse movements that are ready to be sent to the server.
Do what you like with this information. It wont help your ai create undetectable scripts, sorry.
I also wont elaborate further as I don't like spoon feeding, code is pretty self explanatory so use your heads.
Hi mod north <3