@jshookmcp/jshook 0.3.3 → 0.3.4

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 (311) hide show
  1. package/README.md +19 -4
  2. package/README.zh.md +19 -4
  3. package/dist/AntiCheatDetector-B-mz4DK_.mjs +1 -0
  4. package/dist/{BrowserSessionCoordinator-QIt3tetp.mjs → BrowserSessionCoordinator-Cdic8FsH.mjs} +1 -1
  5. package/dist/CodeAnalyzerDataFlow-a-NkwcaG.mjs +2 -0
  6. package/dist/CodeInjector-B099WO6x.mjs +1 -0
  7. package/dist/ConsoleMonitor-BZRqrBH-.mjs +306 -0
  8. package/dist/CpuEngine-BC8jayy9.mjs +1 -0
  9. package/dist/DartAotExecutor-B7WVTKsd.mjs +1 -0
  10. package/dist/DartAotLoader-BxdhW-K2.mjs +2 -0
  11. package/dist/DarwinAPI-DzojdfjF.mjs +1 -0
  12. package/dist/{DetailedDataManager-Z77fDl9Z.mjs → DetailedDataManager-Dgh402Gp.mjs} +2 -2
  13. package/dist/ExecutionSandbox-QbWQmzuC.mjs +45 -0
  14. package/dist/ExtensionManager.tools-D3h818Xs.mjs +1 -0
  15. package/dist/FingerprintManager-D9Zlr6be.mjs +1 -0
  16. package/dist/HardwareBreakpoint-C_lJ22bj.mjs +1 -0
  17. package/dist/HeapAnalyzer-bJbLvzp6.mjs +1 -0
  18. package/dist/HookPatternScanner-yx4vJ9sd.mjs +1 -0
  19. package/dist/InstrumentationSession-Cv1wikLA.mjs +1 -0
  20. package/dist/IntegrityScanner-BB7sw-SA.mjs +1 -0
  21. package/dist/JScramblerDeobfuscator-NVR5VatT.mjs +1 -0
  22. package/dist/MCPServer.activation.ttl-C2wOCMLV.mjs +1 -0
  23. package/dist/MCPServer.search.helpers-DlassAew.mjs +2 -0
  24. package/dist/MemoryController-CCsGuGJS.mjs +2 -0
  25. package/dist/{MemoryScanSession-zfoVZJB0.mjs → MemoryScanSession-BZ2A9Ph1.mjs} +1 -1
  26. package/dist/MemoryScanner-DAxsq7Sx.mjs +1 -0
  27. package/dist/NativeMemoryManager.impl-BIJzXMqH.mjs +1 -0
  28. package/dist/{NativeMemoryManager.utils-Bu8srMEF.mjs → NativeMemoryManager.utils-CMoul2an.mjs} +1 -1
  29. package/dist/PEAnalyzer-CB_kaTis.mjs +1 -0
  30. package/dist/PackerDeobfuscator-BpwGjxDL.mjs +7 -0
  31. package/dist/PointerChainEngine-B6SYv6ZM.mjs +1 -0
  32. package/dist/ProcessRegistry-C5W1Tkn9.mjs +1 -0
  33. package/dist/QuickJSSandbox-CIde-jzG.mjs +299 -0
  34. package/dist/{ResponseBuilder-nPXl_khE.mjs → ResponseBuilder-BLicSCjn.mjs} +1 -1
  35. package/dist/ReverseEvidenceGraph-DJzk0GQz.mjs +2 -0
  36. package/dist/ServerRuntimeState-DGXNv8Ji.mjs +1 -0
  37. package/dist/Speedhack-MGoeq1ZS.mjs +1 -0
  38. package/dist/StructureAnalyzer-CCTWAXR3.mjs +2 -0
  39. package/dist/ToolHandlerMap-C40EmuLT.mjs +1 -0
  40. package/dist/{ToolProbe-DQiREmNp.mjs → ToolProbe-B02GC3ZY.mjs} +1 -1
  41. package/dist/ToolRegistry-CzqQxFqf.mjs +1 -0
  42. package/dist/{ToolRouter.policy-UKBlFlbh.mjs → ToolRouter.policy-Bgb3S8jc.mjs} +2 -2
  43. package/dist/TraceRecorder-BfeCTQUj.mjs +407 -0
  44. package/dist/VMDeobfuscator-BHtkV850.mjs +1 -0
  45. package/dist/Win32API-G7QPyckq.mjs +1 -0
  46. package/dist/{Win32Debug-DwF8mQGm.mjs → Win32Debug-6yzmtv5b.mjs} +1 -1
  47. package/dist/allocation-track-CiI-CnaI.mjs +1 -0
  48. package/dist/analysis-CojUzwX-.mjs +27 -0
  49. package/dist/{antidebug-CsnpOR9z.mjs → antidebug-CgU84TE1.mjs} +1 -1
  50. package/dist/apk-DrPBsOq8.mjs +1 -0
  51. package/dist/artifactRetention-Bk6fW2uF.mjs +1 -0
  52. package/dist/artifacts-Bx9GLx4J.mjs +1 -0
  53. package/dist/ast-bridge-BlOrmVAv.mjs +1 -0
  54. package/dist/ast-utils-B9E5k_v1.mjs +1 -0
  55. package/dist/binary-instrument-DiE1BP0x.mjs +12 -0
  56. package/dist/boringssl-inspector-C6M3sOga.mjs +2 -0
  57. package/dist/browser-QDUu5ML9.mjs +29 -0
  58. package/dist/{canvas-396ieNv5.mjs → canvas-g5kmLdY-.mjs} +1098 -24
  59. package/dist/{capabilities-L1ax5EHS.mjs → capabilities-DwzyxL2w.mjs} +1 -1
  60. package/dist/cdp-session-Dy4OwMOP.mjs +1 -0
  61. package/dist/collector-Cld4i-E4.mjs +1 -0
  62. package/dist/config-5ODJ3Aj0.mjs +3 -0
  63. package/dist/constants-nvsLpSri.mjs +1 -0
  64. package/dist/coordination-C6y2gM9O.mjs +98 -0
  65. package/dist/coverage-and-block--cWjjEe5.mjs +1 -0
  66. package/dist/dart-inspector-D4IKxZ6u.mjs +0 -0
  67. package/dist/debugger-C2SpiXoO.mjs +1 -0
  68. package/dist/definitions-0mtilYzG.mjs +1 -0
  69. package/dist/definitions-9csunmeX.mjs +1 -0
  70. package/dist/definitions-B11MudW_.mjs +1 -0
  71. package/dist/definitions-BKpRDjcI.mjs +1 -0
  72. package/dist/definitions-BXE3H4re.mjs +1 -0
  73. package/dist/definitions-BlPHe5DX.mjs +1 -0
  74. package/dist/definitions-Bob4XMxI.mjs +27 -0
  75. package/dist/definitions-BpIQN2nm.mjs +1 -0
  76. package/dist/{definitions-Ym8niHDb.mjs → definitions-BvolWeSu.mjs} +1 -1
  77. package/dist/definitions-C-6j3Ejl.mjs +1 -0
  78. package/dist/definitions-C-AdFfFu.mjs +1 -0
  79. package/dist/definitions-CArdw_9T.mjs +1 -0
  80. package/dist/definitions-CCvIcRrT.mjs +1 -0
  81. package/dist/definitions-CJPE5PIl.mjs +1 -0
  82. package/dist/definitions-CbqeW06u.mjs +1 -0
  83. package/dist/definitions-Cexmkypg.mjs +1 -0
  84. package/dist/definitions-D1dxl8qt.mjs +1 -0
  85. package/dist/definitions-D3uT-ZbU.mjs +1 -0
  86. package/dist/definitions-DtOY5iUc.mjs +1 -0
  87. package/dist/{definitions-Cv5r8xwq.mjs → definitions-DvrYdDCJ2.mjs} +1 -1
  88. package/dist/definitions-ihxOqOC4.mjs +1 -0
  89. package/dist/deopt-trace-qnAcC931.mjs +17 -0
  90. package/dist/disasm-DoxSucGp.mjs +1 -0
  91. package/dist/dumpsys-parser-Du-5ruEe.mjs +2 -0
  92. package/dist/encoding-UMtwgy4M.mjs +2 -0
  93. package/dist/ensure-browser-core-BP70x0TB.mjs +285 -0
  94. package/dist/factory-BeND77hf.mjs +2 -0
  95. package/dist/graphql-CF7QKJME.mjs +68 -0
  96. package/dist/grpc-raw-Dp7ps2sv.mjs +1 -0
  97. package/dist/handlers--qCl9vNv.mjs +1 -0
  98. package/dist/handlers-BHIu1LqA.mjs +1 -0
  99. package/dist/{handlers-DB6xVVWq.mjs → handlers-BQ4K8Jbr.mjs} +1 -1
  100. package/dist/handlers-BxQv-wtf.mjs +8 -0
  101. package/dist/handlers-ByYG27-5.mjs +1 -0
  102. package/dist/handlers-C0I9-BtX.mjs +5 -0
  103. package/dist/{handlers-CWKBBjai.mjs → handlers-CL0Iokmw.mjs} +1 -1
  104. package/dist/handlers-CNbhIdSK.mjs +4 -0
  105. package/dist/handlers-CnTTSJFs.mjs +109 -0
  106. package/dist/handlers-CoDx6akJ2.mjs +49 -0
  107. package/dist/{handlers-BbLxNbbT.mjs → handlers-DASJI0Pn.mjs} +1 -1
  108. package/dist/handlers-DRKMaA-_.mjs +74 -0
  109. package/dist/handlers-Dalu0olz.mjs +2 -0
  110. package/dist/handlers-KY0g31ny.mjs +9 -0
  111. package/dist/handlers-oGo60aVv.mjs +1 -0
  112. package/dist/handlers.impl-BTXLw6Qc.mjs +1 -0
  113. package/dist/heap-sampling-BqdiU-5j.mjs +1 -0
  114. package/dist/{hooks-DPouiS7I.mjs → hooks-COK3t5rT.mjs} +51 -32
  115. package/dist/index.mjs +11 -11
  116. package/dist/logger-BGCcd-jJ.mjs +1 -0
  117. package/dist/macro-nUYUjKNZ.mjs +2 -0
  118. package/dist/maintenance-CfnE7ZKU.mjs +4 -0
  119. package/dist/manifest-7EOTUc0D.mjs +1 -0
  120. package/dist/manifest-B5ujuQmf.mjs +1 -0
  121. package/dist/manifest-BErXl3zn.mjs +1 -0
  122. package/dist/manifest-BKA-mD3J.mjs +1 -0
  123. package/dist/manifest-BUXj23bX.mjs +1 -0
  124. package/dist/manifest-BfXt9cau.mjs +1 -0
  125. package/dist/manifest-Bx-tpURK.mjs +1 -0
  126. package/dist/manifest-C0owVAdq.mjs +1 -0
  127. package/dist/manifest-C5XqYc9o.mjs +1 -0
  128. package/dist/manifest-CVKzLjsA.mjs +1 -0
  129. package/dist/manifest-CaeFjdhj.mjs +1 -0
  130. package/dist/manifest-CegBgip0.mjs +1 -0
  131. package/dist/manifest-CoJHqlgS.mjs +1 -0
  132. package/dist/manifest-D0dbtDqd.mjs +1 -0
  133. package/dist/manifest-D5Gr8ujd.mjs +12 -0
  134. package/dist/manifest-D82z-5og.mjs +1 -0
  135. package/dist/manifest-DA2afIwh.mjs +1 -0
  136. package/dist/manifest-DAbiFP5o.mjs +1 -0
  137. package/dist/manifest-DEY0s1O72.mjs +1 -0
  138. package/dist/manifest-DTOqNqiA.mjs +1 -0
  139. package/dist/manifest-DZ6ELNgX.mjs +1 -0
  140. package/dist/manifest-DjHkjddT.mjs +1 -0
  141. package/dist/manifest-DocA_itf2.mjs +1 -0
  142. package/dist/manifest-Dpnhvfq0.mjs +1 -0
  143. package/dist/manifest-DucPMG_a.mjs +1 -0
  144. package/dist/manifest-Dw5yYEac.mjs +1 -0
  145. package/dist/manifest-Ic_Cg66S.mjs +1 -0
  146. package/dist/manifest-JHaG6GMN.mjs +1 -0
  147. package/dist/manifest-QdkIzmYM.mjs +1 -0
  148. package/dist/manifest-YZqaCe25.mjs +1 -0
  149. package/dist/manifest-f0lUeXwq.mjs +1 -0
  150. package/dist/manifest-h-Ebisf8.mjs +1 -0
  151. package/dist/manifest-oOfTymBS.mjs +1 -0
  152. package/dist/manifest-qXqrO6KC.mjs +2 -0
  153. package/dist/mapsParser-DrJoeC0c.mjs +1 -0
  154. package/dist/modules-CC_ADmwi.mjs +333 -0
  155. package/dist/mojo-ipc-kVztXYw-.mjs +140 -0
  156. package/dist/native-D9ouskXO.mjs +961 -0
  157. package/dist/native-bridge-Dzd7hYoq.mjs +1 -0
  158. package/dist/network-C5Y-S87J.mjs +7 -0
  159. package/dist/one-gadget-CiWFE17F.mjs +1 -0
  160. package/dist/outputPaths-CHtELDyi.mjs +1 -0
  161. package/dist/parse-args-B6dwWc9k.mjs +1 -0
  162. package/dist/platform-BIXgJaM3.mjs +94 -0
  163. package/dist/process-aDIfLC0v.mjs +6 -0
  164. package/dist/proxy-DsHsQ1I4.mjs +2 -0
  165. package/dist/registry-7h8jJ9y9.mjs +1 -0
  166. package/dist/{registry-xB8Wgmyj.mjs → registry-DJDnkQW2.mjs} +1 -1
  167. package/dist/response-R8ghbZSb.mjs +1 -0
  168. package/dist/retry-policy-DtYv0kDi.mjs +1 -0
  169. package/dist/reverseEngineeringConfig-BhZLOa3C.mjs +1 -0
  170. package/dist/safeOutput-Dt4mfjXA.mjs +1 -0
  171. package/dist/{search-defaults-CJik67or.mjs → search-defaults-BBRJNAzC.mjs} +1 -1
  172. package/dist/server/search/EmbeddingWorker.d.mts +1 -0
  173. package/dist/server/search/EmbeddingWorker.mjs +1 -0
  174. package/dist/shared-BKtWZDGN.mjs +1 -0
  175. package/dist/sourcemap-2VIeVeKw.mjs +3 -0
  176. package/dist/streaming-DkpE3GGU.mjs +15 -0
  177. package/dist/syscall-DGZoYM_U.mjs +1 -0
  178. package/dist/transform-BJqsBC_-.mjs +105 -0
  179. package/dist/turbofan-graph-CbGHNVtl.mjs +1 -0
  180. package/dist/turbofan-inspect--NdCuYXi.mjs +23 -0
  181. package/dist/types-CWSvzmIh.mjs +1 -0
  182. package/dist/v8-inspector-CTJo08-K.mjs +297 -0
  183. package/dist/wasm-DX4Qm2Vs.mjs +235 -0
  184. package/dist/weakrefs-inspect-CnhaF-rN.mjs +57 -0
  185. package/dist/webgpu-D4-DxbxZ.mjs +6 -0
  186. package/dist/workflow-DHktRNF2.mjs +108 -0
  187. package/package.json +33 -27
  188. package/dist/AntiCheatDetector-CUpZBh5O.mjs +0 -1
  189. package/dist/CodeInjector-Btj9upnf.mjs +0 -1
  190. package/dist/ConsoleMonitor-DIjN5Afa.mjs +0 -306
  191. package/dist/DarwinAPI-BuMPGzHm.mjs +0 -1
  192. package/dist/ExtensionManager.tools-CIGOWViz.mjs +0 -1
  193. package/dist/FingerprintManager-BkDSsjjP.mjs +0 -1
  194. package/dist/HardwareBreakpoint-DMAMcPyB.mjs +0 -1
  195. package/dist/HeapAnalyzer-Yj348FYt.mjs +0 -1
  196. package/dist/InstrumentationSession-c5qZyp7d.mjs +0 -1
  197. package/dist/MCPServer.activation.ttl-CEGNBycZ.mjs +0 -1
  198. package/dist/MCPServer.search.helpers-Cs1JpKbu.mjs +0 -1
  199. package/dist/MemoryController-DjtgiING.mjs +0 -2
  200. package/dist/MemoryScanner-Dxd657li.mjs +0 -1
  201. package/dist/PEAnalyzer-CMu9Ua9T.mjs +0 -1
  202. package/dist/PointerChainEngine-CaSC1Mry.mjs +0 -1
  203. package/dist/ProcessRegistry-D5y1yuP2.mjs +0 -1
  204. package/dist/ReverseEvidenceGraph-BksOpsPs.mjs +0 -2
  205. package/dist/ServerRuntimeState-CgqBBwfd.mjs +0 -1
  206. package/dist/Speedhack-pwXTHxOY.mjs +0 -1
  207. package/dist/StructureAnalyzer-BseGzsSl.mjs +0 -2
  208. package/dist/ToolCatalog-DgmQXdsm.mjs +0 -1
  209. package/dist/ToolHandlerMap-7HWoIgQO.mjs +0 -1
  210. package/dist/ToolRegistry-eMZEBiR1.mjs +0 -1
  211. package/dist/TraceRecorder-B5ktv3nP.mjs +0 -272
  212. package/dist/VersionDetector-CmPJmaJg.mjs +0 -1
  213. package/dist/Win32API-DoP3MMHS.mjs +0 -1
  214. package/dist/WorkflowEngine-CldHG5b4.mjs +0 -1
  215. package/dist/analysis-C-ln0Brh.mjs +0 -6
  216. package/dist/artifactRetention-DkYKLOvi.mjs +0 -1
  217. package/dist/artifacts-D-4pSS_N.mjs +0 -1
  218. package/dist/binary-instrument-BeZ224mZ.mjs +0 -9
  219. package/dist/boringssl-inspector-ZOCkaipa.mjs +0 -2
  220. package/dist/browser-BUaB25bk.mjs +0 -11
  221. package/dist/collector-CB2syQEg.mjs +0 -1
  222. package/dist/constants-DMv3svps.mjs +0 -2
  223. package/dist/coordination-Dbohmj6D.mjs +0 -1
  224. package/dist/dart-inspector-LhEqRITQ.mjs +0 -0
  225. package/dist/debugger-CLzkObIO.mjs +0 -1
  226. package/dist/definitions-0hxnrDU72.mjs +0 -1
  227. package/dist/definitions-B3a9QC2t.mjs +0 -1
  228. package/dist/definitions-BOvju5t2.mjs +0 -1
  229. package/dist/definitions-CXj_cEVt.mjs +0 -1
  230. package/dist/definitions-Co6AvTjH.mjs +0 -1
  231. package/dist/definitions-DBYSxChX.mjs +0 -1
  232. package/dist/definitions-D_dTDX9B.mjs +0 -1
  233. package/dist/definitions-Db9t2ddh.mjs +0 -1
  234. package/dist/definitions-DbN2CjI2.mjs +0 -1
  235. package/dist/definitions-DlmmHmZc.mjs +0 -1
  236. package/dist/definitions-DnYpoGig.mjs +0 -1
  237. package/dist/definitions-DtZ6Ktx2.mjs +0 -1
  238. package/dist/definitions-DuIPS8gq.mjs +0 -1
  239. package/dist/definitions-DywfwPMb.mjs +0 -1
  240. package/dist/definitions-EGmqr85H.mjs +0 -1
  241. package/dist/definitions-Fetw_Cge.mjs +0 -26
  242. package/dist/definitions-LdkeuOeA.mjs +0 -1
  243. package/dist/definitions-cnG6tj17.mjs +0 -1
  244. package/dist/encoding-B4xZWErf.mjs +0 -2
  245. package/dist/ensure-browser-core-JHwDo5ql.mjs +0 -285
  246. package/dist/factory-BxNdBiZa.mjs +0 -1
  247. package/dist/graphql-GBWsZ9xC.mjs +0 -62
  248. package/dist/handlers-5nzR8B0a.mjs +0 -5
  249. package/dist/handlers-6iNsXOVT.mjs +0 -7
  250. package/dist/handlers-BZ8n6Hvf.mjs +0 -1
  251. package/dist/handlers-BbS4hssc.mjs +0 -4
  252. package/dist/handlers-CIKOP4aI.mjs +0 -2
  253. package/dist/handlers-Cmb6SoRC.mjs +0 -1
  254. package/dist/handlers-CrJsKnEI.mjs +0 -1
  255. package/dist/handlers-DOOCWUNR.mjs +0 -31
  256. package/dist/handlers-Z_B5aVaU.mjs +0 -54
  257. package/dist/handlers-gVscChvl.mjs +0 -1
  258. package/dist/handlers-xFvI9P_y.mjs +0 -1
  259. package/dist/handlers.impl-BsFTW6SD.mjs +0 -1
  260. package/dist/logger-CCikqqvj.mjs +0 -1
  261. package/dist/macro-p8kuJVcm.mjs +0 -2
  262. package/dist/maintenance-DAqADb6Z.mjs +0 -302
  263. package/dist/manifest-4lmM6MZR.mjs +0 -1
  264. package/dist/manifest-AxaxRSt6.mjs +0 -2
  265. package/dist/manifest-BIqRE1Qz.mjs +0 -1
  266. package/dist/manifest-Box-jWfr.mjs +0 -1
  267. package/dist/manifest-Bp33di0Q.mjs +0 -1
  268. package/dist/manifest-BvRX4nRP.mjs +0 -1
  269. package/dist/manifest-C6KoB1XE.mjs +0 -1
  270. package/dist/manifest-C7TdXCWY.mjs +0 -1
  271. package/dist/manifest-CM-n64K0.mjs +0 -1
  272. package/dist/manifest-CUokxCUN.mjs +0 -1
  273. package/dist/manifest-CWJS45iO.mjs +0 -1
  274. package/dist/manifest-Cdxdgo-D.mjs +0 -1
  275. package/dist/manifest-Cf6SmamD.mjs +0 -1
  276. package/dist/manifest-Cgxu2qdv.mjs +0 -1
  277. package/dist/manifest-CowGSURa2.mjs +0 -1
  278. package/dist/manifest-CsGIrh34.mjs +0 -1
  279. package/dist/manifest-CvDpVToN.mjs +0 -1
  280. package/dist/manifest-D8TL9RLE.mjs +0 -1
  281. package/dist/manifest-DIhtCBe6.mjs +0 -1
  282. package/dist/manifest-DJbruNOg.mjs +0 -1
  283. package/dist/manifest-DLGtZH-0.mjs +0 -1
  284. package/dist/manifest-DXHdPt2T.mjs +0 -1
  285. package/dist/manifest-Dg5ScOyW.mjs +0 -1
  286. package/dist/manifest-DzGoTS0R.mjs +0 -1
  287. package/dist/manifest-G2H52LKz.mjs +0 -131
  288. package/dist/manifest-P0Futrgb.mjs +0 -1
  289. package/dist/manifest-Qw7xgvjv.mjs +0 -1
  290. package/dist/manifest-W3qvVrP2.mjs +0 -1
  291. package/dist/manifest-dG6MuR1U.mjs +0 -1
  292. package/dist/manifest-nWXtgq5Y2.mjs +0 -1
  293. package/dist/manifest-vp1upSSq.mjs +0 -1
  294. package/dist/modules-DO3jXCgj.mjs +0 -333
  295. package/dist/mojo-ipc-Be-ccWrc.mjs +0 -9
  296. package/dist/native-g095qhpK.mjs +0 -961
  297. package/dist/network-Dvxm7eEI.mjs +0 -7
  298. package/dist/outputPaths-D2ddHrOJ.mjs +0 -2
  299. package/dist/parse-args-ngRrvF9e.mjs +0 -1
  300. package/dist/platform-DjWbuiF8.mjs +0 -93
  301. package/dist/process-Dq5I-KZW.mjs +0 -2
  302. package/dist/proxy-DPNgM7TE.mjs +0 -2
  303. package/dist/renderer-pid-7jbTR8f5.mjs +0 -1
  304. package/dist/response-B1RuVVfD.mjs +0 -1
  305. package/dist/sourcemap-DqEW15Ao.mjs +0 -1
  306. package/dist/streaming-Dbk4eStJ.mjs +0 -1
  307. package/dist/transform-D-peM3aO.mjs +0 -103
  308. package/dist/wasm-CZajRaad.mjs +0 -174
  309. package/dist/webcrack-phEfVt5y.mjs +0 -46
  310. package/dist/workflow-wkXb3x-U.mjs +0 -101
  311. /package/dist/{chunk-88NL7fhV.mjs → rolldown-runtime-88NL7fhV.mjs} +0 -0
