@jshookmcp/jshook 0.3.0 → 0.3.2

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.
Files changed (346) hide show
  1. package/LICENSE +661 -661
  2. package/README.md +32 -49
  3. package/README.zh.md +32 -47
  4. package/dist/AntiCheatDetector-B6d4Qe9D.mjs +1 -0
  5. package/dist/BrowserSessionCoordinator-BJ-HOxo0.mjs +1 -0
  6. package/dist/CacheAdapters-CsNtQIR8.mjs +1 -0
  7. package/dist/CodeInjector-Cll_7bLJ.mjs +1 -0
  8. package/dist/ConsoleMonitor-CxDJV15E.mjs +306 -0
  9. package/dist/DOMInspector-C19J4zeq.mjs +95 -0
  10. package/dist/DarwinAPI-ZfQdpLNI.mjs +1 -0
  11. package/dist/DetailedDataManager-DmQ1LT-W.mjs +1 -0
  12. package/dist/EventBus-DL8iLA09.mjs +1 -0
  13. package/dist/EvidenceGraphBridge-BtbwXsLC.mjs +1 -0
  14. package/dist/ExtensionManager-BD724zkO.mjs +1 -0
  15. package/dist/ExtensionManager.tools-oVMJgPcN.mjs +1 -0
  16. package/dist/FingerprintManager-DT0EAUEo.mjs +1 -0
  17. package/dist/HardwareBreakpoint-BUfPdp0f.mjs +1 -0
  18. package/dist/HeapAnalyzer-B_aqY8oj.mjs +1 -0
  19. package/dist/{HookGeneratorBuilders.core.generators.storage-CTbB4Lcx.mjs → HookGeneratorBuilders.core.generators.storage-DzD6dIJd.mjs} +66 -101
  20. package/dist/InstrumentationSession-D_G1ZPyd.mjs +1 -0
  21. package/dist/MCPServer.search.handlers.domain-BbS-6LnX.mjs +1 -0
  22. package/dist/MemoryController-X1XNSn1n.mjs +2 -0
  23. package/dist/MemoryScanSession-DG_F-PjE.mjs +1 -0
  24. package/dist/MemoryScanner-g1_L1ub5.mjs +1 -0
  25. package/dist/NativeMemoryManager.impl-DniBe2wf.mjs +1 -0
  26. package/dist/NativeMemoryManager.utils-BHy1P_jM.mjs +1 -0
  27. package/dist/NetworkMonitor-B_-au6aV.mjs +185 -0
  28. package/dist/PEAnalyzer-yWQaGrcx.mjs +1 -0
  29. package/dist/PageController-Dfsm1_o7.mjs +1 -0
  30. package/dist/PointerChainEngine-BhCUkmxY.mjs +1 -0
  31. package/dist/PrerequisiteError-BjCQA-gK.mjs +1 -0
  32. package/dist/ProcessRegistry-C-bN48oR.mjs +1 -0
  33. package/dist/ResponseBuilder-BfWP-uaT.mjs +1 -0
  34. package/dist/ReverseEvidenceGraph-BhSYYdiI.mjs +2 -0
  35. package/dist/RingBuffer-Dm54ELKT.mjs +1 -0
  36. package/dist/ScriptManager-LWGPTdvD.mjs +7 -0
  37. package/dist/ServerRuntimeState-D2bWHqEE.mjs +1 -0
  38. package/dist/Speedhack-yseDPSZ9.mjs +1 -0
  39. package/dist/StealthVerifier-BmcxfwSF.mjs +1 -0
  40. package/dist/StructureAnalyzer-C5lpuZkg.mjs +2 -0
  41. package/dist/ToolCatalog-CYdD9F5f.mjs +1 -0
  42. package/dist/ToolError-DWU_z7gp.mjs +1 -0
  43. package/dist/ToolProbe-C7ZU2x7M.mjs +1 -0
  44. package/dist/ToolRegistry-C5oB8KP8.mjs +1 -0
  45. package/dist/ToolRouter.policy-CfhJczkt.mjs +4 -0
  46. package/dist/TraceRecorder-BiJWBXHX.mjs +272 -0
  47. package/dist/VersionDetector-CHT36Az0.mjs +9 -0
  48. package/dist/Win32API-eUCF57l_.mjs +1 -0
  49. package/dist/Win32Debug-CYrIQBvr.mjs +1 -0
  50. package/dist/WorkflowEngine-D876meOO.mjs +1 -0
  51. package/dist/analysis-D4swdMvq.mjs +6 -0
  52. package/dist/{antidebug-BRKeyt27.mjs → antidebug-7L3ygj_9.mjs} +8 -259
  53. package/dist/apk-packer-BqXcInnX.mjs +1 -0
  54. package/dist/artifactRetention-BCPQASm7.mjs +1 -0
  55. package/dist/artifacts-CkodUM4j.mjs +1 -0
  56. package/dist/authorization-schema-BOFwSXUN.mjs +1 -0
  57. package/dist/betterSqlite3-Brtq-SIQ.mjs +1 -0
  58. package/dist/binary-instrument-DU7V6TUM.mjs +7 -0
  59. package/dist/binary-secrets-PdMVoyt0.mjs +1 -0
  60. package/dist/bind-helpers-m2U8glkF.mjs +1 -0
  61. package/dist/boringssl-inspector-BBaJwwkU.mjs +2 -0
  62. package/dist/browser-Qqco2rOT.mjs +11 -0
  63. package/dist/capabilities-CyXuKUl1.mjs +1 -0
  64. package/dist/chunk-C_pMuVsO.mjs +1 -0
  65. package/dist/collector-Bpl6qy2L.mjs +1 -0
  66. package/dist/concurrency-DCr8WQ2M.mjs +1 -0
  67. package/dist/constants-BYj8Xek8.mjs +1 -0
  68. package/dist/coordination-CWXW1o8K.mjs +1 -0
  69. package/dist/dart-inspector-7AkPeZ_Q.mjs +0 -0
  70. package/dist/debugger-DyALjYMk.mjs +1 -0
  71. package/dist/definitions-BWxBke3r.mjs +1 -0
  72. package/dist/definitions-BYwATKc-.mjs +1 -0
  73. package/dist/definitions-B_83XfNQ.mjs +1 -0
  74. package/dist/definitions-Bf3H1EwV.mjs +1 -0
  75. package/dist/definitions-BftdXgXI.mjs +1 -0
  76. package/dist/definitions-Bio5XJYy.mjs +1 -0
  77. package/dist/definitions-C3qNgSn1.mjs +1 -0
  78. package/dist/definitions-CB6vmOer.mjs +1 -0
  79. package/dist/definitions-CMZRSy3k.mjs +1 -0
  80. package/dist/definitions-CQd7yCQH.mjs +1 -0
  81. package/dist/definitions-CT8ln6GQ.mjs +1 -0
  82. package/dist/definitions-Cenu6mxo.mjs +1 -0
  83. package/dist/definitions-D4g-MS10.mjs +1 -0
  84. package/dist/definitions-D5wl_8HN.mjs +1 -0
  85. package/dist/definitions-DAQm1Xar.mjs +1 -0
  86. package/dist/definitions-DP1vgxEY.mjs +1 -0
  87. package/dist/definitions-DxFNRQNK2.mjs +1 -0
  88. package/dist/definitions-Ibci7e_L.mjs +1 -0
  89. package/dist/definitions-OeLvmlQy.mjs +1 -0
  90. package/dist/definitions-RZYGD_Ey.mjs +1 -0
  91. package/dist/definitions-Tls8c0A0.mjs +1 -0
  92. package/dist/definitions-bybDvnG0.mjs +26 -0
  93. package/dist/definitions-l7TjdE6V.mjs +1 -0
  94. package/dist/encoding-ycOaz8Vr.mjs +2 -0
  95. package/dist/ensure-browser-core-DxWC-NTp.mjs +1 -0
  96. package/dist/evidence-graph-bridge-CV_UdYqj.mjs +1 -0
  97. package/dist/factory-CKr4fAE1.mjs +1 -0
  98. package/dist/flat-target-session-DvcQX7J5.mjs +1 -0
  99. package/dist/formatAddress-vLA_hOJt.mjs +1 -0
  100. package/dist/graphql-B2TiPEow.mjs +62 -0
  101. package/dist/handlers-0yKLRIfo.mjs +2 -0
  102. package/dist/handlers-8zN_vBIz.mjs +1 -0
  103. package/dist/handlers-B62K4FTc.mjs +1 -0
  104. package/dist/handlers-BpDlVVVU.mjs +1 -0
  105. package/dist/handlers-CMJK7m1c.mjs +31 -0
  106. package/dist/handlers-D2ZOul9p.mjs +54 -0
  107. package/dist/handlers-D5E40ssn.mjs +5 -0
  108. package/dist/handlers-DGbdQAgD.mjs +4 -0
  109. package/dist/handlers-DHO3rjsW.mjs +1 -0
  110. package/dist/handlers-FJ80VzUI.mjs +2 -0
  111. package/dist/handlers-VHWrxbM_.mjs +1 -0
  112. package/dist/handlers-l8QIKqBj.mjs +2 -0
  113. package/dist/handlers-mPFiNPe8.mjs +302 -0
  114. package/dist/{handlers-Dz9PYsCa.mjs → handlers-yo_xYzT8.mjs} +118 -904
  115. package/dist/handlers.impl-D9Hh8Bgl.mjs +1 -0
  116. package/dist/hooks-D4XLfgtV.mjs +600 -0
  117. package/dist/index.mjs +13 -5240
  118. package/dist/jadx-search-B_Yse0Zh.mjs +5 -0
  119. package/dist/logger-sBC6IdRT.mjs +1 -0
  120. package/dist/maintenance-BUpIukhg.mjs +1 -0
  121. package/dist/manifest-0Jpt_AQa.mjs +1 -0
  122. package/dist/manifest-B3fZbSWR.mjs +1 -0
  123. package/dist/manifest-B7NB2rh2.mjs +1 -0
  124. package/dist/manifest-BDi4nbH1.mjs +1 -0
  125. package/dist/manifest-BLDfkE7n.mjs +1 -0
  126. package/dist/manifest-BcXbB4gf.mjs +1 -0
  127. package/dist/manifest-Bdnc_vrc.mjs +1 -0
  128. package/dist/manifest-BuYKgCnp.mjs +1 -0
  129. package/dist/manifest-CBfNnGPV.mjs +1 -0
  130. package/dist/manifest-CPS1Xv69.mjs +1 -0
  131. package/dist/manifest-CQH9FhwI.mjs +1 -0
  132. package/dist/manifest-CRryuZF4.mjs +1 -0
  133. package/dist/manifest-CctIumog.mjs +1 -0
  134. package/dist/manifest-CvTe5ZGV2.mjs +1 -0
  135. package/dist/manifest-D-5GH0DV.mjs +1 -0
  136. package/dist/manifest-D3Ssf3IC.mjs +1 -0
  137. package/dist/manifest-D5ck3NvC.mjs +1 -0
  138. package/dist/manifest-D9jUUJAu.mjs +1 -0
  139. package/dist/manifest-DCx6w2XV.mjs +1 -0
  140. package/dist/manifest-DG19q-Ld.mjs +1 -0
  141. package/dist/manifest-DLMlD0Zc.mjs +1 -0
  142. package/dist/manifest-DYpn8w_h.mjs +1 -0
  143. package/dist/manifest-DYzWI8Xs.mjs +1 -0
  144. package/dist/manifest-D_obs5F4.mjs +1 -0
  145. package/dist/manifest-DujQqEQR.mjs +2 -0
  146. package/dist/manifest-DwL2ik8P.mjs +1 -0
  147. package/dist/manifest-ItF5P8A12.mjs +1 -0
  148. package/dist/manifest-KZphqIyX.mjs +1 -0
  149. package/dist/manifest-LG42zPLY2.mjs +1 -0
  150. package/dist/manifest-LLdI5m4T.mjs +1 -0
  151. package/dist/manifest-QYbQXJn0.mjs +1 -0
  152. package/dist/manifest-RcpX_MyZ.mjs +123 -0
  153. package/dist/manifest-YgVd8Sgz.mjs +1 -0
  154. package/dist/manifest-Zy7Odg5J.mjs +1 -0
  155. package/dist/manifest-ff1H7Pdp.mjs +1 -0
  156. package/dist/manifest-iuhF6pTL2.mjs +1 -0
  157. package/dist/manifest-nXHmtMSp2.mjs +1 -0
  158. package/dist/manifest-xWfu6iLo.mjs +1 -0
  159. package/dist/manifest-yC16OhL2.mjs +1 -0
  160. package/dist/manifest-ztWJoXy4.mjs +1 -0
  161. package/dist/matchesWildcardPattern-BAG6LvX5.mjs +1 -0
  162. package/dist/modules-BPBcSaM-.mjs +333 -0
  163. package/dist/mojo-ipc-BhwsdVUW.mjs +9 -0
  164. package/dist/native/scripts/linux/enum-windows.sh +12 -12
  165. package/dist/native/scripts/macos/enum-windows.applescript +22 -22
  166. package/dist/native-j8l473zn.mjs +961 -0
  167. package/dist/network-T0VRwNPd.mjs +7 -0
  168. package/dist/outputPaths-B4Ic4RZh.mjs +2 -0
  169. package/dist/parse-args-Bw413PlW.mjs +1 -0
  170. package/dist/platform-CzaQtISh.mjs +93 -0
  171. package/dist/playwright-cdp-fallback-DqFdx9-s.mjs +1 -0
  172. package/dist/process-CWhsCWrf.mjs +2 -0
  173. package/dist/proxy-DZFlDsG3.mjs +2 -0
  174. package/dist/registry-DH4sc1dt.mjs +1 -0
  175. package/dist/renderer-pid-9tJnZ_9N.mjs +1 -0
  176. package/dist/response-C7rKQst4.mjs +1 -0
  177. package/dist/search-defaults-lYBVn_3L.mjs +1 -0
  178. package/dist/server/plugin-api.d.mts +19 -36
  179. package/dist/server/plugin-api.mjs +1 -293
  180. package/dist/shared-state-board-BSjXLUV1.mjs +1 -0
  181. package/dist/sourcemap-Dh3Ai_ur.mjs +1 -0
  182. package/dist/ssrf-policy-CsIJGkpd.mjs +1 -0
  183. package/dist/streaming-BcJ0B6ao.mjs +1 -0
  184. package/dist/tool-builder-qif8M9-K.mjs +1 -0
  185. package/dist/transform-DOxzeWPB.mjs +103 -0
  186. package/dist/types-D9EiE5o9.mjs +1 -0
  187. package/dist/types-Fz69RzbZ.mjs +1 -0
  188. package/dist/wasm-CZ_HTfKR.mjs +174 -0
  189. package/dist/webcrack-C1iYG_EX.mjs +46 -0
  190. package/dist/workflow-BdwQmARn.mjs +101 -0
  191. package/package.json +55 -82
  192. package/src/native/scripts/linux/enum-windows.sh +12 -12
  193. package/src/native/scripts/macos/enum-windows.applescript +22 -22
  194. package/dist/AntiCheatDetector-CqGDXmfc.mjs +0 -350
  195. package/dist/CacheAdapters-jJFy20G-.mjs +0 -80
  196. package/dist/CodeInjector-BdjRfNx7.mjs +0 -150
  197. package/dist/ConsoleMonitor-DykL3IAw.mjs +0 -2269
  198. package/dist/DarwinAPI-ETyy0xyo.mjs +0 -363
  199. package/dist/DetailedDataManager-HT49OrvF.mjs +0 -217
  200. package/dist/EventBus-DFKvADm3.mjs +0 -141
  201. package/dist/EvidenceGraphBridge-318Oi0Lf.mjs +0 -153
  202. package/dist/ExtensionManager-BDMsY2Dz.mjs +0 -721
  203. package/dist/FingerprintManager-BN4UQWnX.mjs +0 -96
  204. package/dist/HardwareBreakpoint-Cc2AFq1Y.mjs +0 -239
  205. package/dist/HeapAnalyzer-DruMgsgj.mjs +0 -284
  206. package/dist/InstrumentationSession-DLH0vd-z.mjs +0 -244
  207. package/dist/MemoryController-CMtviNW_.mjs +0 -167
  208. package/dist/MemoryScanSession-ITgb_NMi.mjs +0 -278
  209. package/dist/MemoryScanner-CiL7Z3ey.mjs +0 -428
  210. package/dist/NativeMemoryManager.impl-D9Lkovvn.mjs +0 -485
  211. package/dist/NativeMemoryManager.utils-BBlAixF5.mjs +0 -165
  212. package/dist/PEAnalyzer-DMQ44gen.mjs +0 -385
  213. package/dist/PageController-BPJNqqBN.mjs +0 -431
  214. package/dist/PointerChainEngine-K7wN8Z-w.mjs +0 -325
  215. package/dist/PrerequisiteError-TuyZIs6n.mjs +0 -20
  216. package/dist/ProcessRegistry-zGg12QbE.mjs +0 -74
  217. package/dist/ResponseBuilder-CJXWmWNw.mjs +0 -143
  218. package/dist/ReverseEvidenceGraph-C02-gXOh.mjs +0 -269
  219. package/dist/ScriptManager-ZuWD-0Jg.mjs +0 -3003
  220. package/dist/Speedhack-D-z0umeT.mjs +0 -156
  221. package/dist/StealthVerifier-BWmPgQsv.mjs +0 -135
  222. package/dist/StructureAnalyzer-Cav5AVSL.mjs +0 -429
  223. package/dist/ToolCatalog-5OJdMiF0.mjs +0 -582
  224. package/dist/ToolError-jh9whhMd.mjs +0 -15
  225. package/dist/ToolProbe-DbCFGyrg.mjs +0 -45
  226. package/dist/ToolRegistry-B9krbTtI.mjs +0 -180
  227. package/dist/ToolRouter.policy-BGDAGyeH.mjs +0 -344
  228. package/dist/TraceRecorder-B41Z5XBj.mjs +0 -1286
  229. package/dist/VersionDetector-K3V4vGsw.mjs +0 -104
  230. package/dist/Win32API-C2kjj0ze.mjs +0 -346
  231. package/dist/Win32Debug-CKrGOTpo.mjs +0 -274
  232. package/dist/WorkflowEngine-DJ6M4opp.mjs +0 -569
  233. package/dist/analysis-BHeJW2Nb.mjs +0 -1234
  234. package/dist/artifactRetention-CPXkUJXp.mjs +0 -598
  235. package/dist/artifacts-DkfosXH3.mjs +0 -59
  236. package/dist/authorization-schema-DRqyJMSk.mjs +0 -31
  237. package/dist/betterSqlite3-DLSBZodi.mjs +0 -74
  238. package/dist/binary-instrument--V3MAhJ4.mjs +0 -971
  239. package/dist/bind-helpers-ClV34xdn.mjs +0 -42
  240. package/dist/boringssl-inspector-Bo_LOLaS.mjs +0 -180
  241. package/dist/browser-Dx3_S2cG.mjs +0 -4369
  242. package/dist/capabilities-CcHlvWgK.mjs +0 -33
  243. package/dist/chunk-CjcI7cDX.mjs +0 -15
  244. package/dist/concurrency-Drev_Vz9.mjs +0 -41
  245. package/dist/constants-CDZLOoVv.mjs +0 -534
  246. package/dist/coordination-DgItD9DL.mjs +0 -259
  247. package/dist/debugger-RS3RSAqs.mjs +0 -1288
  248. package/dist/definitions-BEoYofW5.mjs +0 -47
  249. package/dist/definitions-BRaefg3u.mjs +0 -365
  250. package/dist/definitions-BbkvZkiv.mjs +0 -96
  251. package/dist/definitions-BtWSHJ3o.mjs +0 -17
  252. package/dist/definitions-C1gCHO0i.mjs +0 -43
  253. package/dist/definitions-CDOg_b-l.mjs +0 -138
  254. package/dist/definitions-CVPD9hzZ.mjs +0 -54
  255. package/dist/definitions-Cea8Lgl7.mjs +0 -94
  256. package/dist/definitions-DAgIyjxM.mjs +0 -10
  257. package/dist/definitions-DJA27nsL.mjs +0 -66
  258. package/dist/definitions-DKPFU3LW.mjs +0 -25
  259. package/dist/definitions-DPRpZQ96.mjs +0 -47
  260. package/dist/definitions-DUE5gmdn.mjs +0 -18
  261. package/dist/definitions-DYVjOtxa.mjs +0 -26
  262. package/dist/definitions-DcYLVLCo.mjs +0 -37
  263. package/dist/definitions-Pp5LI2H4.mjs +0 -27
  264. package/dist/definitions-j9KdHVNR.mjs +0 -14
  265. package/dist/definitions-uzkjBwa7.mjs +0 -258
  266. package/dist/definitions-va-AnLuQ.mjs +0 -28
  267. package/dist/encoding-DJeqHmpd.mjs +0 -1079
  268. package/dist/evidence-graph-bridge-DcYizFk2.mjs +0 -136
  269. package/dist/factory-C90tBff6.mjs +0 -575
  270. package/dist/flat-target-session-Dgax2Cy3.mjs +0 -29
  271. package/dist/formatAddress-nnMvEohD.mjs +0 -17
  272. package/dist/graphql-CoHrhweh.mjs +0 -1197
  273. package/dist/handlers-4jmR0nMs.mjs +0 -898
  274. package/dist/handlers-BAHPxcch.mjs +0 -789
  275. package/dist/handlers-BOs9b907.mjs +0 -2600
  276. package/dist/handlers-BWXEy6ef.mjs +0 -917
  277. package/dist/handlers-Bndn6QvE.mjs +0 -111
  278. package/dist/handlers-BqC4bD4s.mjs +0 -681
  279. package/dist/handlers-BtYq60bM2.mjs +0 -276
  280. package/dist/handlers-BzgcB4iv.mjs +0 -799
  281. package/dist/handlers-CRyRWj2b.mjs +0 -859
  282. package/dist/handlers-CVv2H1uq.mjs +0 -592
  283. package/dist/handlers-Dl5a7JS4.mjs +0 -572
  284. package/dist/handlers-Dx2d7jt7.mjs +0 -2537
  285. package/dist/handlers-HujRKC3b.mjs +0 -661
  286. package/dist/handlers.impl-XWXkQfyi.mjs +0 -807
  287. package/dist/hooks-B1B8NRHL.mjs +0 -898
  288. package/dist/logger-Dh_xb7_2.mjs +0 -93
  289. package/dist/maintenance-PRMkLVRW.mjs +0 -835
  290. package/dist/manifest-67Bok-Si.mjs +0 -58
  291. package/dist/manifest-6lNTMZAB2.mjs +0 -87
  292. package/dist/manifest-B2duEHiH.mjs +0 -90
  293. package/dist/manifest-B6EY9Vm8.mjs +0 -57
  294. package/dist/manifest-B6nKSbyY.mjs +0 -95
  295. package/dist/manifest-BL8AQNPF.mjs +0 -106
  296. package/dist/manifest-BSZvJJmV.mjs +0 -47
  297. package/dist/manifest-BU7qzUyX.mjs +0 -418
  298. package/dist/manifest-Bl62e8WK.mjs +0 -49
  299. package/dist/manifest-Bo5cXjdt.mjs +0 -82
  300. package/dist/manifest-BpS4gtUK.mjs +0 -1347
  301. package/dist/manifest-Bv65_e2W.mjs +0 -101
  302. package/dist/manifest-BytNIF4Z.mjs +0 -117
  303. package/dist/manifest-C-xtsjS3.mjs +0 -81
  304. package/dist/manifest-CDYl7OhA.mjs +0 -66
  305. package/dist/manifest-CRZ3xmkD.mjs +0 -61
  306. package/dist/manifest-CoW6u4Tp.mjs +0 -132
  307. package/dist/manifest-Cq5zN_8A.mjs +0 -50
  308. package/dist/manifest-D7YZM_2e.mjs +0 -194
  309. package/dist/manifest-DE_VrAeQ.mjs +0 -314
  310. package/dist/manifest-DGsXSCpT.mjs +0 -39
  311. package/dist/manifest-DJ2vfEuW.mjs +0 -156
  312. package/dist/manifest-DPXDYhEu.mjs +0 -80
  313. package/dist/manifest-Dd4fQb0a.mjs +0 -322
  314. package/dist/manifest-Deq6opGg.mjs +0 -223
  315. package/dist/manifest-DfJTafJK.mjs +0 -37
  316. package/dist/manifest-DgOdgN_j.mjs +0 -50
  317. package/dist/manifest-DlbMW4v4.mjs +0 -47
  318. package/dist/manifest-DmVfbH0w.mjs +0 -374
  319. package/dist/manifest-Dog6Ddjr.mjs +0 -109
  320. package/dist/manifest-DvgU5FWb.mjs +0 -58
  321. package/dist/manifest-HsfDBs7j.mjs +0 -50
  322. package/dist/manifest-I8oQHvCG.mjs +0 -186
  323. package/dist/manifest-NvH_a-av.mjs +0 -786
  324. package/dist/manifest-cEJU1v0Z.mjs +0 -129
  325. package/dist/manifest-wOl5XLB12.mjs +0 -112
  326. package/dist/modules-tZozf0LQ.mjs +0 -10635
  327. package/dist/mojo-ipc-DXNEXEqb.mjs +0 -640
  328. package/dist/network-CPVvwvFg.mjs +0 -3852
  329. package/dist/outputPaths-um7lCRY3.mjs +0 -1141
  330. package/dist/parse-args-B4cY5Vx5.mjs +0 -39
  331. package/dist/platform-CYeFoTWp.mjs +0 -2161
  332. package/dist/process-BTbgcVc6.mjs +0 -1306
  333. package/dist/proxy-r8YN6nP1.mjs +0 -192
  334. package/dist/registry-Bl8ZQW61.mjs +0 -34
  335. package/dist/response-CWhh2aLo.mjs +0 -34
  336. package/dist/shared-state-board-BoZnSoj-.mjs +0 -586
  337. package/dist/sourcemap-BIDHUVXy.mjs +0 -934
  338. package/dist/ssrf-policy-Dsqd-DTX.mjs +0 -166
  339. package/dist/streaming-Dal6utPp.mjs +0 -725
  340. package/dist/tool-builder-BHJp32mV.mjs +0 -186
  341. package/dist/transform-DRVgGG90.mjs +0 -1011
  342. package/dist/types-Bx92KJfT.mjs +0 -4
  343. package/dist/types-DDBWs9UP.mjs +0 -37
  344. package/dist/wasm-BYx5UOeG.mjs +0 -1044
  345. package/dist/webcrack-Be0_FccV.mjs +0 -747
  346. package/dist/workflow-BpuKEtvn.mjs +0 -725
