@jshookmcp/jshook 0.2.9 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/README.zh.md +2 -2
- package/dist/{AntiCheatDetector-BNk-EoBt.mjs → AntiCheatDetector-CqGDXmfc.mjs} +159 -53
- package/dist/{CodeInjector-Cq8q01kp.mjs → CodeInjector-BdjRfNx7.mjs} +5 -5
- package/dist/{ConsoleMonitor-CPVQW1Y-.mjs → ConsoleMonitor-DykL3IAw.mjs} +85 -17
- package/dist/{DetailedDataManager-BQQcxh64.mjs → DetailedDataManager-HT49OrvF.mjs} +1 -1
- package/dist/{ExtensionManager-CWYgw0YW.mjs → ExtensionManager-BDMsY2Dz.mjs} +15 -8
- package/dist/{HardwareBreakpoint-B9gZCdFP.mjs → HardwareBreakpoint-Cc2AFq1Y.mjs} +3 -3
- package/dist/{HeapAnalyzer-BLDH0dCv.mjs → HeapAnalyzer-DruMgsgj.mjs} +20 -20
- package/dist/{HookGeneratorBuilders.core.generators.storage-CtcdK78Q.mjs → HookGeneratorBuilders.core.generators.storage-CTbB4Lcx.mjs} +1 -74
- package/dist/{InstrumentationSession-CvPC7Jwy.mjs → InstrumentationSession-DLH0vd-z.mjs} +2 -2
- package/dist/{MemoryController-CbVdCIJF.mjs → MemoryController-CMtviNW_.mjs} +3 -3
- package/dist/{MemoryScanSession-BsDZbLYm.mjs → MemoryScanSession-ITgb_NMi.mjs} +2 -2
- package/dist/{MemoryScanner-Bcpml6II.mjs → MemoryScanner-CiL7Z3ey.mjs} +12 -9
- package/dist/{NativeMemoryManager.impl-dZtA1ZGn.mjs → NativeMemoryManager.impl-D9Lkovvn.mjs} +13 -10
- package/dist/{NativeMemoryManager.utils-B-FjA2mJ.mjs → NativeMemoryManager.utils-BBlAixF5.mjs} +1 -1
- package/dist/{PEAnalyzer-D1lzJ_VG.mjs → PEAnalyzer-DMQ44gen.mjs} +15 -15
- package/dist/{PageController-Bqm2kZ_X.mjs → PageController-BPJNqqBN.mjs} +18 -4
- package/dist/{PointerChainEngine-BOhyVsjx.mjs → PointerChainEngine-K7wN8Z-w.mjs} +10 -7
- package/dist/ProcessRegistry-zGg12QbE.mjs +74 -0
- package/dist/{ResponseBuilder-D3iFYx2N.mjs → ResponseBuilder-CJXWmWNw.mjs} +10 -10
- package/dist/{ScriptManager-aHHq0X7U.mjs → ScriptManager-ZuWD-0Jg.mjs} +195 -192
- package/dist/{Speedhack-CqdIFlQl.mjs → Speedhack-D-z0umeT.mjs} +2 -2
- package/dist/{StructureAnalyzer-DhFaPvRO.mjs → StructureAnalyzer-Cav5AVSL.mjs} +9 -6
- package/dist/{ToolCatalog-C0JGZoOm.mjs → ToolCatalog-5OJdMiF0.mjs} +81 -81
- package/dist/{ToolProbe-oC7aPrkv.mjs → ToolProbe-DbCFGyrg.mjs} +1 -1
- package/dist/{ToolRegistry-BjaF4oNz.mjs → ToolRegistry-B9krbTtI.mjs} +51 -2
- package/dist/{ToolRouter.policy-BWV67ZK-.mjs → ToolRouter.policy-BGDAGyeH.mjs} +60 -20
- package/dist/TraceRecorder-B41Z5XBj.mjs +1286 -0
- package/dist/{Win32API-CePkipZY.mjs → Win32API-C2kjj0ze.mjs} +18 -12
- package/dist/{Win32Debug-BvKs-gxc.mjs → Win32Debug-CKrGOTpo.mjs} +2 -2
- package/dist/{WorkflowEngine-CuvkZtWu.mjs → WorkflowEngine-DJ6M4opp.mjs} +226 -255
- package/dist/analysis-BHeJW2Nb.mjs +1234 -0
- package/dist/{antidebug-CqDTB_uk.mjs → antidebug-BRKeyt27.mjs} +3 -3
- package/dist/{artifactRetention-CFEprwPw.mjs → artifactRetention-CPXkUJXp.mjs} +13 -6
- package/dist/{artifacts-Bk2-_uPq.mjs → artifacts-DkfosXH3.mjs} +1 -1
- package/dist/authorization-schema-DRqyJMSk.mjs +31 -0
- package/dist/{binary-instrument-CXfpx6fT.mjs → binary-instrument--V3MAhJ4.mjs} +19 -27
- package/dist/bind-helpers-ClV34xdn.mjs +42 -0
- package/dist/{boringssl-inspector-BH2D3VKc.mjs → boringssl-inspector-Bo_LOLaS.mjs} +1 -1
- package/dist/{browser-BpOr5PEx.mjs → browser-Dx3_S2cG.mjs} +324 -37
- package/dist/capabilities-CcHlvWgK.mjs +33 -0
- package/dist/{constants-B0OANIBL.mjs → constants-CDZLOoVv.mjs} +18 -3
- package/dist/{coordination-qUbyF8KU.mjs → coordination-DgItD9DL.mjs} +2 -2
- package/dist/{debugger-gnKxRSN0.mjs → debugger-RS3RSAqs.mjs} +30 -13
- package/dist/definitions-BEoYofW5.mjs +47 -0
- package/dist/{definitions-bAhHQJq9.mjs → definitions-BRaefg3u.mjs} +11 -5
- package/dist/{definitions-DVGfrn7y.mjs → definitions-BbkvZkiv.mjs} +2 -2
- package/dist/definitions-BtWSHJ3o.mjs +17 -0
- package/dist/{definitions-BMfYXoNC.mjs → definitions-C1gCHO0i.mjs} +1 -1
- package/dist/{definitions-C1UvM5Iy.mjs → definitions-CDOg_b-l.mjs} +14 -2
- package/dist/definitions-CVPD9hzZ.mjs +54 -0
- package/dist/{definitions-Cke7zEb8.mjs → definitions-Cea8Lgl7.mjs} +1 -1
- package/dist/definitions-DAgIyjxM.mjs +10 -0
- package/dist/{definitions-B4rAvHNZ.mjs → definitions-DJA27nsL.mjs} +12 -9
- package/dist/{definitions-ClJLzsJQ.mjs → definitions-DKPFU3LW.mjs} +1 -1
- package/dist/{definitions-D3VsGcvz.mjs → definitions-DPRpZQ96.mjs} +7 -7
- package/dist/{definitions-B18eyf0B.mjs → definitions-DUE5gmdn.mjs} +1 -1
- package/dist/definitions-DYVjOtxa.mjs +26 -0
- package/dist/{definitions-BB_4jnmy.mjs → definitions-DcYLVLCo.mjs} +1 -1
- package/dist/{definitions-Beid2EB3.mjs → definitions-Pp5LI2H4.mjs} +1 -1
- package/dist/definitions-j9KdHVNR.mjs +14 -0
- package/dist/definitions-uzkjBwa7.mjs +258 -0
- package/dist/{definitions-Cq-zroAU.mjs → definitions-va-AnLuQ.mjs} +4 -4
- package/dist/{encoding-Bvz5jLRv.mjs → encoding-DJeqHmpd.mjs} +18 -4
- package/dist/{evidence-graph-bridge-C_fv9PuC.mjs → evidence-graph-bridge-DcYizFk2.mjs} +1 -0
- package/dist/{factory-DxlGh9Xf.mjs → factory-C90tBff6.mjs} +6 -6
- package/dist/flat-target-session-Dgax2Cy3.mjs +29 -0
- package/dist/{graphql-DYWzJ29s.mjs → graphql-CoHrhweh.mjs} +205 -34
- package/dist/{handlers-C67ktuRN.mjs → handlers-4jmR0nMs.mjs} +220 -32
- package/dist/{handlers-DlCJN4Td.mjs → handlers-BAHPxcch.mjs} +122 -90
- package/dist/{handlers-9sAbfIg-.mjs → handlers-BOs9b907.mjs} +849 -801
- package/dist/{handlers-DxGIq15_2.mjs → handlers-BWXEy6ef.mjs} +16 -16
- package/dist/{handlers-tB9Mp9ZK.mjs → handlers-Bndn6QvE.mjs} +31 -4
- package/dist/{handlers-CTsDAO6p.mjs → handlers-BqC4bD4s.mjs} +1 -1
- package/dist/{handlers-C87g8oCe.mjs → handlers-BtYq60bM2.mjs} +1 -1
- package/dist/{handlers-DeLOCd5m.mjs → handlers-BzgcB4iv.mjs} +17 -17
- package/dist/{handlers-Cgyg6c0U.mjs → handlers-CRyRWj2b.mjs} +237 -23
- package/dist/{handlers-U6L4xhuF.mjs → handlers-CVv2H1uq.mjs} +24 -17
- package/dist/{handlers-tiy7EIBp.mjs → handlers-Dl5a7JS4.mjs} +3 -3
- package/dist/{handlers-D6j6yka7.mjs → handlers-Dx2d7jt7.mjs} +1893 -1480
- package/dist/{handlers-Bl8zkwz1.mjs → handlers-Dz9PYsCa.mjs} +95 -6
- package/dist/handlers-HujRKC3b.mjs +661 -0
- package/dist/{handlers.impl-DS0d9fUw.mjs → handlers.impl-XWXkQfyi.mjs} +70 -24
- package/dist/{hooks-CzCWByww.mjs → hooks-B1B8NRHL.mjs} +3 -3
- package/dist/index.mjs +154 -144
- package/dist/{maintenance-P7ePRXQC.mjs → maintenance-PRMkLVRW.mjs} +35 -30
- package/dist/manifest-67Bok-Si.mjs +58 -0
- package/dist/{manifest-B3QVVeBS.mjs → manifest-6lNTMZAB2.mjs} +33 -28
- package/dist/manifest-B2duEHiH.mjs +90 -0
- package/dist/manifest-B6EY9Vm8.mjs +57 -0
- package/dist/{manifest-gZ4s_UtG.mjs → manifest-B6nKSbyY.mjs} +32 -33
- package/dist/{manifest-2ToTpjv8.mjs → manifest-BL8AQNPF.mjs} +31 -31
- package/dist/{manifest-DzwvxPJX.mjs → manifest-BSZvJJmV.mjs} +23 -14
- package/dist/{manifest-Sc_0JQ13.mjs → manifest-BU7qzUyX.mjs} +23 -23
- package/dist/{manifest-CT7zZBV1.mjs → manifest-Bl62e8WK.mjs} +24 -23
- package/dist/manifest-Bo5cXjdt.mjs +82 -0
- package/dist/manifest-BpS4gtUK.mjs +1347 -0
- package/dist/manifest-Bv65_e2W.mjs +101 -0
- package/dist/manifest-BytNIF4Z.mjs +117 -0
- package/dist/{manifest-BqrQ4Tpj.mjs → manifest-C-xtsjS3.mjs} +23 -23
- package/dist/{manifest-NXctwWQq.mjs → manifest-CDYl7OhA.mjs} +36 -38
- package/dist/manifest-CRZ3xmkD.mjs +61 -0
- package/dist/manifest-CoW6u4Tp.mjs +132 -0
- package/dist/manifest-Cq5zN_8A.mjs +50 -0
- package/dist/{manifest-CAhOuvSl.mjs → manifest-D7YZM_2e.mjs} +75 -85
- package/dist/{manifest-DCyjf4n2.mjs → manifest-DE_VrAeQ.mjs} +27 -7
- package/dist/manifest-DGsXSCpT.mjs +39 -0
- package/dist/{manifest-BB2J8IMJ.mjs → manifest-DJ2vfEuW.mjs} +48 -41
- package/dist/{manifest-3g71z6Bg.mjs → manifest-DPXDYhEu.mjs} +26 -25
- package/dist/manifest-Dd4fQb0a.mjs +322 -0
- package/dist/{manifest-CXsRWjjI.mjs → manifest-Deq6opGg.mjs} +95 -96
- package/dist/{manifest-C9RT5nk32.mjs → manifest-DfJTafJK.mjs} +14 -11
- package/dist/manifest-DgOdgN_j.mjs +50 -0
- package/dist/{manifest-BmtZzQiQ2.mjs → manifest-DlbMW4v4.mjs} +17 -15
- package/dist/{manifest-DrbmZcFl2.mjs → manifest-DmVfbH0w.mjs} +212 -91
- package/dist/manifest-Dog6Ddjr.mjs +109 -0
- package/dist/manifest-DvgU5FWb.mjs +58 -0
- package/dist/manifest-HsfDBs7j.mjs +50 -0
- package/dist/manifest-I8oQHvCG.mjs +186 -0
- package/dist/manifest-NvH_a-av.mjs +786 -0
- package/dist/{manifest-Dh8WBmEW.mjs → manifest-cEJU1v0Z.mjs} +24 -24
- package/dist/manifest-wOl5XLB12.mjs +112 -0
- package/dist/{modules-C184v-S9.mjs → modules-tZozf0LQ.mjs} +130 -860
- package/dist/{mojo-ipc-B_H61Afw.mjs → mojo-ipc-DXNEXEqb.mjs} +141 -26
- package/dist/{network-671Cw6hV.mjs → network-CPVvwvFg.mjs} +1329 -823
- package/dist/{outputPaths-B1uGmrWZ.mjs → outputPaths-um7lCRY3.mjs} +4 -8
- package/dist/{platform-WmNn8Sxb.mjs → platform-CYeFoTWp.mjs} +101 -10
- package/dist/{process-QcbIy5Zq.mjs → process-BTbgcVc6.mjs} +251 -346
- package/dist/{proxy-DqNs0bAd.mjs → proxy-r8YN6nP1.mjs} +30 -8
- package/dist/{registry-D-6e18lB.mjs → registry-Bl8ZQW61.mjs} +3 -3
- package/dist/{response-BQVP-xUn.mjs → response-CWhh2aLo.mjs} +7 -1
- package/dist/{shared-state-board-DV-dpHFJ.mjs → shared-state-board-BoZnSoj-.mjs} +2 -2
- package/dist/{sourcemap-Dq8ez8vS.mjs → sourcemap-BIDHUVXy.mjs} +350 -66
- package/dist/{streaming-BUQ0VJsg.mjs → streaming-Dal6utPp.mjs} +13 -13
- package/dist/{tool-builder-DCbIC5Eo.mjs → tool-builder-BHJp32mV.mjs} +1 -1
- package/dist/{transform-CiYJfNX0.mjs → transform-DRVgGG90.mjs} +18 -14
- package/dist/wasm-BYx5UOeG.mjs +1044 -0
- package/dist/webcrack-Be0_FccV.mjs +747 -0
- package/dist/{workflow-f3xJOcjx.mjs → workflow-BpuKEtvn.mjs} +8 -8
- package/package.json +76 -43
- package/dist/TraceRecorder-DgxyVbdQ.mjs +0 -519
- package/dist/analysis-CL9uACt9.mjs +0 -463
- package/dist/bind-helpers-xFfRF-qm.mjs +0 -22
- package/dist/definitions-6M-eejaT.mjs +0 -53
- package/dist/definitions-B3QdlrHv.mjs +0 -34
- package/dist/definitions-CXEI7QC72.mjs +0 -216
- package/dist/definitions-C_4r7Fo-2.mjs +0 -14
- package/dist/definitions-CkFDALoa.mjs +0 -26
- package/dist/definitions-Cy3Sl6gV.mjs +0 -34
- package/dist/definitions-LKpC3-nL.mjs +0 -9
- package/dist/handlers-DdFzXLvF.mjs +0 -446
- package/dist/manifest-82baTv4U.mjs +0 -45
- package/dist/manifest-BKbgbSiY.mjs +0 -60
- package/dist/manifest-Bcf-TJzH.mjs +0 -848
- package/dist/manifest-Bnd7kqEY.mjs +0 -55
- package/dist/manifest-BqQX6OQC2.mjs +0 -65
- package/dist/manifest-Br4RPFt5.mjs +0 -370
- package/dist/manifest-C5qDjysN.mjs +0 -107
- package/dist/manifest-CBYWCUBJ.mjs +0 -51
- package/dist/manifest-CFADCRa1.mjs +0 -37
- package/dist/manifest-CQVhavRF.mjs +0 -114
- package/dist/manifest-CV12bcrF.mjs +0 -121
- package/dist/manifest-CZLUCfG02.mjs +0 -95
- package/dist/manifest-D6phHKFd.mjs +0 -131
- package/dist/manifest-DHsnKgP6.mjs +0 -60
- package/dist/manifest-Df_dliIe.mjs +0 -55
- package/dist/manifest-DhKRAT8_.mjs +0 -92
- package/dist/manifest-DlpTj4ic2.mjs +0 -193
- package/dist/manifest-DuwHjUa5.mjs +0 -70
- package/dist/manifest-qSleDqdO.mjs +0 -1023
- package/dist/wasm-DQTnHDs4.mjs +0 -531
- /package/dist/{CacheAdapters-CDe5WPSV.mjs → CacheAdapters-jJFy20G-.mjs} +0 -0
- /package/dist/{DarwinAPI-BNPxu0RH.mjs → DarwinAPI-ETyy0xyo.mjs} +0 -0
- /package/dist/{EventBus-DgPmwpeu.mjs → EventBus-DFKvADm3.mjs} +0 -0
- /package/dist/{EvidenceGraphBridge-SFesNera.mjs → EvidenceGraphBridge-318Oi0Lf.mjs} +0 -0
- /package/dist/{FingerprintManager-gzWtkKuf.mjs → FingerprintManager-BN4UQWnX.mjs} +0 -0
- /package/dist/{PrerequisiteError-Dl33Svkz.mjs → PrerequisiteError-TuyZIs6n.mjs} +0 -0
- /package/dist/{ReverseEvidenceGraph-Dlsk94LC.mjs → ReverseEvidenceGraph-C02-gXOh.mjs} +0 -0
- /package/dist/{StealthVerifier-Bo4T3bz8.mjs → StealthVerifier-BWmPgQsv.mjs} +0 -0
- /package/dist/{VersionDetector-CwVLVdDM.mjs → VersionDetector-K3V4vGsw.mjs} +0 -0
- /package/dist/{betterSqlite3-0pqusHHH.mjs → betterSqlite3-DLSBZodi.mjs} +0 -0
- /package/dist/{concurrency-Bt0yv1kJ.mjs → concurrency-Drev_Vz9.mjs} +0 -0
- /package/dist/{formatAddress-DVkj9kpI.mjs → formatAddress-nnMvEohD.mjs} +0 -0
- /package/dist/{parse-args-BlRjqlkL.mjs → parse-args-B4cY5Vx5.mjs} +0 -0
- /package/dist/{ssrf-policy-ZaUfvhq7.mjs → ssrf-policy-Dsqd-DTX.mjs} +0 -0
- /package/dist/{types-CPhOReNX.mjs → types-DDBWs9UP.mjs} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Rt as MEMORY_SCAN_MAX_RESULTS } from "./constants-CDZLOoVv.mjs";
|
|
2
2
|
//#region src/server/domains/memory/handlers/session.ts
|
|
3
3
|
function toTextResponse$6(payload) {
|
|
4
4
|
return { content: [{
|
|
@@ -26,7 +26,7 @@ var SessionHandlers = class {
|
|
|
26
26
|
count: sessions.length
|
|
27
27
|
});
|
|
28
28
|
} catch (error) {
|
|
29
|
-
return toErrorResponse$6("
|
|
29
|
+
return toErrorResponse$6("memory_scan_session", error);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
async handleScanDelete(args) {
|
|
@@ -36,7 +36,7 @@ var SessionHandlers = class {
|
|
|
36
36
|
deleted: this.sessionManager.deleteSession(args.sessionId)
|
|
37
37
|
});
|
|
38
38
|
} catch (error) {
|
|
39
|
-
return toErrorResponse$6("
|
|
39
|
+
return toErrorResponse$6("memory_scan_session", error);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
async handleScanExport(args) {
|
|
@@ -46,7 +46,7 @@ var SessionHandlers = class {
|
|
|
46
46
|
exportedData: this.sessionManager.exportSession(args.sessionId)
|
|
47
47
|
});
|
|
48
48
|
} catch (error) {
|
|
49
|
-
return toErrorResponse$6("
|
|
49
|
+
return toErrorResponse$6("memory_scan_session", error);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
};
|
|
@@ -250,6 +250,50 @@ function toErrorResponse$3(tool, error) {
|
|
|
250
250
|
error: error instanceof Error ? error.message : String(error)
|
|
251
251
|
});
|
|
252
252
|
}
|
|
253
|
+
const FIELD_TYPE_ALIASES = {
|
|
254
|
+
int8_t: "int8",
|
|
255
|
+
uint8_t: "uint8",
|
|
256
|
+
int16_t: "int16",
|
|
257
|
+
uint16_t: "uint16",
|
|
258
|
+
int32_t: "int32",
|
|
259
|
+
uint32_t: "uint32",
|
|
260
|
+
int64_t: "int64",
|
|
261
|
+
uint64_t: "uint64",
|
|
262
|
+
void_ptr: "pointer",
|
|
263
|
+
char_ptr: "string_ptr"
|
|
264
|
+
};
|
|
265
|
+
function normalizeFieldType(value) {
|
|
266
|
+
if (typeof value !== "string" || value.length === 0) return "unknown";
|
|
267
|
+
const normalized = value.toLowerCase().replace(/\s+/g, "_").replace(/\*/g, "_ptr");
|
|
268
|
+
return FIELD_TYPE_ALIASES[normalized] ?? normalized;
|
|
269
|
+
}
|
|
270
|
+
function normalizeStructureForExport(raw) {
|
|
271
|
+
if (!raw || typeof raw !== "object") throw new Error("structure must be a JSON object");
|
|
272
|
+
const source = raw;
|
|
273
|
+
const fields = (Array.isArray(source.fields) ? source.fields : []).map((entry, index) => {
|
|
274
|
+
const field = entry;
|
|
275
|
+
return {
|
|
276
|
+
offset: typeof field.offset === "number" ? field.offset : 0,
|
|
277
|
+
size: typeof field.size === "number" ? field.size : 1,
|
|
278
|
+
type: normalizeFieldType(field.type),
|
|
279
|
+
name: typeof field.name === "string" && field.name.length > 0 ? field.name : `field_${index}`,
|
|
280
|
+
value: typeof field.value === "string" ? field.value : "",
|
|
281
|
+
confidence: typeof field.confidence === "number" ? field.confidence : 1,
|
|
282
|
+
notes: typeof field.notes === "string" ? field.notes : void 0
|
|
283
|
+
};
|
|
284
|
+
});
|
|
285
|
+
const inferredSize = fields.reduce((max, field) => Math.max(max, field.offset + field.size), 0);
|
|
286
|
+
const totalSize = typeof source.totalSize === "number" ? source.totalSize : typeof source.size === "number" ? source.size : inferredSize;
|
|
287
|
+
return {
|
|
288
|
+
baseAddress: typeof source.baseAddress === "string" ? source.baseAddress : "0x0",
|
|
289
|
+
totalSize,
|
|
290
|
+
fields,
|
|
291
|
+
vtableAddress: typeof source.vtableAddress === "string" ? source.vtableAddress : void 0,
|
|
292
|
+
className: typeof source.className === "string" ? source.className : void 0,
|
|
293
|
+
baseClasses: Array.isArray(source.baseClasses) ? source.baseClasses.filter((entry) => typeof entry === "string") : void 0,
|
|
294
|
+
timestamp: typeof source.timestamp === "number" ? source.timestamp : Date.now()
|
|
295
|
+
};
|
|
296
|
+
}
|
|
253
297
|
var StructureHandlers = class {
|
|
254
298
|
constructor(structAnalyzer) {
|
|
255
299
|
this.structAnalyzer = structAnalyzer;
|
|
@@ -282,7 +326,7 @@ var StructureHandlers = class {
|
|
|
282
326
|
}
|
|
283
327
|
async handleStructureExportC(args) {
|
|
284
328
|
try {
|
|
285
|
-
const structure = JSON.parse(args.structure);
|
|
329
|
+
const structure = normalizeStructureForExport(JSON.parse(args.structure));
|
|
286
330
|
return toTextResponse$3({
|
|
287
331
|
success: true,
|
|
288
332
|
...this.structAnalyzer.exportToCStruct(structure, args.name)
|
|
@@ -330,10 +374,10 @@ var HookHandlers = class {
|
|
|
330
374
|
return toTextResponse$2({
|
|
331
375
|
success: true,
|
|
332
376
|
...await this.bpEngine.setBreakpoint(args.pid, args.address, args.access, args.size ?? 4),
|
|
333
|
-
hint:
|
|
377
|
+
hint: "Hardware breakpoint set on DR register. Use memory_breakpoint with action='trace' to collect hits."
|
|
334
378
|
});
|
|
335
379
|
} catch (error) {
|
|
336
|
-
return toErrorResponse$2("
|
|
380
|
+
return toErrorResponse$2("memory_breakpoint", error);
|
|
337
381
|
}
|
|
338
382
|
}
|
|
339
383
|
async handleBreakpointRemove(args) {
|
|
@@ -343,7 +387,7 @@ var HookHandlers = class {
|
|
|
343
387
|
removed: await this.bpEngine.removeBreakpoint(args.breakpointId)
|
|
344
388
|
});
|
|
345
389
|
} catch (error) {
|
|
346
|
-
return toErrorResponse$2("
|
|
390
|
+
return toErrorResponse$2("memory_breakpoint", error);
|
|
347
391
|
}
|
|
348
392
|
}
|
|
349
393
|
async handleBreakpointList(_args) {
|
|
@@ -355,7 +399,7 @@ var HookHandlers = class {
|
|
|
355
399
|
count: bps.length
|
|
356
400
|
});
|
|
357
401
|
} catch (error) {
|
|
358
|
-
return toErrorResponse$2("
|
|
402
|
+
return toErrorResponse$2("memory_breakpoint", error);
|
|
359
403
|
}
|
|
360
404
|
}
|
|
361
405
|
async handleBreakpointTrace(args) {
|
|
@@ -368,7 +412,7 @@ var HookHandlers = class {
|
|
|
368
412
|
hint: hits.length > 0 ? `${hits.length} accesses captured. Check instructionAddress to find the code accessing this address.` : "No hits captured within timeout."
|
|
369
413
|
});
|
|
370
414
|
} catch (error) {
|
|
371
|
-
return toErrorResponse$2("
|
|
415
|
+
return toErrorResponse$2("memory_breakpoint", error);
|
|
372
416
|
}
|
|
373
417
|
}
|
|
374
418
|
async handlePatchBytes(args) {
|
|
@@ -441,7 +485,7 @@ var ReadWriteHandlers = class {
|
|
|
441
485
|
return toTextResponse$1({
|
|
442
486
|
success: true,
|
|
443
487
|
...await this.memCtrl.writeValue(args.pid, args.address, args.value, args.valueType),
|
|
444
|
-
hint: "Use
|
|
488
|
+
hint: "Use memory_write_history with action='undo' to revert."
|
|
445
489
|
});
|
|
446
490
|
} catch (error) {
|
|
447
491
|
return toErrorResponse$1("memory_write_value", error);
|
|
@@ -453,7 +497,7 @@ var ReadWriteHandlers = class {
|
|
|
453
497
|
return toTextResponse$1({
|
|
454
498
|
success: true,
|
|
455
499
|
...entry,
|
|
456
|
-
hint: `Frozen. Use
|
|
500
|
+
hint: `Frozen. Use memory_freeze with action="unfreeze" and freezeId "${entry.id}" to stop.`
|
|
457
501
|
});
|
|
458
502
|
} catch (error) {
|
|
459
503
|
return toErrorResponse$1("memory_freeze", error);
|
|
@@ -466,7 +510,7 @@ var ReadWriteHandlers = class {
|
|
|
466
510
|
unfrozen: await this.memCtrl.unfreeze(args.freezeId)
|
|
467
511
|
});
|
|
468
512
|
} catch (error) {
|
|
469
|
-
return toErrorResponse$1("
|
|
513
|
+
return toErrorResponse$1("memory_freeze", error);
|
|
470
514
|
}
|
|
471
515
|
}
|
|
472
516
|
async handleDump(args) {
|
|
@@ -488,7 +532,7 @@ var ReadWriteHandlers = class {
|
|
|
488
532
|
entry
|
|
489
533
|
});
|
|
490
534
|
} catch (error) {
|
|
491
|
-
return toErrorResponse$1("
|
|
535
|
+
return toErrorResponse$1("memory_write_history", error);
|
|
492
536
|
}
|
|
493
537
|
}
|
|
494
538
|
async handleWriteRedo(_args) {
|
|
@@ -500,7 +544,7 @@ var ReadWriteHandlers = class {
|
|
|
500
544
|
entry
|
|
501
545
|
});
|
|
502
546
|
} catch (error) {
|
|
503
|
-
return toErrorResponse$1("
|
|
547
|
+
return toErrorResponse$1("memory_write_history", error);
|
|
504
548
|
}
|
|
505
549
|
}
|
|
506
550
|
};
|
|
@@ -634,12 +678,13 @@ var IntegrityHandlers = class {
|
|
|
634
678
|
}
|
|
635
679
|
async handleGuardPages(args) {
|
|
636
680
|
try {
|
|
637
|
-
const
|
|
681
|
+
const { guardPages, stats } = await this.antiCheatDetector.scanGuardPages(args.pid);
|
|
638
682
|
return toTextResponse({
|
|
639
683
|
success: true,
|
|
640
|
-
guardPages
|
|
641
|
-
count:
|
|
642
|
-
|
|
684
|
+
guardPages,
|
|
685
|
+
count: guardPages.length,
|
|
686
|
+
scan: stats,
|
|
687
|
+
hint: stats.truncated ? `Scan stopped after ${stats.scannedRegions} regions in ${stats.durationMs}ms to avoid hanging. Results may be partial.` : guardPages.length > 0 ? `Found ${guardPages.length} guard page regions — these may indicate anti-tampering.` : "No guard pages found."
|
|
643
688
|
});
|
|
644
689
|
} catch (error) {
|
|
645
690
|
return toErrorResponse("memory_guard_pages", error);
|
|
@@ -647,14 +692,15 @@ var IntegrityHandlers = class {
|
|
|
647
692
|
}
|
|
648
693
|
async handleIntegrityCheck(args) {
|
|
649
694
|
try {
|
|
650
|
-
const
|
|
651
|
-
const modified =
|
|
695
|
+
const { sections, stats } = await this.antiCheatDetector.scanIntegrity(args.pid, args.moduleName);
|
|
696
|
+
const modified = sections.filter((r) => r.isModified);
|
|
652
697
|
return toTextResponse({
|
|
653
698
|
success: true,
|
|
654
|
-
sections
|
|
655
|
-
totalChecked:
|
|
699
|
+
sections,
|
|
700
|
+
totalChecked: sections.length,
|
|
656
701
|
modifiedCount: modified.length,
|
|
657
|
-
|
|
702
|
+
scan: stats,
|
|
703
|
+
hint: stats.truncated ? `Checked ${stats.scannedSections} executable section(s) across ${stats.scannedModules} module(s) before hitting safety limits. Results may be partial.` : modified.length > 0 ? `${modified.length} section(s) modified — code may have been patched or hooked.` : "All checked sections match disk — no runtime modifications detected."
|
|
658
704
|
});
|
|
659
705
|
} catch (error) {
|
|
660
706
|
return toErrorResponse("memory_integrity_check", error);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as logger } from "./logger-Dh_xb7_2.mjs";
|
|
2
|
-
import { a as argString, o as argStringArray, s as argStringRequired, t as argBool } from "./parse-args-
|
|
3
|
-
import { o as evaluateOnNewDocumentWithTimeout, s as evaluateWithTimeout } from "./PageController-
|
|
4
|
-
import "./definitions-
|
|
2
|
+
import { a as argString, o as argStringArray, s as argStringRequired, t as argBool } from "./parse-args-B4cY5Vx5.mjs";
|
|
3
|
+
import { o as evaluateOnNewDocumentWithTimeout, s as evaluateWithTimeout } from "./PageController-BPJNqqBN.mjs";
|
|
4
|
+
import "./definitions-C1gCHO0i.mjs";
|
|
5
5
|
//#region src/server/domains/hooks/ai-handlers.ts
|
|
6
6
|
var AIHookToolHandlers = class {
|
|
7
7
|
injectedHooks = /* @__PURE__ */ new Map();
|