async function main() { function getFunc(_0x3bc812, _0x530fbf, _0x3826f3, _0x5766aa) { let _0x270e51 = Module.findExportByName(_0x3bc812, _0x530fbf); return new NativeFunction(_0x270e51, _0x3826f3, _0x5766aa); } var malloc = getFunc("libc.so", "malloc", "pointer", ["int"]) function createTString(str) { var str_pointer = malloc(4) var str_struct = malloc(str.length + 8) str_pointer.writePointer(str_struct) str_struct.writeInt(str.length) ptr(parseInt(str_struct) + 4).writeInt(1) ptr(parseInt(str_struct) + 8).writeUtf8String(str) return str_pointer } function readTString(str) { if(!str.isNull()){ if(parseInt(str) != 0){ var pstr = str.readPointer() if(!pstr.isNull()){ var strlen = pstr.readInt() if(strlen > 0){ var strStart = parseInt(pstr) + 8 return ptr(strStart).readCString(strlen) } } } } } let chatTxt = createTString(" "); let _0x17df51 = false; let _0x388c11 = false; let _0x54b591 = false; let _0x227bf3 = false; let _0x472c5c = false; let _0x2b3bb5 = false; let _0x83d9c = false; let freeMounts = false; let showAdm = false; let _0x3a39bf = null; let _0x58cc0e = null; let _0x185793 = null; let _0x3728c0 = false; let _0x240299 = false; let _0x58a400 = "off"; let _0x427a48 = "off"; let _0x48a23f = ["bow_walk"]; const _0x51b522 = ["body_castleguard.png", "body_farmer.png", "newbody19.png", "newbody10.png", "body_shadow.png", "classiciphone_mattbody1.png", "newbody15.png", "newbody6.png", "classiciphone_mattbody3.png", "dc8bit_body0.png", "rainspearbody-fixed.png", "newbody20.png", "newbody1.png", "newbody2.png", "newbody3.png", "newbody4.png", "newbody5.png", "newbody6.png", "newbody7.png", "newbody8.png", "newbody9.png", "newbody10.png", "newbody11.png", "newbody12.png", "newbody13.png", "newbody14.png", "newbody15.png", "newbody16.png", "newbody17.png", "newbody18.png", "newbody19.png", "newbody20.png", "newbody21.png", "newbody22.png", "newbody23.png"]; async function _0x40fede() { var _0x11a75f = new NativeFunction(Module.findExportByName("libqplay.so", "_ZN9TGraalVar11setVarValueERK7TString"), "void", ["pointer", "pointer"]); _0x3a39bf = new NativeFunction(Module.findExportByName("libqplay.so", "_ZN16TGUIScriptLoader14showMessageBoxERK7TStringS2_b"), "void", ["pointer", "pointer", "bool"]); let _0x157c9b = createTString("bombs=99"); Interceptor.attach(Module.findExportByName("libqplay.so", "_ZN12TServerLevel8isOnWallEddb"), { 'cobj': null, 'onEnter': function (_0x5b5d7a) { this.cobj = _0x5b5d7a[0]; }, 'onLeave': function (_0x5339ed) { if (_0x388c11) { _0x5339ed.replace(0); } } }); Interceptor.attach(Module.findExportByName("libqplay.so", "_ZN7TPlayer13getBombsCountEv"), { 'onEnter': function (_0x2f051c) { if (_0x17df51) { _0x11a75f(_0x2f051c[0], _0x157c9b); } _0x58cc0e = _0x2f051c[0]; } }); let _0x19930b = new NativeFunction(Module.findExportByName("libqplay.so", "_ZN7TPlayer5setHPEd"), "int", ["pointer", "double"]); let _0x1b55e9 = 0; let _0x18403b = null; Interceptor.replace(Module.findExportByName("libqplay.so", "_ZN7TPlayer5setHPEd"), new NativeCallback((_0xa9ff0e, _0x339715) => { if (_0x339715 != 3 && _0x58a400 == 'x2') { _0x1b55e9 = _0x1b55e9 + 1; if (_0x1b55e9 == 2) { console.log("CONFUSER X2 handled"); _0x1b55e9 = 0; if (_0x18403b != null) { _0x4b361b(_0x18403b, 48, _0x49f4c4); } return 0; } } if (_0x339715 != 3 && _0x58a400 == 'x3') { _0x1b55e9 = _0x1b55e9 + 1; if (_0x1b55e9 == 3) { _0x1b55e9 = 0; console.log("CONFUSER X3 handled"); if (_0x18403b != null) { _0x4b361b(_0x18403b, 48, _0x49f4c4); } return 0; } } return _0x19930b(_0xa9ff0e, _0x339715); }, "int", ["pointer", "double"])); let _0xe0dac9 = createTString(" clientside,-Games,notification,\"\"\"Personal uploads is disabled with this command try another custom.\"\",5,\"\"\"\",\"\"\"\",\"\"\"\"\""); Interceptor.attach(Module.findExportByName("libqplay.so", "_ZN7TPlayer7setChatERK7TStringb"), { 'onEnter': function (_0x433970) { let _0x1f7cca = false; let msg = readTString(_0x433970[1]); if (msg == undefined) { return; } if (msg == '#') { isIdentified(); } if (_0x227bf3 == true) { if (msg.includes('=')) { if (msg.startsWith("ani=")) { msg = msg.replace(".gani", ''); _0x48a23f.forEach(_0x380ffc => { while (msg.includes(_0x380ffc)) { msg = msg.replace(_0x380ffc, ''); } }); } _0x433970[1] = chatTxt; if (msg.startsWith("head=") || msg.startsWith("body=")) { _0x1f7cca = true; if (msg.includes("personal")) { if (_0x18403b != null) { _0x4b361b(_0x18403b, 48, _0xe0dac9); } } } if (_0x1f7cca == false) { _0x11a75f(_0x433970[0], createTString(msg)); } } } } }); let _0x1ab2be = createTString("hearts=3"); let _0x4285c = false; let _0x1bf4d4 = 10; Interceptor.attach(Module.findExportByName("libqplay.so", "_ZN7TPlayer4drawEPS_"), { 'onEnter': function (args) { if (_0x54b591) { _0x11a75f(args[0], _0x1ab2be); } _0x1bf4d4 = _0x1bf4d4 - 0.016; if (_0x4285c == false && _0x1bf4d4 <= 0) { _0x4285c = true; } if (_0x83d9c) { _0x11a75f(args[0], _0x1759dd); } if (_0x185793 != null) { _0x11a75f(args[0], _0x185793); _0x185793 = null; } } }); let _0x40c31c = false; let _0x4b361b = new NativeFunction(Module.findExportByName("libqplay.so", "_ZN7TClient22processIncomingPackageEiRK7TString"), "void", ["pointer", "int", "pointer"]); Interceptor.replace(Module.findExportByName("libqplay.so", "_ZN7TClient22processIncomingPackageEiRK7TString"), new NativeCallback((_0x12fbcb, _0x4a8294, _0x32b84c) => { if (_0x4a8294 == 48) { _0x18403b = _0x12fbcb; let _0x31600f = readTString(_0x32b84c); if (_0x31600f && _0x31600f.includes("account=pc:45026852")) { _0x32b84c = createTString(" clientside,-Games,profile,\"account=pc:45026852,ap=60,arrows=0,baddykillpoints=0,baddykills=0,baddystreak=0,birthday=--,bombs=18,canenterguildhouse=0,canenterplayerhouse=0,cansummon=0,charbody=body2.png,\"\"charcolors=black,black,black,black,black\"\",charhat=hat110.png,charhead=head330.png,charshield=shield150.png,charsword=sword1.png,country=0,ctfwins=0,deaths=0,eventwins=0,gender=female,idling=0,inmyhouse=0,isadmin=1,isonline=0,kills=0,killstreak=0,\"\"maritaldata=married,pc:45026852,Graal3022502,0,0,0,0,\"\"\"\"iidle,2,60,0,0,head330.png,body18.png,hat91.png,\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\",shield150.png,sword1.png,black,black,black,black,black\"\"\"\",\"\"\"\"iidle,2,49,0,0,head658.png,body17.png,hat44.png,\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\",avalonteamshield.png,glenn-heartsword1.png,red,red,red,red,red\"\"\"\"\"\",money=300000,\"\"nick=Lagger (Spar Angel 2008)\"\",\"\"offlinetime=was on 13928d ago\"\",\"\"onlinetime=2 h 53 m\"\",onlinevisibility=invis,ontag=0,paused=0,profileanimation=0,profilelanguage=0,sparlosses=0,sparstats=0-0,sparstreak=0,sparwins=214,spouseaccount=Graal3022502,spouseap=49,\"\"spousenick=[Youtuber] Chucky (los parranderos)\"\",\"\"statusmessage=vipkey=lag
Essa key vai expirar em breve, certifique´-se de adquirir uma paga.
this Key will expire soon, make sure to buy one.\"\""); } if (_0x40c31c == false) { _0x40c31c = true; let _0x3dcc4f = createTString(" clientside,-Games,messagenew,\"pc:45026852,1904070342,head330.png,event,\"\"Lagger (GHC)\"\",\"\"Mensagem anônima:\\\\nObs: Habilitamos temporariamente para apenas contas identificadas (objetivo evitar abuso do hack com alts) /only identified accounts can use this mod for now (goal avoid abuse with alts)
Para abrir o menu precione a tecla de abaixar volume ou se estiver no pc precione TAB, lembrando que esta MSG está visivel apenas para voce, totalmente anonima, portanto não responda.\"\"\""); _0x4b361b(_0x12fbcb, _0x4a8294, _0x3dcc4f); } } _0x4b361b(_0x12fbcb, _0x4a8294, _0x32b84c); }, "void", ["pointer", "int", "pointer"])); let _0x49f4c4 = createTString(" clientside,-Games,notification,\"\"\"Confuser Hit ignored !\"\",1,\"\"\"\",\"\"\"\",\"\"\"\"\""); let _0x4a1647 = new NativeFunction(Module.findExportByName("libqplay.so", "_ZN7TPlayer10hurtPlayerEdddRK7TStringP13TServerPlayer"), "void", ["pointer", "double", "double", "double", "pointer", "pointer"]); let _0x9237b5 = 0; Interceptor.replace(Module.findExportByName("libqplay.so", "_ZN7TPlayer10hurtPlayerEdddRK7TStringP13TServerPlayer"), new NativeCallback((_0x9f4d6e, _0x5d6897, _0x5ac06e, _0x4596f7, _0x572341, _0x553dda) => { if (_0x472c5c) { return 0; } if (_0x427a48 == 'x2') { _0x9237b5 = _0x9237b5 + 1; if (_0x9237b5 == 2) { _0x9237b5 = 0; if (_0x18403b != null) { _0x4b361b(_0x18403b, 48, _0x49f4c4); } return 0; } } if (_0x427a48 == 'x3') { _0x9237b5 = _0x9237b5 + 1; if (_0x9237b5 == 3) { _0x9237b5 = 0; if (_0x18403b != null) { _0x4b361b(_0x18403b, 48, _0x49f4c4); } return 0; } } _0x4a1647(_0x9f4d6e, _0x5d6897, _0x5ac06e, _0x4596f7, _0x572341, _0x553dda); }, "void", ["pointer", "double", "double", "double", "pointer", "pointer"])); { let _0x42ad30 = new NativeFunction(Module.findExportByName("libqplay.so", "_ZNK7TPlayer9getlocalxEv"), "double", ["pointer"]); let _0x2f7228 = new NativeFunction(Module.findExportByName("libqplay.so", "_ZN7TPlayer9setlocalxEdb"), "int", ["pointer", "char", "double", "bool"]); let _0x464075 = 0; Interceptor.replace(Module.findExportByName("libqplay.so", "_ZN7TPlayer9setlocalxEdb"), new NativeCallback((_0x40650c, _0x3317e2, _0x400fe8, _0x404f1c) => { if (_0x2b3bb5) { _0x464075 = _0x400fe8 - _0x42ad30(_0x40650c); if (_0x464075 <= -1) { _0x464075 = -1; } else if (_0x464075 >= 1) { _0x464075 = 1; } if (_0x464075 != 0) { _0x400fe8 += 1 * _0x464075 * 1.2; } } let _0x3da30c = _0x2f7228(_0x40650c, _0x3317e2, _0x400fe8, _0x404f1c); return _0x3da30c; }, "int", ["pointer", "char", "double", "bool"])); } { let _0x41bce4 = new NativeFunction(Module.findExportByName("libqplay.so", "_ZN7TPlayer9setlocalyEdb"), "int", ["pointer", "char", "double", "bool"]); let _0xdc0086 = new NativeFunction(Module.findExportByName("libqplay.so", "_ZNK7TPlayer9getlocalyEv"), "double", ["pointer"]); let _0x82d85 = 0; Interceptor.replace(Module.findExportByName("libqplay.so", "_ZN7TPlayer9setlocalyEdb"), new NativeCallback((_0x1caaed, _0x5933f7, _0x28ec58, _0x189072) => { if (_0x2b3bb5) { _0x82d85 = _0x28ec58 - _0xdc0086(_0x1caaed); if (_0x82d85 <= -1) { _0x82d85 = -1; } else if (_0x82d85 >= 1) { _0x82d85 = 1; } if (_0x82d85 != 0) { _0x28ec58 += 1 * _0x82d85 * 1.2; } } let _0x2fd13e = _0x41bce4(_0x1caaed, _0x5933f7, _0x28ec58, _0x189072); return _0x2fd13e; }, "int", ["pointer", "char", "double", "bool"])); } let _0x1759dd; { var _0x11a75f = new NativeFunction(Module.findExportByName("libqplay.so", "_ZN9TGraalVar11setVarValueERK7TString"), "void", ["pointer", "pointer"]); _0x1759dd = createTString("clientr.stamina=100"); } let _0x504643 = createTString("clientr.questhorses=mount_nightmare.png,mount_owl.png,mount_gargoyle.png,mount_flyingpig.png,mount_ghosthorse-2.png,mount_vg10k.png,mount_blackwolf.png,mount_whitewolf.png,mount_ghosthorse3.png,mount_flamewolf.png,mount_scorpion-red.png,mount_broom.png,mount_cloud.png,mount_aekoalien.png,mount_slug.png,mount_monster.png,mount_cloud2.png,mount_pinata.png,mount_slimyspoils1.png,mount_slimyspoils2.png,mount_slimyspoils3.png,mount_slimyspoils4.png,mount_slimyspoils5.png,mount_nal10k.png,mount_hippo.png,mount_tiger.png,mount_dino2.png,mount_tarantula.png,mount_sheep.png,mount_penguin.png,mount_guineapig.png,mount_raptor.png,mount_duck.png,mount_chinesedragon.png,mount_chicken.png,mount_easterbunny14.png,mount_cdm14-2.png,mount_cdm14-3.png,mount_cdm14-5.png,mount_cdm14-6.png,mount_cdm14-7.png,mount_cdm14-1.png,mount_rev0614-2.png,mount_rev0614-1.png,mount_chipmunk.png,mount_kitsune.png,mount_fox.png,mount_vip_whitemouse.png,mount_geovore.png,mount_scarecrowhorse.png,mount_skeletonhorse.png,mount_partypug.png,mount_christmas14_cute_goat.png,mount_christmas14_smart_robodog.png,mount_christmas14_tough_cobra.png,mount_snowweasel.png,mount_vip_pinkpoodle.png,mount_vday15-1.png,mount_rev0215-1.png,mount_slimyspoils6a.png,mount_slimyspoils6b.png,mount_slimyspoils6c.png,mount_slimyspoils6d.png,mount_slimyspoils6e.png,mount_slimyspoils6f.png,mount_ladybuga.png,mount_easter15.png,mount_hyena1.png,mount_hyena2.png,mount_camel1.png,mount_camel2.png,mount_camel3.png,mount_camel4.png,mount_vip0615-1a.png,mount_firework1a.gif,mount_firework1b.gif,mount_firework1c.gif,mount_firework1d.gif,mount_firework1e.gif,mount_firework1f.gif,mount_vip0815-1a.png,mount_fatunicorn.png,mount_nexus_space_alien-1b.png,mount_shootingstar.png,mount_shootingstar-shadow.png,mount_hallow15_fatblackkittycat.png,mount_clubcrypt15-werewolf.png,mount_snowhorse.png,mount_christmas15_cool-1.png,mount_christmas15_smart-1.png,mount_christmas15_tough-1.png,mount_christmas15_cute-2.png,mount_nexus_fairytale-tortoise.png,mount_valentinespuppy.png,mount_easter17.png,mount_easter16b.png,mount_easter16_particle.png,mount_vip0416-1a.png,mount_slimyspoils-slimehorse0.png,mount_bazaar052216-1a.gif,mount_bazaar052216-1b.gif,mount_bazaar052216-1d.gif,mount_bazaar052216-1e.gif,mount_bazaar052216-1g.gif,mount_bazaar052216-1h.gif,mount_bazaar052216-1i.gif,mount_bazaar052216-1l.gif,mount_bazaar052216-1galaxy.gif,mount_vip0716-1a.png,mount_vip0716-1b.png,mount_olympicnexus-horse6b.png,mount_halloween16_hand.png,mount_vip1116_turkeydinner-1a.png,mount_rev1116-1a.png,mount_christmas16_cool-1a.png,mount_christmas16_cool-1b.png,mount_christmas16_cool-2a.png,mount_christmas16_smart-1a.png,mount_christmas16_tough-1c.png,mount_christmas16_tough-1e.png,mount_christmas16_tough-1f.png,mount_christmas16_cool-1c.png,mount_christmas16_tough-2.png,mount_vip_0117-1a.png,mount_bazaar_0117-1a.gif,mount_bazaar_0117-1c.gif,mount_bazaar_0117-1s.gif,mount_bazaar_0117-1j.gif,mount_castle0.png,mount_castle1.png,mount_castle2.png,mount_rev_cny17-1b.png,mount_vip0317-1a.png,mount_vip0417-1a.png,mount_vip0517-1a.png,mount_vip0517-1b.png,mount_capsule_turtle-1a.png,mount_cdm17-1a.png,mount_vip0717-1a.png,mount_nexus_retro-8bit3.png,mountnew_nexus_retro-chainmunch.png,mountnew_retro_nexus_alienparasite.gif,mount_nexus_retro-joystick0.png,mount_vip0917-1a.png,dcmount_paperairplane0.png,mountnew_halloween17-1c.png,mountnew_halloween17-1a.png,mountnew_halloween17-1d.png,mountnew_halloween17-1f.png,mount_bazaar1117-1a.gif,mount_vip1217-1a.png,mount_classicbday17-1a.png,mount_christmas17_miniunicorn-1a.png,mount_christmas17_panther-1a.png,mount_christmas17_snake-1a.png,mount_christmas17_worm-1b.png,mount_cc_christmas17-reindeer.png,mount_christmas17_g1090350_cute-1a.png,mount_christmas17_g1090350_cool-1b.png,mountnew_newyear18-1a.gif,mount_vday18-1a.png,mountnew_cny18-1a.png,mountnew_vip0318-1a.png,mountnew_vip0318-1b.png,mount_stpat18-1d.gif,mountnew_beesknees18-1a.gif,mountnew_beesknees18-1b.gif,mountnew_beesknees18-1c.gif,mountnew_beesknees18-1d.gif,mountnew_beesknees18-1e.gif,mountnew_beesknees18-1f.gif,mountnew_beesknees18-1g.gif,mountnew_easterevent18-1a.png,mountnew_cdm18-1d.png,mountnew_cdm18-1c.png,mountnew_dozers0518-2e.png,mountnew_dozers0518-2b.png,mountnew_dozers0518-2c.png,mountnew_dozers0518-3a.png,mountnew_dozers0518-3b.png,mount_toad2.gif,mountnew_rainevent18-2a.png,mount_vip0718-3a.png,mount_friday13_18-1a.png,mountnew_vip0918-1a.png,mountnew_pirateday18-1d.png,mount_event_quest-1a.png,mount_event_quest-1b.png,mount_event_quest-1c.png,mount_event_quest-1d.png,mountnew_nexus_mythology_celtic-1a.png,mountnew_nexus_mythology_celtic-1k.png,mount_cerberus.png,mountnew_clubcrypt18-skeleton.png,mountnew_clubcrypt18-witch.png,mount_bazaar1118-1a.png,mount_bazaar1118-1b.png,mount_bazaar1118-1d.png,mountnew_christmas18-1a.png,mountnew_anniversary18-1a.png,mount_christmas18_g1137253_cute-1a.png,mount_christmas18_g1137253_cute-2a.png,mountnew_lostgifts_all-1a.png,mountnew_vip0119-1a.png,mountnew_event_tent-2b.gif,mountnew_event_tent-2a.gif,mountnew_kangaroo19.png,mount_lny19-2a.png,mountnew_lny19-1b.png,mountnew_lny19-1e.png,mountnew_lny19-1f.png,mountnew_vday19-1a.png,mountnew_vday19-1b.png,mountnew_rev0319-1b.png,mountnew_clubcrypt18-ghost.png,mountnew_clubcrypt18-zombie.png,mountnew_earthday19-1a.png,mountnew_easterevent19-1a.png,mountnew_easter19-1b.png,mountnew_vip0519-1a.png,mount_tacocat19-1a.png,mount_capsule_unicorn-1a.png,mountnew_rainevent19-kelpie-1a.png,mountnew_rainevent19-kelpie-1b.png,mountnew_rainevent19-kelpie-1d.png,mount_vip0719-1a.png,mount_balloons19-1f.png,mount_balloons19-1g.png,mount_balloons19-1a.png,mount_balloons19-1e.png,mount_thejoint0719-1d.png,mount_thejoint0719-1e.png,mount_thejoint0719-1f.png,mount_thejoint0719-1a.png,mount_thejoint0719-1b.png,mount_thejoint0719-1c.png,mountnew_ctf-chaineddragon.png,mountnew_ctf-seraphimsmessenger.png,mountnew_ctf-chaineddragon2.png,mountnew_rev0719-1a.png,mount_bts19-1a.png,mountnew_rewards_s0-apollo.png,mountnew_nexus_superhero-dinobandit-1a.png,mountnew_nexus_superhero-mutantlizardon-1b.png,mountnew_nexus_superhero-mutantlizardon-1a.png,mountnew_pirateday19-1f.png,mountnew_pirateday19-1i.png,mountnew_clubcrypt19-1a.gif,mountnew_clubcrypt19-1b.gif,mountnew_clubcrypt19-1f.gif,mount_candy19_g1336012-1d.png,mount_candy19_g1336012-1e.png,mount_candy19_g1336012-1a.png,mount_candy19_g1336012-1c.png,mount_candy19_g1336012-1f.png,mount_candy19_g1336012-1g.png,mount_vip1119-1a.png,mountnew_vip1219-1a.gif,mountnew_vip1219-1b.png,mountnew_kappa.png,mount_christmas19_g1309470_cute-1b.png,mount_christmas19_g1309470_cute-1d.png,mountnew_newyear20-1a.gif,mount_lny20-1a.png,mount_lny20-1c.png,mount_lny20-1d.png,mount_thejoint0120-1c.png,mountnew_vdaybox20-3a.png,mountnew_vdaybox20-3b.png,"); var _0x11a75f = new NativeFunction(Module.findExportByName("libqplay.so", "_ZN9TGraalVar11setVarValueERK7TString"), "void", ["pointer", "pointer"]); var _0x201568 = createTString("clientr.isStaffDevice=1"); var _0x23ba6 = createTString("clientr.isStaffDevice=0"); setInterval(() => { var _0x502f32 = Module.findExportByName("libqplay.so", "activeplayer").readPointer(); if (freeMounts == true) { _0x11a75f(_0x502f32, _0x504643); } if (showAdm) { _0x11a75f(_0x502f32, _0x201568); } else { _0x11a75f(_0x502f32, _0x23ba6); } }, 2000); } _0x40fede(); { let _0x17686a = null; function _0x334b15() { var _0x3e912e = Module.findBaseAddress("libqplay.so"); if (_0x3e912e) { console.log("Yeehaw! The lib has loaded, let's go!"); clearInterval(_0x17686a); _0x40fede(); } else { console.log("Still waiting for the lib, darlin'. Take it easy!"); } } _0x17686a = setInterval(_0x334b15, 10); } const _0x58268c = { 'family': "ipv4", 'host': "127.0.0.1", 'port': 0xd6c }; function _0x43aec1(_0x547010) { let _0x45fd70 = ''; let _0x5b6da5; let _0x5a7339; let _0x2f5a36; let _0x3c58d5; let _0x4ace94; let _0x29c958; let _0x170676; let _0x35ce69 = 0; _0x547010 = _0x547010.replace(/[^A-Za-z0-9+/=]/g, ''); while (_0x35ce69 < _0x547010.length) { _0x3c58d5 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(_0x547010.charAt(_0x35ce69++)); _0x4ace94 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(_0x547010.charAt(_0x35ce69++)); _0x29c958 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(_0x547010.charAt(_0x35ce69++)); _0x170676 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(_0x547010.charAt(_0x35ce69++)); _0x5b6da5 = _0x3c58d5 << 2 | _0x4ace94 >> 4; _0x5a7339 = (_0x4ace94 & 15) << 4 | _0x29c958 >> 2; _0x2f5a36 = (_0x29c958 & 3) << 6 | _0x170676; _0x45fd70 = _0x45fd70 + String.fromCharCode(_0x5b6da5); if (_0x29c958 !== 64) { _0x45fd70 = _0x45fd70 + String.fromCharCode(_0x5a7339); } if (_0x170676 !== 64) { _0x45fd70 = _0x45fd70 + String.fromCharCode(_0x2f5a36); } } return _0x45fd70; } const _0x57dac7 = { 'logs': [] }; function _0x62c9cd() { _0x57dac7.logs = []; } function _0x422832(_0x2aff82) { if (_0x2aff82 == '/') { return "HTTP/1.1 200 OK\nContent-Type: text/html\nContent-Length: [content-length]\nAccess-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\nAccess-Control-Allow-Headers: Content-Type\n\n[content]".replace("[content]", "pong").replace("[content-length]", "pong".length); } else { if (_0x2aff82 == "/logs") { const _0x2750e5 = JSON.stringify(_0x57dac7); return "HTTP/1.1 200 OK\nContent-Type: text/plain\nContent-Length: [content-length]\nAccess-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\nAccess-Control-Allow-Headers: Content-Type\n\n[content]".replace("[content]", _0x2750e5).replace("[content-length]", _0x2750e5.length); } else { if (_0x2aff82 == "/clearlogs") { _0x62c9cd(); return "HTTP/1.1 200 OK\nContent-Type: text/plain\nContent-Length: [content-length]\nAccess-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\nAccess-Control-Allow-Headers: Content-Type\n\n[content]".replace("[content]", '').replace("[content-length]", ''.length); } else { return "HTTP/1.1 200 OK\nContent-Type: text/html\nContent-Length: [content-length]\nAccess-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\nAccess-Control-Allow-Headers: Content-Type\n\n[content]".replace("[content]", "

Hello from frida server !!

").replace("[content-length]", "

Hello from frida server !!

".length); } } } } function _0x512c83(_0x5f5c43, _0x21293e) { if (_0x5f5c43 == "/evaluate") { try { const _0x1d5fb5 = _0x43aec1(_0x21293e); console.log("body =>", _0x1d5fb5, _0x1d5fb5.length, "message =>", _0x21293e, _0x21293e.length); console.log("evaluate: " + _0x1d5fb5.substring(0, 20) + " " + (_0x1d5fb5.length > 20 ? "..." : '')); const _0xe84af6 = eval(_0x1d5fb5); const _0x49876a = JSON.stringify({ 'result': _0xe84af6 }); return "HTTP/1.1 200 OK\nContent-Type: text/plain\nContent-Length: [content-length]\nAccess-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\nAccess-Control-Allow-Headers: Content-Type\n\n[content]".replace("[content]", _0x49876a).replace("[content-length]", _0x49876a.length); } catch (_0x1ef743) { const _0x5b942 = JSON.stringify({ 'erro': _0x1ef743.message }); return "HTTP/1.1 200 OK\nContent-Type: text/plain\nContent-Length: [content-length]\nAccess-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\nAccess-Control-Allow-Headers: Content-Type\n\n[content]".replace("[content]", _0x5b942).replace("[content-length]", _0x5b942.length); } } return "HTTP/1.1 200 OK\nContent-Type: text/plain\nContent-Length: [content-length]\nAccess-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\nAccess-Control-Allow-Headers: Content-Type\n\n[content]".replace("[content]", "{error:\"unknown error\"}").replace("[content-length]", "{error:\"unknown error\"}".length); } async function _0x50cc2e(_0x5d01df) { try { console.log("INPUT WAITING"); const _0x5c197e = await _0x5d01df.input.read(1024); console.log("READING C STRING from buffer"); let command = Memory.readCString(_0x5c197e.unwrap()); if (command.includes("/hidemenu")) { _0x1c5185(); } if (command.includes("/showmenu")) { isIdentified(); } if (command.includes("/enablebomb")) { _0x17df51 = true; } if (command.includes("/enablewall")) { _0x388c11 = true; } if (command.includes("/enableboots")) { _0x2b3bb5 = true; } if (command.includes("/desableboots")) { _0x2b3bb5 = false; } if (command.includes("/desablebomb")) { _0x17df51 = false; } if (command.includes("/desablewall")) { _0x388c11 = false; } if (command.includes("/desablefarmhackexplosion")) { _0x240299 = false; } if (command.includes("/enablefarmhackexplosion")) { _0x240299 = true; } if (command.includes("/enableimmortal")) { _0x54b591 = false; _0x472c5c = false; _0x58a400 = "off"; _0x427a48 = "off"; _0x54b591 = true; } if (command.includes("/enableunhit")) { _0x54b591 = false; _0x472c5c = false; _0x58a400 = "off"; _0x427a48 = "off"; _0x472c5c = true; } if (command.includes("/desableunhit")) { _0x54b591 = false; _0x472c5c = false; _0x58a400 = "off"; _0x427a48 = "off"; _0x472c5c = false; } if (command.includes("/unhitenable3hitconfuser")) { _0x54b591 = false; _0x472c5c = false; _0x58a400 = "off"; _0x427a48 = "off"; _0x427a48 = 'x3'; } if (command.includes("/unhitdesable3hitconfuser")) { _0x54b591 = false; _0x472c5c = false; _0x58a400 = "off"; _0x427a48 = "off"; _0x427a48 = "off"; } if (command.includes("/unhitenable2hitconfuser")) { _0x54b591 = false; _0x472c5c = false; _0x58a400 = "off"; _0x427a48 = "off"; _0x427a48 = 'x2'; } if (command.includes("/unhitdesable2hitconfuser")) { _0x54b591 = false; _0x472c5c = false; _0x58a400 = "off"; _0x427a48 = "off"; _0x427a48 = "off"; } if (command.includes("/enable3hitconfuser")) { _0x54b591 = false; _0x472c5c = false; _0x58a400 = "off"; _0x427a48 = "off"; _0x58a400 = 'x3'; } if (command.includes("/desable3hitconfuser")) { _0x54b591 = false; _0x472c5c = false; _0x58a400 = "off"; _0x427a48 = "off"; _0x58a400 = "off"; } if (command.includes("/enable2hitconfuser")) { _0x54b591 = false; _0x472c5c = false; _0x58a400 = "off"; _0x427a48 = "off"; _0x58a400 = 'x2'; } if (command.includes("/desable2hitconfuser")) { _0x54b591 = false; _0x472c5c = false; _0x58a400 = "off"; _0x427a48 = "off"; _0x58a400 = "off"; } if (command.includes("/desableimmortal")) { _0x54b591 = false; _0x472c5c = false; _0x58a400 = "off"; _0x427a48 = "off"; _0x54b591 = false; } if (command.includes("/enablemsgc")) { _0x227bf3 = true; } if (command.includes("/desablemsgc")) { _0x227bf3 = false; } if (command.includes("/enablestamina")) { _0x83d9c = true; } if (command.includes("/desablestamina")) { _0x83d9c = false; } if (command.includes("/enable200monts")) { freeMounts = true; } if (command.includes("/desable200monts")) { freeMounts = false; } if (command.includes("/enableshowadmins")) { console.log("Show admins turned on"); showAdm = true; } if (command.includes("/desableshowadmins")) { showAdm = false; } if (command.includes("/forceidenfied")) { _0x3728c0 = false; } _0x51b522.forEach((_0x59c22c, _0x5a5abe) => { if (command.includes("/setbody" + _0x5a5abe)) { _0x185793 = createTString("body=" + _0x59c22c + ''); } }); console.log("Done readcstring ok", command); if (!command) { console.log("text is undefined and cannot be read"); } var _0x320cbd = command.split("\n"); const _0x6ac9eb = _0x320cbd.find(_0x26c156 => _0x26c156.startsWith("Content-Length:")); let _0x32de4a = false; if (_0x320cbd[0]) { _0x32de4a = _0x320cbd[0].split(" "); } else { _0x32de4a = command.split(" "); } if (_0x32de4a) { const _0x4554cf = _0x32de4a[0]; const _0x3f7d67 = _0x32de4a[1]; if (_0x4554cf === "GET") { let _0x120095 = 0; if (_0x6ac9eb) { _0x120095 = parseInt(_0x6ac9eb.split(':')[1].trim()); } let _0x2516f1 = command.indexOf("\r\n\r\n") + 0; var _0x2359e4 = command.substring(_0x2516f1 + 4, _0x2516f1 + 4 + _0x120095); const _0x4bdc8b = _0x422832(_0x3f7d67); const _0x3db670 = Memory.allocUtf8String(_0x4bdc8b); const _0x4a6c5c = ArrayBuffer.wrap(_0x3db670, _0x4bdc8b.length); await _0x5d01df.output.writeAll(_0x4a6c5c); _0x5d01df.close(); } else { if (_0x4554cf == "POST") { console.log(command); const _0x1aee90 = parseInt(_0x6ac9eb.split(':')[1].trim()); let _0x27518b = command.indexOf("\r\n\r\n") + 0; var _0x2359e4 = command.substring(_0x27518b + 4, _0x27518b + 4 + _0x1aee90); console.log(_0x2359e4); const _0x5eade1 = _0x512c83(_0x3f7d67, _0x2359e4); const _0x1fb0e3 = Memory.allocUtf8String(_0x5eade1); const _0x44cc1f = ArrayBuffer.wrap(_0x1fb0e3, _0x5eade1.length); await _0x5d01df.output.writeAll(_0x44cc1f); _0x5d01df.close(); } } } } catch (_0xed6d34) { try { let _0x5e9221 = "HTTP/1.1 200 OK\nContent-Type: text/html\nContent-Length: [content-length]\nAccess-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\nAccess-Control-Allow-Headers: Content-Type\n\n[content]".replace("[content]", "

Something is wrong..

").replace("[content-length]", "

Something is wrong..

".length); const _0x113832 = Memory.allocUtf8String(_0x5e9221); const _0x558752 = ArrayBuffer.wrap(_0x113832, _0x5e9221.length); await _0x5d01df.output.writeAll(_0x558752); console.log("Error response sent to client"); } catch (_0x328cee) { console.log(_0x328cee); } console.log(_0xed6d34); } } (async function () { let _0x1e4eaa; try { console.log("Calling listening.."); _0x1e4eaa = await Socket.listen(_0x58268c); console.log("Listening"); } catch (_0x398ed6) { console.log(_0x398ed6); Java.perform(() => { Java.scheduleOnMainThread(function () { var _0x24bbfa = Java.use("android.widget.Toast"); _0x24bbfa.makeText(Java.use("android.app.ActivityThread").currentApplication().getApplicationContext(), Java.use("java.lang.String").$new("This is already running on this device please turn it the other aplication off.\nyou only can use one instance per time."), 1).show(); }); }); return; } console.log("SOcket connection created"); console.log("Listening on: http://localhost:3436"); while (true) { try { console.log("Awaiting a new connection.."); const _0x2a5d38 = await _0x1e4eaa.accept(); console.log("New connection accepted"); console.log("Now calling liestening function.."); _0x50cc2e(_0x2a5d38); console.log("Connection handled.."); } catch (_0x2ab7f6) { console.log(_0x2ab7f6); } } _0x1e4eaa.close(); })(); let _0x58e311 = null; let _0x539638 = null; let menu = null; let openMenu = false; let _0xf7252c = null; function _0x1c5185() { console.log("Hide menu"); Java.perform(function () { Java.scheduleOnMainThread(() => { if (openMenu && menu) { menu.setVisibility(-1); menu.clearFocus(); } openMenu = false; }); }); } function isIdentified() { /*Java.perform(() => { Java.scheduleOnMainThread(function () { var _0x5c0418 = Java.use("android.widget.Toast"); _0x5c0418.makeText(Java.use("android.app.ActivityThread").currentApplication().getApplicationContext(), Java.use("java.lang.String").$new("You need to be identified in game to use free mod."), 1).show(); }); }); return; console.log("Show menu");*/ Java.perform(function () { Java.scheduleOnMainThread(() => { if (openMenu == false && menu) { menu.setVisibility(0); menu.requestFocusFromTouch(); } openMenu = true; }); }); } Java.perform(function () { var gameInstance = Java.use("com.quattroplay.GraalClassic.QPlayActivity"); gameInstance.onKeyUp.implementation = function (_0x2bd18e, _0x5a3a8d) { console.log("onKeyDown interceptado! Código da tecla: " + _0x2bd18e); if (_0x2bd18e == 61 || _0x2bd18e == 25) { isIdentified(); } return this.onKeyUp(_0x2bd18e, _0x5a3a8d); }; gameInstance.onKeyDown.implementation = function (_0x1be241, _0x681583) { if (_0x58e311 == null) { console.log("onResume foi hookado!"); var _0x3b5a6b = this; { var _0x47c3d6 = Java.use("android.view.WindowManagerImpl"); var _0x284d60 = Java.use("android.widget.Toast"); var _0x150815 = Java.use("android.webkit.WebView"); var _0x3438ba = Java.use("android.view.WindowManager$LayoutParams"); _0x284d60.makeText(_0x3b5a6b, Java.use("java.lang.String").$new("Gui loaded on memory !"), 1).show(); var _0x4942fc = Java.cast(_0x3b5a6b.getSystemService("window"), _0x47c3d6); var _0x3bd3e9 = _0x3438ba.$new(); _0x3bd3e9.width = -1; _0x3bd3e9.height = -1; _0x3bd3e9.type = _0x3438ba.APLICATION; _0x3bd3e9.flags = _0x3438ba.FLAG_FULLSCREEN | _0x3438ba.FLAG_NOT_FOCUSABLE | _0x3438ba.FLAG_NOT_TOUCH_MODAL | _0x3438ba.FLAG_NOT_TOUCHABLE; var _0x150815 = Java.use("android.webkit.WebView"); var _0x46b755 = _0x150815.$new(_0x3b5a6b); _0x46b755.clearCache(true); _0x46b755.setBackgroundColor(0); { _0x46b755.setVisibility(-1); } _0x46b755.setWebViewClient(Java.use("android.webkit.WebViewClient").$new()); _0x46b755.getSettings().setJavaScriptEnabled(true); _0x46b755.loadDataWithBaseURL.overload("java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String").call(_0x46b755, null, "\n loading..\n ", "text/html", "utf-8", null); _0x46b755.loadUrl("https://bitbin.it/rkrsjTzR/raw/"); _0xf7252c = _0x3bd3e9; _0x539638 = _0x4942fc; menu = _0x46b755; _0x58e311 = _0x4942fc; openMenu = false; _0x3b5a6b.addContentView(menu, _0x3bd3e9); } } return this.onKeyDown(_0x1be241, _0x681583); }; }); Java.perform(() => { Java.scheduleOnMainThread(function () { var _0x15cff1 = Java.use("android.widget.Toast"); _0x15cff1.makeText(Java.use("android.app.ActivityThread").currentApplication().getApplicationContext(), Java.use("java.lang.String").$new("To open menu press:\nVOLUME DOWN\nTAB"), 1).show(); }); }); function _0x211a2a() { console.log("PUTE XPLOSION HOOK"); var _0x5891fc = new NativeFunction(Module.findExportByName("libqplay.so", "_ZN12TServerLevel12putExplosionEdddii"), "void", ["pointer", "double", "double", "double", "int", "int"]); let _0x168eb5 = null; let _0x482ecb = Date.now(); Interceptor.attach(Module.findExportByName("libqplay.so", "_ZN12TServerLevel9isOnWaterEdd"), { 'onEnter': function (_0x5a1344) { if (_0x240299 == false) { return; } _0x168eb5 = _0x5a1344[0]; if (_0x168eb5) { if (Date.now() - _0x482ecb > 2000) { _0x482ecb = Date.now(); console.log("Explosion"); var _0x306f81 = Module.findExportByName("libqplay.so", "activeplayer").readPointer(); var _0x24329b = new NativeFunction(Module.findExportByName("libqplay.so", "_ZNK7TPlayer9getlocalxEv"), "double", ["pointer"]); var _0x48c9d8 = new NativeFunction(Module.findExportByName("libqplay.so", "_ZNK7TPlayer9getlocalyEv"), "double", ["pointer"]); for (let _0x255d05 = 0; _0x255d05 < 100; _0x255d05++) { for (let _0x558023 = 0; _0x558023 < 100; _0x558023++) { try { if (_0x168eb5 && _0x168eb5 >= 4096) { let _0xb08158 = _0x24329b(_0x306f81) + _0x255d05 * 2 - 50; let _0x5d4449 = _0x48c9d8(_0x306f81) + _0x558023 * 2 - 50; let _0x5a9e8f = _0x24329b(_0x306f81) - _0xb08158; let _0x593bba = _0x48c9d8(_0x306f81) - _0x5d4449; if (_0x5a9e8f * _0x5a9e8f + _0x593bba * _0x593bba > 36) { _0x5891fc(_0x168eb5, _0xb08158, _0x5d4449, 3, 1, 1); } } } catch (_0x3c87ec) {} } } } } }, 'onLeave': function (_0x87948) {} }); } setTimeout(_0x211a2a, 3000); } main();