@@ -1,428 +0,0 @@
1
- import { Cn as SCAN_UNKNOWN_INITIAL_MAX_ADDRESSES, _n as SCAN_DISPLAY_RESULTS_LIMIT, bn as SCAN_POINTER_MAX_RESULTS, vn as SCAN_GROUP_MAX_PATTERN_SIZE, yn as SCAN_MAX_RESULTS_PER_SCAN } from "./constants-CDZLOoVv.mjs";
2
- import { t as createPlatformProvider } from "./factory-C90tBff6.mjs";
3
- import { i as parsePattern } from "./NativeMemoryManager.utils-BBlAixF5.mjs";
4
- import { t as nativeMemoryManager } from "./NativeMemoryManager.impl-D9Lkovvn.mjs";
5
- import { n as parseAddress, t as formatAddress } from "./formatAddress-nnMvEohD.mjs";
6
- import { n as getDefaultAlignment, r as getValueSize, scanSessionManager, t as compareScanValues } from "./MemoryScanSession-ITgb_NMi.mjs";
7
- //#region src/native/MemoryScanner.ts
8
- /**
9
- * Memory Scanner — orchestrates iterative scan workflows.
10
- *
11
- * Provides CE-style scanning: first-scan → next-scan → narrow down → find target.
12
- * Plus AI-native features: pointer scan, group scan, unknown initial value scan.
13
- *
14
- * Uses PlatformMemoryAPI for cross-platform memory operations.
15
- *
16
- * Performance: addresses stored as bigint internally; only converted to hex
17
- * strings at API boundaries. This eliminates ~40K+ short-lived string objects
18
- * and repeated BigInt↔string round-trips during next-scan operations.
19
- *
20
- * @module MemoryScanner
21
- */
22
- var MemoryScanner = class {
23
- nmm;
24
- providerCache = null;
25
- get provider() {
26
- if (!this.providerCache) this.providerCache = createPlatformProvider();
27
- return this.providerCache;
28
- }
29
- set provider(value) {
30
- this.providerCache = value;
31
- }
32
- constructor(nmm) {
33
- this.nmm = nmm;
34
- }
35
- /**
36
- * First scan: scan entire process memory for a value.
37
- * Creates a new session, stores matching addresses + values.
38
- */
39
- async firstScan(pid, value, options) {
40
- const start = performance.now();
41
- const valueType = options.valueType;
42
- const valueSize = getValueSize(valueType);
43
- const alignment = options.alignment ?? getDefaultAlignment(valueType);
44
- const maxResults = options.maxResults ?? SCAN_MAX_RESULTS_PER_SCAN;
45
- if (valueSize === 0) return this.patternFirstScan(pid, value, valueType, options);
46
- const { patternBytes } = parsePattern(value, valueType === "pointer" ? "uint64" : valueType);
47
- if (patternBytes.length === 0) throw new Error(`Invalid pattern for type ${valueType}: "${value}"`);
48
- const targetBuf = Buffer.from(patternBytes);
49
- const sessionId = scanSessionManager.createSession(pid, options);
50
- const addresses = [];
51
- const values = /* @__PURE__ */ new Map();
52
- const handle = this.provider.openProcess(pid, false);
53
- try {
54
- const regions = this.getFilteredRegions(handle, options);
55
- const totalRegions = regions.length;
56
- let regionsProcessed = 0;
57
- for (const region of regions) {
58
- if (options.onProgress) options.onProgress(regionsProcessed, totalRegions);
59
- regionsProcessed++;
60
- if (addresses.length >= maxResults) break;
61
- const regionBase = region.baseAddress;
62
- const regionSize = region.size;
63
- const chunkSize = 16 * 1024 * 1024;
64
- for (let offset = 0; offset < regionSize && addresses.length < maxResults; offset += chunkSize) {
65
- const readSize = Math.min(chunkSize, regionSize - offset);
66
- const chunkAddr = regionBase + BigInt(offset);
67
- let chunk;
68
- try {
69
- chunk = this.provider.readMemory(handle, chunkAddr, readSize).data;
70
- } catch {
71
- break;
72
- }
73
- if (alignment === valueSize && valueSize > 0) {
74
- const alignStep = this.getAlignStep(alignment);
75
- let searchFrom = this.getAlignedChunkStart(chunkAddr, alignStep);
76
- while (searchFrom <= chunk.length - valueSize && addresses.length < maxResults) {
77
- const hit = chunk.indexOf(targetBuf, searchFrom);
78
- if (hit === -1) break;
79
- if (!this.isAlignedAddress(chunkAddr + BigInt(hit), alignStep)) {
80
- searchFrom = hit + 1;
81
- continue;
82
- }
83
- const addr = chunkAddr + BigInt(hit);
84
- addresses.push(addr);
85
- values.set(addr, Buffer.from(chunk.subarray(hit, hit + valueSize)));
86
- searchFrom = hit + alignStep;
87
- }
88
- } else {
89
- const alignStep = this.getAlignStep(alignment);
90
- const chunkStart = this.getAlignedChunkStart(chunkAddr, alignStep);
91
- for (let i = chunkStart; i <= chunk.length - valueSize; i += alignStep) if (Buffer.compare(chunk.subarray(i, i + valueSize), targetBuf) === 0) {
92
- const addr = chunkAddr + BigInt(i);
93
- addresses.push(addr);
94
- values.set(addr, Buffer.from(chunk.subarray(i, i + valueSize)));
95
- if (addresses.length >= maxResults) break;
96
- }
97
- }
98
- }
99
- }
100
- } finally {
101
- this.provider.closeProcess(handle);
102
- }
103
- scanSessionManager.updateSession(sessionId, addresses, values);
104
- const elapsed = `${(performance.now() - start).toFixed(1)}ms`;
105
- const displayAddresses = addresses.slice(0, SCAN_DISPLAY_RESULTS_LIMIT).map(formatAddress);
106
- return {
107
- sessionId,
108
- matchCount: addresses.length,
109
- scanNumber: 1,
110
- addresses: displayAddresses,
111
- totalMatches: addresses.length,
112
- truncated: addresses.length > SCAN_DISPLAY_RESULTS_LIMIT,
113
- elapsed
114
- };
115
- }
116
- /**
117
- * Next scan: re-read stored addresses, filter using comparator.
118
- */
119
- async nextScan(sessionId, mode, value, value2) {
120
- const start = performance.now();
121
- const session = scanSessionManager.getSession(sessionId);
122
- const { pid, valueType, addresses: prevAddresses, previousValues } = session;
123
- const valueSize = getValueSize(valueType);
124
- if (valueSize === 0) throw new Error("Next-scan is not supported for variable-length types (hex/string)");
125
- let targetBuf = null;
126
- let target2Buf = null;
127
- if (value !== void 0) {
128
- const { patternBytes } = parsePattern(value, valueType === "pointer" ? "uint64" : valueType);
129
- targetBuf = Buffer.from(patternBytes);
130
- }
131
- if (value2 !== void 0) {
132
- const { patternBytes } = parsePattern(value2, valueType === "pointer" ? "uint64" : valueType);
133
- target2Buf = Buffer.from(patternBytes);
134
- }
135
- const newAddresses = [];
136
- const newValues = /* @__PURE__ */ new Map();
137
- const handle = this.provider.openProcess(pid, false);
138
- try {
139
- for (const addr of prevAddresses) {
140
- let currentBuf;
141
- try {
142
- currentBuf = this.provider.readMemory(handle, addr, valueSize).data;
143
- } catch {
144
- continue;
145
- }
146
- const prevBuf = previousValues.get(addr) ?? null;
147
- if (compareScanValues(currentBuf, prevBuf, targetBuf, target2Buf, mode, valueType)) {
148
- newAddresses.push(addr);
149
- newValues.set(addr, Buffer.from(currentBuf));
150
- }
151
- }
152
- } finally {
153
- this.provider.closeProcess(handle);
154
- }
155
- scanSessionManager.updateSession(sessionId, newAddresses, newValues);
156
- const elapsed = `${(performance.now() - start).toFixed(1)}ms`;
157
- const displayAddresses = newAddresses.slice(0, SCAN_DISPLAY_RESULTS_LIMIT).map(formatAddress);
158
- return {
159
- sessionId,
160
- matchCount: newAddresses.length,
161
- scanNumber: session.scanCount,
162
- addresses: displayAddresses,
163
- totalMatches: newAddresses.length,
164
- truncated: newAddresses.length > SCAN_DISPLAY_RESULTS_LIMIT,
165
- elapsed
166
- };
167
- }
168
- /**
169
- * Unknown initial value scan: captures all readable memory addresses
170
- * of the given type, then next-scan narrows.
171
- */
172
- async unknownInitialScan(pid, options) {
173
- const start = performance.now();
174
- const valueType = options.valueType;
175
- const valueSize = getValueSize(valueType);
176
- const alignment = options.alignment ?? getDefaultAlignment(valueType);
177
- const maxAddresses = options.maxResults ?? SCAN_UNKNOWN_INITIAL_MAX_ADDRESSES;
178
- if (valueSize === 0) throw new Error("Unknown initial scan is not supported for variable-length types");
179
- const sessionId = scanSessionManager.createSession(pid, options);
180
- const addresses = [];
181
- const values = /* @__PURE__ */ new Map();
182
- const handle = this.provider.openProcess(pid, false);
183
- try {
184
- const regions = this.getFilteredRegions(handle, options);
185
- const totalRegions = regions.length;
186
- let regionsProcessed = 0;
187
- for (const region of regions) {
188
- if (options.onProgress) options.onProgress(regionsProcessed, totalRegions);
189
- regionsProcessed++;
190
- if (addresses.length >= maxAddresses) break;
191
- const regionBase = region.baseAddress;
192
- const regionSize = region.size;
193
- const chunkSize = 16 * 1024 * 1024;
194
- for (let offset = 0; offset < regionSize && addresses.length < maxAddresses; offset += chunkSize) {
195
- const readSize = Math.min(chunkSize, regionSize - offset);
196
- const chunkAddr = regionBase + BigInt(offset);
197
- let chunk;
198
- try {
199
- chunk = this.provider.readMemory(handle, chunkAddr, readSize).data;
200
- } catch {
201
- break;
202
- }
203
- const alignStep = this.getAlignStep(alignment);
204
- const chunkStart = this.getAlignedChunkStart(chunkAddr, alignStep);
205
- for (let i = chunkStart; i <= chunk.length - valueSize; i += alignStep) {
206
- const addr = chunkAddr + BigInt(i);
207
- addresses.push(addr);
208
- values.set(addr, Buffer.from(chunk.subarray(i, i + valueSize)));
209
- if (addresses.length >= maxAddresses) break;
210
- }
211
- }
212
- }
213
- } finally {
214
- this.provider.closeProcess(handle);
215
- }
216
- scanSessionManager.updateSession(sessionId, addresses, values);
217
- const elapsed = `${(performance.now() - start).toFixed(1)}ms`;
218
- return {
219
- sessionId,
220
- matchCount: addresses.length,
221
- scanNumber: 1,
222
- addresses: addresses.slice(0, SCAN_DISPLAY_RESULTS_LIMIT).map(formatAddress),
223
- totalMatches: addresses.length,
224
- truncated: addresses.length > SCAN_DISPLAY_RESULTS_LIMIT,
225
- elapsed
226
- };
227
- }
228
- /**
229
- * Pointer scan: find addresses whose value points to a valid target address.
230
- */
231
- async pointerScan(pid, targetAddress, options = {}) {
232
- const start = performance.now();
233
- const maxResults = options.maxResults ?? SCAN_POINTER_MAX_RESULTS;
234
- const targetAddr = parseAddress(targetAddress);
235
- const scanOptions = {
236
- valueType: "pointer",
237
- alignment: 8,
238
- regionFilter: { moduleOnly: options.moduleOnly }
239
- };
240
- const sessionId = scanSessionManager.createSession(pid, scanOptions);
241
- const pointers = [];
242
- const handle = this.provider.openProcess(pid, false);
243
- try {
244
- const regions = this.getFilteredRegions(handle, scanOptions);
245
- for (const region of regions) {
246
- if (options.moduleOnly) {}
247
- if (pointers.length >= maxResults) break;
248
- const regionBase = region.baseAddress;
249
- const regionSize = region.size;
250
- const chunkSize = 16 * 1024 * 1024;
251
- for (let offset = 0; offset < regionSize && pointers.length < maxResults; offset += chunkSize) {
252
- const readSize = Math.min(chunkSize, regionSize - offset);
253
- const chunkAddr = regionBase + BigInt(offset);
254
- let chunk;
255
- try {
256
- chunk = this.provider.readMemory(handle, chunkAddr, readSize).data;
257
- } catch {
258
- break;
259
- }
260
- for (let i = 0; i <= chunk.length - 8; i += 8) {
261
- const ptrValue = chunk.readBigUInt64LE(i);
262
- if ((ptrValue > targetAddr ? Number(ptrValue - targetAddr) : Number(targetAddr - ptrValue)) <= 4096) {
263
- const addr = chunkAddr + BigInt(i);
264
- const offsetFromTarget = ptrValue >= targetAddr ? Number(ptrValue - targetAddr) : -Number(targetAddr - ptrValue);
265
- pointers.push({
266
- address: formatAddress(addr),
267
- value: formatAddress(ptrValue),
268
- offsetFromTarget
269
- });
270
- if (pointers.length >= maxResults) break;
271
- }
272
- }
273
- }
274
- }
275
- } finally {
276
- this.provider.closeProcess(handle);
277
- }
278
- const addresses = pointers.map((p) => parseAddress(p.address));
279
- scanSessionManager.updateSession(sessionId, addresses, /* @__PURE__ */ new Map());
280
- const elapsed = `${(performance.now() - start).toFixed(1)}ms`;
281
- return {
282
- sessionId,
283
- pointers: pointers.slice(0, SCAN_DISPLAY_RESULTS_LIMIT),
284
- totalFound: pointers.length,
285
- elapsed
286
- };
287
- }
288
- /**
289
- * Group scan: search for N values at known offsets simultaneously.
290
- */
291
- async groupScan(pid, pattern, options) {
292
- const start = performance.now();
293
- if (pattern.length === 0) throw new Error("Group scan requires at least one value pattern");
294
- const maxOffset = Math.max(...pattern.map((p) => p.offset + getValueSize(p.type)));
295
- if (maxOffset > SCAN_GROUP_MAX_PATTERN_SIZE) throw new Error(`Group pattern too large: ${maxOffset} bytes (max ${SCAN_GROUP_MAX_PATTERN_SIZE})`);
296
- const compositePattern = Array.from({ length: maxOffset }, () => 0);
297
- const compositeMask = Array.from({ length: maxOffset }, () => 0);
298
- for (const entry of pattern) {
299
- const effectiveType = entry.type === "pointer" ? "uint64" : entry.type;
300
- const { patternBytes, mask } = parsePattern(entry.value, effectiveType);
301
- for (let i = 0; i < patternBytes.length; i++) {
302
- compositePattern[entry.offset + i] = patternBytes[i];
303
- compositeMask[entry.offset + i] = mask[i];
304
- }
305
- }
306
- const alignment = options?.alignment ?? 4;
307
- const maxResults = options?.maxResults ?? SCAN_MAX_RESULTS_PER_SCAN;
308
- const scanOptions = {
309
- valueType: "int32",
310
- alignment
311
- };
312
- const sessionId = scanSessionManager.createSession(pid, scanOptions);
313
- const addresses = [];
314
- const handle = this.provider.openProcess(pid, false);
315
- try {
316
- const regions = this.getFilteredRegions(handle, scanOptions);
317
- for (const region of regions) {
318
- if (addresses.length >= maxResults) break;
319
- const regionBase = region.baseAddress;
320
- const regionSize = region.size;
321
- const chunkSize = 16 * 1024 * 1024;
322
- const overlap = maxOffset - 1;
323
- for (let chunkOffset = 0; chunkOffset < regionSize && addresses.length < maxResults; chunkOffset += chunkSize) {
324
- const readSize = Math.min(chunkSize + overlap, regionSize - chunkOffset);
325
- const chunkAddr = regionBase + BigInt(chunkOffset);
326
- let chunk;
327
- try {
328
- chunk = this.provider.readMemory(handle, chunkAddr, readSize).data;
329
- } catch {
330
- break;
331
- }
332
- const alignStep = this.getAlignStep(alignment);
333
- const chunkStart = this.getAlignedChunkStart(chunkAddr, alignStep);
334
- for (let i = chunkStart; i <= chunk.length - maxOffset; i += alignStep) {
335
- let match = true;
336
- for (let j = 0; j < maxOffset; j++) if (compositeMask[j] === 1 && chunk[i + j] !== compositePattern[j]) {
337
- match = false;
338
- break;
339
- }
340
- if (match) {
341
- const addr = chunkAddr + BigInt(i);
342
- addresses.push(addr);
343
- if (addresses.length >= maxResults) break;
344
- }
345
- }
346
- }
347
- }
348
- } finally {
349
- this.provider.closeProcess(handle);
350
- }
351
- scanSessionManager.updateSession(sessionId, addresses, /* @__PURE__ */ new Map());
352
- const elapsed = `${(performance.now() - start).toFixed(1)}ms`;
353
- return {
354
- sessionId,
355
- matchCount: addresses.length,
356
- scanNumber: 1,
357
- addresses: addresses.slice(0, SCAN_DISPLAY_RESULTS_LIMIT).map(formatAddress),
358
- totalMatches: addresses.length,
359
- truncated: addresses.length > SCAN_DISPLAY_RESULTS_LIMIT,
360
- elapsed
361
- };
362
- }
363
- getAlignStep(alignment) {
364
- return alignment > 0 ? alignment : 1;
365
- }
366
- getAlignedChunkStart(chunkAddr, alignStep) {
367
- const align = BigInt(alignStep);
368
- const remainder = chunkAddr % align;
369
- return remainder === 0n ? 0 : Number(align - remainder);
370
- }
371
- isAlignedAddress(address, alignStep) {
372
- return address % BigInt(alignStep) === 0n;
373
- }
374
- /**
375
- * Pattern-based first scan for variable-length types (hex/string).
376
- * Delegates to existing NativeMemoryManager.scanMemory.
377
- */
378
- async patternFirstScan(pid, value, valueType, options) {
379
- const start = performance.now();
380
- const patternType = valueType === "pointer" ? "uint64" : valueType;
381
- const result = await this.nmm.scanMemory(pid, value, patternType);
382
- if (!result.success) throw new Error(result.error ?? "Scan failed");
383
- const sessionId = scanSessionManager.createSession(pid, options);
384
- const maxResultCount = options.maxResults ?? SCAN_MAX_RESULTS_PER_SCAN;
385
- const addresses = result.addresses.slice(0, maxResultCount).map(parseAddress);
386
- scanSessionManager.updateSession(sessionId, addresses, /* @__PURE__ */ new Map());
387
- const elapsed = `${(performance.now() - start).toFixed(1)}ms`;
388
- return {
389
- sessionId,
390
- matchCount: addresses.length,
391
- scanNumber: 1,
392
- addresses: addresses.slice(0, SCAN_DISPLAY_RESULTS_LIMIT).map(formatAddress),
393
- totalMatches: result.addresses.length,
394
- truncated: addresses.length > SCAN_DISPLAY_RESULTS_LIMIT,
395
- elapsed
396
- };
397
- }
398
- /**
399
- * Get readable memory regions, applying region filters.
400
- * Uses PlatformMemoryAPI.queryRegion() for cross-platform support.
401
- */
402
- getFilteredRegions(handle, options) {
403
- const regions = [];
404
- let address = 0n;
405
- const maxAddress = BigInt("0x7FFFFFFF0000");
406
- const filter = options.regionFilter;
407
- while (address < maxAddress) {
408
- const regionInfo = this.provider.queryRegion(handle, address);
409
- if (!regionInfo) break;
410
- const regionSize = regionInfo.size;
411
- if (regionInfo.isReadable && regionSize > 0 && regionSize <= Number.MAX_SAFE_INTEGER) {
412
- let include = true;
413
- if (filter?.writable && !regionInfo.isWritable) include = false;
414
- if (filter?.executable && !regionInfo.isExecutable) include = false;
415
- if (filter?.moduleOnly && regionInfo.type !== "image") include = false;
416
- if (include) regions.push({
417
- baseAddress: regionInfo.baseAddress,
418
- size: regionSize
419
- });
420
- }
421
- address = regionInfo.baseAddress + BigInt(regionInfo.size);
422
- }
423
- return regions;
424
- }
425
- };
426
- const memoryScanner = new MemoryScanner(nativeMemoryManager);
427
- //#endregion
428
- export { MemoryScanner, memoryScanner };