@@ -1,9 +0,0 @@
1
- import{n as e}from"./chunk-88NL7fhV.mjs";import{Jn as t}from"./constants-DMv3svps.mjs";import{o as n,r}from"./parse-args-ngRrvF9e.mjs";import{n as i,t as a}from"./capabilities-L1ax5EHS.mjs";import"./manifest-BvRX4nRP.mjs";import{execFile as o,spawn as s}from"node:child_process";function c(){return[{name:`blink.mojom.WidgetHost`,version:1,pendingMessages:0},{name:`content.mojom.FrameHost`,version:2,pendingMessages:0},{name:`network.mojom.URLLoaderFactory`,version:3,pendingMessages:0}]}function l(){try{return e.resolve(`frida`),!0}catch{return!1}}async function u(){return new Promise(e=>{let n=s(`frida`,[`--version`],{timeout:t,windowsHide:!0}),r=``;n.stdout?.on(`data`,e=>{r+=e.toString()}),n.on(`close`,t=>{if(t===0&&r.trim().length>0){e(`frida`);return}e(null)}),n.on(`error`,()=>{e(null)})})}async function d(){let e=process.env.JSHOOK_ENABLE_MOJO_IPC,t=l(),n=await u(),r=t||n!==null;return e===`0`||e===`false`?{available:!1,fridaAvailable:r,fridaCliAvailable:n!==null,reason:`Mojo IPC disabled by JSHOOK_ENABLE_MOJO_IPC=0.`}:{available:r,fridaAvailable:r,fridaCliAvailable:n!==null,reason:r?void 0:`Mojo IPC backend is not connected. Install Frida for real IPC monitoring: https://frida.re/docs/installation/`}}function f(e,t){return!(t.interfaceName&&e.interfaceName!==t.interfaceName||t.messageType&&e.messageType!==t.messageType||typeof t.pid==`number`&&e.sourcePid!==t.pid&&e.targetPid!==t.pid)}function p(){return`
2
- const messages = [];
3
- recv('message', () => {});
4
- rpc.exports = {
5
- flush() {
6
- return messages;
7
- },
8
- };
9
- `}var m=class{active=!1;simulationMode=!1;fridaProbeSucceeded=!1;deviceId;messages=[];interfaces=new Map;observedInterfaceNames=new Set;availability={available:!1,fridaAvailable:!1,fridaCliAvailable:!1,reason:`Not yet initialized. Call start() to probe availability.`};constructor(){this.resetInterfaces()}isAvailable(){return this.availability.available}getUnavailableReason(){return this.availability.reason}getAvailabilitySnapshot(){return{...this.availability}}async probeAvailability(){return this.availability=await d(),this.getAvailabilitySnapshot()}isSimulationMode(){return this.simulationMode}didFridaProbeSucceed(){return this.fridaProbeSucceeded}setSimulationMode(e){this.simulationMode=e}isActive(){return this.active}getDeviceId(){return this.deviceId}async start(e){if(this.deviceId=e,this.availability=await d(),this.resetInterfaces(),this.simulationMode=!1,this.fridaProbeSucceeded=!1,!this.availability.available){this.active=!1;return}this.active=!0,this.availability.fridaCliAvailable?await this.captureWithFrida(e):this.simulationMode=!0}async stop(){this.active=!1,this.deviceId=void 0,this.fridaProbeSucceeded=!1,this.resetInterfaces()}async captureMessages(e={}){if(!this.active)return[];let t=[],n=[];for(let r of this.messages)f(r,e)?t.push({...r}):n.push(r);return this.messages.length=0,this.messages.push(...n),this.recomputePendingCounts(),t}async listInterfaces(){return[...this.interfaces.values()].map(e=>({name:e.name,version:e.version,pendingMessages:e.pendingMessages})).toSorted((e,t)=>e.name.localeCompare(t.name))}hasObservedInterfaces(){return this.observedInterfaceNames.size>0}getObservedInterfaceCount(){return this.observedInterfaceNames.size}getInterfaceCatalogSource(){return this.observedInterfaceNames.size===0?`seeded-defaults`:this.observedInterfaceNames.size>=this.interfaces.size?`observed`:`mixed`}async getMessages(e){if(!this.active)return{messages:[],totalAvailable:0,filtered:!1,simulation:this.simulationMode};let t={};e?.interfaceName&&(t.interfaceName=e.interfaceName);let n=await this.captureMessages(t),r=e?.limit??100;return{messages:n.slice(0,r),totalAvailable:n.length,filtered:!!e?.interfaceName,simulation:this.simulationMode}}recordMessage(e,t=1){if(!this.active)return;this.messages.push({...e}),this.observedInterfaceNames.add(e.interfaceName);let n=this.interfaces.get(e.interfaceName);if(n){n.pendingMessages+=1;return}this.interfaces.set(e.interfaceName,{name:e.interfaceName,version:t,pendingMessages:1})}async captureWithFrida(e){let n=e??`chrome`,r=p();await new Promise((e,i)=>{o(`frida`,[`-q`,`-n`,n,`-l`,`-`,`--runtime=v8`],{timeout:t,windowsHide:!0},t=>{if(t){i(t);return}e()}).stdin?.end(r)}).then(()=>{this.fridaProbeSucceeded=!0}).catch(()=>{this.fridaProbeSucceeded=!1}),this.simulationMode=!0}recomputePendingCounts(){this.resetPendingCounts();for(let e of this.messages){this.observedInterfaceNames.add(e.interfaceName);let t=this.interfaces.get(e.interfaceName);t?t.pendingMessages+=1:this.interfaces.set(e.interfaceName,{name:e.interfaceName,version:1,pendingMessages:1})}}resetPendingCounts(){for(let e of this.interfaces.values())e.pendingMessages=0}resetInterfaces(){this.messages.length=0,this.interfaces.clear(),this.observedInterfaceNames.clear();for(let e of c())this.interfaces.set(e.name,{...e})}};function h(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function g(e){return h(e)?typeof e.handle==`number`:!1}function _(e){let t=e.replace(/\s+/g,``);return t.length%2==0?t.toLowerCase():`0${t.toLowerCase()}`}var v=class{decodePayload(e,t){let n=this.cleanHex(e),r=Buffer.from(n,`hex`),i=this.readUInt8(r,0),a=this.readUInt8(r,1),o=this.readUInt8(r,2),s=this.readUInt8(r,3),c=this.readUInt16LE(r,4),l={},u=[],d=6,f=0;for(let e=0;e<s;e+=1){if(d>=r.length){u.push(`payload ended before all fields were decoded`);break}let t=this.readUInt8(r,d);d+=1;let n=`field${e}`;if(t===1){if(!this.hasBytes(r,d,1)){u.push(`${n} truncated`);break}l[n]=this.readUInt8(r,d)!==0,d+=1;continue}if(t===6){if(!this.hasBytes(r,d,4)){u.push(`${n} truncated`);break}l[n]=r.readInt32LE(d),d+=4;continue}if(t===8){if(!this.hasBytes(r,d,4)){u.push(`${n} truncated`);break}l[n]=r.readUInt32LE(d),d+=4;continue}if(t===12){if(!this.hasBytes(r,d,2)){u.push(`${n} length prefix truncated`);break}let e=this.readUInt16LE(r,d);if(d+=2,!this.hasBytes(r,d,e)){u.push(`${n} string data truncated`);break}l[n]=r.subarray(d,d+e).toString(`utf8`),d+=e;continue}if(t===16){if(!this.hasBytes(r,d,4)){u.push(`${n} handle truncated`);break}l[n]={handle:r.readUInt32LE(d)},f+=1,d+=4;continue}u.push(`unknown field type 0x${t.toString(16).padStart(2,`0`)}`);break}let p=u.length>0?u.join(`; `):this.buildSummary(t,Object.keys(l).length,s,f);return{header:{version:i,flags:a,messageType:o,numFields:s,handles:c},fields:l,handles:f,raw:n,_raw_summary:p}}encodeMessage(e,t,n){let r=[],i=0;for(let e of n){if(typeof e==`boolean`){r.push(Buffer.from([1,+!!e]));continue}if(typeof e==`number`&&Number.isInteger(e)&&e>=0){let t=Buffer.alloc(5);t.writeUInt8(8,0),t.writeUInt32LE(e,1),r.push(t);continue}if(typeof e==`number`&&Number.isInteger(e)){let t=Buffer.alloc(5);t.writeUInt8(6,0),t.writeInt32LE(e,1),r.push(t);continue}if(g(e)){let t=Buffer.alloc(5);t.writeUInt8(16,0),t.writeUInt32LE(e.handle,1),r.push(t),i+=1;continue}let t=typeof e==`string`?e:JSON.stringify(e),n=Buffer.from(t,`utf8`),a=Buffer.alloc(3);a.writeUInt8(12,0),a.writeUInt16LE(n.length,1),r.push(a,n)}let a=this.resolveMessageType(e,t),o=Math.min(n.length,255),s=Buffer.alloc(6);return s.writeUInt8(1,0),s.writeUInt8(0,1),s.writeUInt8(a,2),s.writeUInt8(o,3),s.writeUInt16LE(i,4),Buffer.concat([s,...r]).toString(`hex`)}cleanHex(e){return _(e)}resolveMessageType(e,t){if(/^[0-9]+$/.test(t))return Number.parseInt(t,10)&255;if(/^0x[0-9a-f]+$/i.test(t))return Number.parseInt(t.slice(2),16)&255;let n=0,r=`${e}:${t}`;for(let e of r)n=n*31+e.charCodeAt(0)&255;return n}buildSummary(e,t,n,r){return`${e?`${e}: `:``}decoded ${t}/${n} fields, ${r} handle(s)`}readUInt8(e,t){return this.hasBytes(e,t,1)?e.readUInt8(t):0}readUInt16LE(e,t){return this.hasBytes(e,t,2)?e.readUInt16LE(t):0}hasBytes(e,t,n){return t>=0&&n>=0&&t+n<=e.length}};function y(e){return e.includes(`JSHOOK_ENABLE_MOJO_IPC`)?`Unset JSHOOK_ENABLE_MOJO_IPC or set it to 1, then retry.`:`Install Frida and ensure the Chromium target is running.`}function b(e,t){return{...a(t,`mojo_ipc_monitoring`,e,y(e)),error:e}}function x(e){let t=e;return typeof t.didFridaProbeSucceed==`function`?t.didFridaProbeSucceed():!1}var S=class{monitor;decoder;eventBus;constructor(e,t,n){this.monitor=e,this.decoder=t,this.eventBus=n}async handleMojoMonitorDispatch(e){return String(e.action??``)===`stop`?this.handleMojoMonitorStop():this.handleMojoMonitorStart(e)}async handleMojoIpcCapabilities(){let e=this.getMonitor(),t=x(e),n=typeof e.probeAvailability==`function`?await e.probeAvailability():{available:e.isAvailable(),reason:e.getUnavailableReason(),fridaAvailable:e.isAvailable(),fridaCliAvailable:!1};return i(`mojo_ipc_capabilities`,[{capability:`mojo_ipc_monitoring`,status:n.available?`available`:`unavailable`,reason:n.reason,fix:n.available?void 0:y(n.reason??``),details:{tools:[`mojo_monitor`,`mojo_list_interfaces`,`mojo_messages_get`],fridaAvailable:n.fridaAvailable,fridaCliAvailable:n.fridaCliAvailable,fridaProbeSucceeded:t,active:e.isActive(),simulationMode:e.isSimulationMode(),interfaceCatalogSource:e.getInterfaceCatalogSource(),observedInterfaceCount:e.getObservedInterfaceCount(),liveCaptureImplemented:!1}},{capability:`mojo_live_capture`,status:`unavailable`,reason:`Current Mojo IPC backend only exposes a seeded interface catalog and simulated capture. Live Chromium Mojo hooks are not implemented in this build.`,fix:`No user-side fix is available in this build. Treat mojo_monitor/mojo_list_interfaces/mojo_messages_get as simulation-only until real Frida hooks are implemented.`,details:{tools:[`mojo_monitor`,`mojo_list_interfaces`,`mojo_messages_get`],fridaAvailable:n.fridaAvailable,fridaCliAvailable:n.fridaCliAvailable,fridaProbeSucceeded:t,active:e.isActive(),simulationMode:e.isSimulationMode(),interfaceCatalogSource:e.getInterfaceCatalogSource(),observedInterfaceCount:e.getObservedInterfaceCount(),fallbackMode:n.available?`simulation`:`none`,liveCaptureImplemented:!1}},{capability:`mojo_payload_decode`,status:`available`,details:{tools:[`mojo_decode_message`]}}])}async handleMojoMonitorStart(e){let t=this.getMonitor(),r=n(e,`deviceId`);if(await t.start(r),!t.isAvailable())return b(t.getUnavailableReason()??`Mojo IPC monitoring is not available`,`mojo_monitor`);let i={success:!0,available:!0,started:t.isActive(),deviceId:t.getDeviceId()??null,simulation:t.isSimulationMode(),interfaceCatalogSource:t.getInterfaceCatalogSource(),observedInterfaceCount:t.getObservedInterfaceCount()};return t.isSimulationMode()&&(i.warningMessage=`Mojo IPC monitor is running in simulation mode. Real Frida-backed message capture is not active.`),i}async handleMojoMonitorStop(){let e=this.getMonitor();return e.isAvailable()?(await e.stop(),{success:!0,available:!0,started:!1,simulation:e.isSimulationMode()}):b(e.getUnavailableReason()??`Mojo IPC monitoring is not available`,`mojo_monitor`)}async handleMojoDecodeMessage(e){let t=n(e,`hexPayload`,``);return t.length===0?{success:!1,error:`hexPayload is required`}:{success:!0,decoded:this.getDecoder().decodePayload(t)}}async handleMojoListInterfaces(){let e=this.getMonitor();if(!e.isAvailable())return{...b(e.getUnavailableReason()??`Mojo IPC monitoring is not available`,`mojo_list_interfaces`),interfaces:[]};let t={success:!0,available:!0,active:e.isActive(),interfaces:await e.listInterfaces(),simulation:e.isSimulationMode(),interfaceCatalogSource:e.getInterfaceCatalogSource(),observedInterfaceCount:e.getObservedInterfaceCount()};return e.getInterfaceCatalogSource()===`seeded-defaults`?t.warningMessage=`Interface list currently comes from the seeded default catalog; no live observed Mojo interfaces have been captured yet.`:e.isSimulationMode()&&(t.warningMessage=`Mojo IPC monitor is running in simulation mode. Interface counts may not reflect live traffic.`),t}async handleMojoMessagesGet(e){let t=this.getMonitor();if(!t.isAvailable())return{...b(t.getUnavailableReason()??`Mojo IPC monitoring is not available`,`mojo_messages_get`),messages:[],totalAvailable:0,filtered:!1,simulation:!0};let i=r(e,`limit`),a=n(e,`interface`),o=await t.getMessages({limit:i===void 0?100:Math.min(i,1e4),interfaceName:a}),s={success:!0,available:!0,active:t.isActive(),messages:o.messages,totalAvailable:o.totalAvailable,filtered:o.filtered,simulation:o.simulation,interfaceCatalogSource:t.getInterfaceCatalogSource(),observedInterfaceCount:t.getObservedInterfaceCount()};return o.messages&&Array.isArray(o.messages)&&o.messages.length>0&&this.eventBus?.emit(`mojo:message_captured`,{messageCount:o.messages.length,timestamp:new Date().toISOString()}),t.isSimulationMode()&&(s.warningMessage=`Mojo IPC is operating in simulation mode. Messages are not captured from real Frida hooks. Install Frida for live IPC monitoring.`),s}getMonitor(){return this.monitor||=new m,this.monitor}getDecoder(){return this.decoder||=new v,this.decoder}};export{S as MojoIPCHandlers};