@jshookmcp/jshook 0.2.3 → 0.2.6

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 (583) hide show
  1. package/README.md +14 -5
  2. package/README.zh.md +18 -3
  3. package/dist/packages/extension-sdk/src/bridges/shared.js +2 -2
  4. package/dist/packages/extension-sdk/src/plugin.d.ts +5 -0
  5. package/dist/packages/extension-sdk/src/plugin.js +119 -33
  6. package/dist/packages/extension-sdk/src/workflow.d.ts +171 -0
  7. package/dist/packages/extension-sdk/src/workflow.js +272 -0
  8. package/dist/src/config/search-defaults.js +161 -0
  9. package/dist/src/constants.d.ts +3 -0
  10. package/dist/src/constants.js +4 -1
  11. package/dist/src/index.d.ts +1 -1
  12. package/dist/src/index.js +13 -17
  13. package/dist/src/modules/analyzer/CodeAnalyzer.d.ts +1 -3
  14. package/dist/src/modules/analyzer/CodeAnalyzer.js +16 -28
  15. package/dist/src/modules/analyzer/CodeAnalyzerDataFlow.d.ts +1 -2
  16. package/dist/src/modules/analyzer/CodeAnalyzerDataFlow.js +1 -45
  17. package/dist/src/modules/analyzer/IntelligentAnalyzer.d.ts +1 -37
  18. package/dist/src/modules/analyzer/IntelligentAnalyzer.js +9 -142
  19. package/dist/src/modules/analyzer/PatternDetector.js +3 -3
  20. package/dist/src/modules/analyzer/PatternDetectorAuthPatterns.js +1 -1
  21. package/dist/src/modules/browser/BrowserDiscovery.js +2 -2
  22. package/dist/src/modules/browser/BrowserModeManager.js +11 -10
  23. package/dist/src/modules/browser/BrowserPool.d.ts +49 -0
  24. package/dist/src/modules/browser/BrowserPool.js +288 -0
  25. package/dist/src/modules/browser/TabRegistry.js +2 -2
  26. package/dist/src/modules/browser/UnifiedBrowserManager.d.ts +1 -0
  27. package/dist/src/modules/browser/UnifiedBrowserManager.js +18 -3
  28. package/dist/src/modules/captcha/AICaptchaDetector.d.ts +1 -10
  29. package/dist/src/modules/captcha/AICaptchaDetector.js +7 -201
  30. package/dist/src/modules/collector/CodeCollector.js +4 -5
  31. package/dist/src/modules/collector/DOMInspector.js +48 -58
  32. package/dist/src/modules/collector/PageController.d.ts +17 -4
  33. package/dist/src/modules/collector/PageController.js +2 -5
  34. package/dist/src/modules/collector/PageScriptCollectors.js +3 -3
  35. package/dist/src/modules/crypto/CryptoDetector.d.ts +1 -4
  36. package/dist/src/modules/crypto/CryptoDetector.js +2 -42
  37. package/dist/src/modules/crypto/CryptoRules.js +1 -1
  38. package/dist/src/modules/debugger/BlackboxManager.js +1 -1
  39. package/dist/src/modules/debugger/DebuggerManager.impl.core.scope.js +1 -1
  40. package/dist/src/modules/debugger/ScriptManager.impl.extract-function-tree.js +4 -2
  41. package/dist/src/modules/debugger/WatchExpressionManager.js +1 -1
  42. package/dist/src/modules/deobfuscator/AdvancedDeobfuscator.d.ts +5 -0
  43. package/dist/src/modules/deobfuscator/AdvancedDeobfuscator.js +43 -2
  44. package/dist/src/modules/deobfuscator/Deobfuscator.d.ts +1 -4
  45. package/dist/src/modules/deobfuscator/Deobfuscator.js +9 -39
  46. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.d.ts +0 -3
  47. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.js +2 -8
  48. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.d.ts +1 -2
  49. package/dist/src/modules/deobfuscator/JSVMPDeobfuscator.restore.js +3 -55
  50. package/dist/src/modules/deobfuscator/JScramblerDeobfuscator.js +3 -4
  51. package/dist/src/modules/deobfuscator/VMDeobfuscator.d.ts +2 -10
  52. package/dist/src/modules/deobfuscator/VMDeobfuscator.js +3 -128
  53. package/dist/src/modules/deobfuscator/webcrack.js +15 -2
  54. package/dist/src/modules/emulator/AIEnvironmentAnalyzer.d.ts +5 -8
  55. package/dist/src/modules/emulator/AIEnvironmentAnalyzer.js +10 -102
  56. package/dist/src/modules/emulator/EnvironmentEmulator.d.ts +1 -5
  57. package/dist/src/modules/emulator/EnvironmentEmulator.js +7 -91
  58. package/dist/src/modules/emulator/EnvironmentEmulatorFetch.js +58 -61
  59. package/dist/src/modules/emulator/templates/chrome-env.d.ts +17 -7
  60. package/dist/src/modules/emulator/templates/chrome-env.js +14 -7
  61. package/dist/src/modules/external/ExternalToolRunner.js +25 -22
  62. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.compose.js +5 -5
  63. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.network.js +311 -311
  64. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.runtime.js +410 -410
  65. package/dist/src/modules/hook/HookGeneratorBuilders.core.generators.storage.js +122 -122
  66. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.d.ts +13 -0
  67. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.class.js +42 -0
  68. package/dist/src/modules/monitor/ConsoleMonitor.impl.core.dynamic.js +194 -194
  69. package/dist/src/modules/monitor/FetchInterceptor.d.ts +46 -0
  70. package/dist/src/modules/monitor/FetchInterceptor.js +191 -0
  71. package/dist/src/modules/monitor/PerformanceMonitor.js +8 -7
  72. package/dist/src/modules/monitor/PlaywrightNetworkMonitor.js +62 -62
  73. package/dist/src/modules/process/BaseMemoryManager.d.ts +1 -1
  74. package/dist/src/modules/process/LinuxProcessManager.js +2 -0
  75. package/dist/src/modules/process/MacProcessManager.js +25 -25
  76. package/dist/src/modules/process/MemoryManager.d.ts +1 -1
  77. package/dist/src/modules/process/MemoryManager.js +2 -2
  78. package/dist/src/modules/process/memory/AuditTrail.js +1 -1
  79. package/dist/src/modules/process/memory/availability.js +49 -49
  80. package/dist/src/modules/process/memory/injector.js +185 -185
  81. package/dist/src/modules/process/memory/reader.js +85 -53
  82. package/dist/src/modules/process/memory/regions.dump.js +51 -51
  83. package/dist/src/modules/process/memory/regions.enumerate.js +108 -108
  84. package/dist/src/modules/process/memory/regions.modules.js +80 -80
  85. package/dist/src/modules/process/memory/regions.protection.js +148 -115
  86. package/dist/src/modules/process/memory/scanner.d.ts +5 -1
  87. package/dist/src/modules/process/memory/scanner.darwin.js +98 -41
  88. package/dist/src/modules/process/memory/scanner.js +88 -4
  89. package/dist/src/modules/process/memory/scanner.windows.js +124 -124
  90. package/dist/src/modules/process/memory/writer.js +98 -58
  91. package/dist/src/modules/security/ExecutionSandbox.js +51 -52
  92. package/dist/src/modules/stealth/FingerprintManager.js +1 -1
  93. package/dist/src/modules/stealth/StealthScripts.d.ts +1 -0
  94. package/dist/src/modules/stealth/StealthScripts.js +18 -13
  95. package/dist/src/modules/stealth/StealthVerifier.js +1 -3
  96. package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.d.ts +14 -0
  97. package/dist/src/modules/symbolic/JSVMPSymbolicExecutor.js +181 -2
  98. package/dist/src/modules/trace/TraceDB.js +75 -69
  99. package/dist/src/modules/trace/TraceRecorder.js +1 -5
  100. package/dist/src/native/AntiCheatDetector.js +67 -16
  101. package/dist/src/native/CodeInjector.js +3 -3
  102. package/dist/src/native/HardwareBreakpoint.js +24 -15
  103. package/dist/src/native/HeapAnalyzer.js +2 -2
  104. package/dist/src/native/MemoryController.js +1 -1
  105. package/dist/src/native/MemoryScanSession.js +2 -2
  106. package/dist/src/native/MemoryScanner.js +4 -8
  107. package/dist/src/native/NativeMemoryManager.impl.js +2 -2
  108. package/dist/src/native/PEAnalyzer.js +14 -15
  109. package/dist/src/native/PointerChainEngine.js +2 -4
  110. package/dist/src/native/ScriptLoader.js +4 -9
  111. package/dist/src/native/Speedhack.js +1 -1
  112. package/dist/src/native/StructureAnalyzer.js +52 -33
  113. package/dist/src/native/Win32API.d.ts +1 -0
  114. package/dist/src/native/Win32API.js +13 -0
  115. package/dist/src/native/Win32Debug.js +19 -19
  116. package/dist/src/native/platform/darwin/DarwinAPI.d.ts +2 -0
  117. package/dist/src/native/platform/darwin/DarwinAPI.js +8 -0
  118. package/dist/src/native/platform/darwin/DarwinMemoryProvider.js +6 -1
  119. package/dist/src/server/MCPServer.context.d.ts +3 -1
  120. package/dist/src/server/MCPServer.d.ts +2 -1
  121. package/dist/src/server/MCPServer.domain.d.ts +1 -1
  122. package/dist/src/server/MCPServer.domain.js +81 -16
  123. package/dist/src/server/MCPServer.js +41 -14
  124. package/dist/src/server/MCPServer.resources.d.ts +2 -0
  125. package/dist/src/server/MCPServer.resources.js +91 -0
  126. package/dist/src/server/MCPServer.search.handlers.call.js +2 -1
  127. package/dist/src/server/MCPServer.search.helpers.js +1 -1
  128. package/dist/src/server/MCPServer.transport.js +12 -0
  129. package/dist/src/server/ToolCallContextGuard.js +8 -0
  130. package/dist/src/server/ToolRouter.d.ts +25 -9
  131. package/dist/src/server/ToolRouter.intent.d.ts +26 -0
  132. package/dist/src/server/ToolRouter.intent.js +77 -0
  133. package/dist/src/server/ToolRouter.js +103 -284
  134. package/dist/src/server/ToolRouter.policy.d.ts +22 -0
  135. package/dist/src/server/ToolRouter.policy.js +163 -0
  136. package/dist/src/server/ToolRouter.probe.d.ts +17 -0
  137. package/dist/src/server/ToolRouter.probe.js +103 -0
  138. package/dist/src/server/ToolRouter.renderer.d.ts +9 -0
  139. package/dist/src/server/ToolRouter.renderer.js +52 -0
  140. package/dist/src/server/activation/ActivationController.js +15 -12
  141. package/dist/src/server/activation/CompoundConditionEngine.js +1 -1
  142. package/dist/src/server/activation/PredictiveBooster.js +1 -3
  143. package/dist/src/server/domains/analysis/definitions.js +155 -655
  144. package/dist/src/server/domains/analysis/handlers.impl.js +26 -20
  145. package/dist/src/server/domains/analysis/handlers.web-tools.js +2 -1
  146. package/dist/src/server/domains/analysis/manifest.js +6 -4
  147. package/dist/src/server/domains/antidebug/definitions.js +25 -111
  148. package/dist/src/server/domains/browser/definitions.tools.advanced.js +59 -88
  149. package/dist/src/server/domains/browser/definitions.tools.behavior.js +120 -227
  150. package/dist/src/server/domains/browser/definitions.tools.page-core.js +210 -439
  151. package/dist/src/server/domains/browser/definitions.tools.page-system.js +108 -250
  152. package/dist/src/server/domains/browser/definitions.tools.runtime.js +98 -211
  153. package/dist/src/server/domains/browser/definitions.tools.security.js +194 -339
  154. package/dist/src/server/domains/browser/handlers/camoufox-browser.js +3 -2
  155. package/dist/src/server/domains/browser/handlers/captcha-solver.js +3 -3
  156. package/dist/src/server/domains/browser/handlers/dom-query.js +2 -1
  157. package/dist/src/server/domains/browser/handlers/framework-state.js +27 -9
  158. package/dist/src/server/domains/browser/handlers/indexeddb-dump.js +21 -20
  159. package/dist/src/server/domains/browser/handlers/script-management.js +1 -1
  160. package/dist/src/server/domains/browser/handlers/stealth-injection.d.ts +1 -0
  161. package/dist/src/server/domains/browser/handlers/stealth-injection.js +3 -0
  162. package/dist/src/server/domains/browser/handlers.impl.d.ts +1 -2
  163. package/dist/src/server/domains/browser/handlers.impl.js +2 -3
  164. package/dist/src/server/domains/browser/manifest.js +37 -13
  165. package/dist/src/server/domains/coordination/definitions.js +50 -216
  166. package/dist/src/server/domains/coordination/index.d.ts +2 -1
  167. package/dist/src/server/domains/coordination/index.js +1 -0
  168. package/dist/src/server/domains/debugger/definitions.tools.advanced.js +72 -189
  169. package/dist/src/server/domains/debugger/definitions.tools.core.js +114 -288
  170. package/dist/src/server/domains/debugger/manifest.js +9 -2
  171. package/dist/src/server/domains/encoding/definitions.js +43 -153
  172. package/dist/src/server/domains/encoding/handlers.base.js +2 -2
  173. package/dist/src/server/domains/evidence/definitions.d.ts +2 -0
  174. package/dist/src/server/domains/evidence/definitions.js +42 -0
  175. package/dist/src/server/domains/evidence/handlers.d.ts +582 -0
  176. package/dist/src/server/domains/evidence/handlers.js +60 -0
  177. package/dist/src/server/domains/evidence/index.d.ts +2 -0
  178. package/dist/src/server/domains/evidence/index.js +2 -0
  179. package/dist/src/server/domains/evidence/manifest.d.ts +63 -0
  180. package/dist/src/server/domains/evidence/manifest.js +78 -0
  181. package/dist/src/server/domains/graphql/definitions.js +53 -141
  182. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.replay.js +92 -114
  183. package/dist/src/server/domains/graphql/handlers.impl.core.runtime.shared.js +77 -77
  184. package/dist/src/server/domains/hooks/ai-handlers.d.ts +0 -7
  185. package/dist/src/server/domains/hooks/ai-handlers.js +1 -67
  186. package/dist/src/server/domains/hooks/definitions.js +69 -335
  187. package/dist/src/server/domains/hooks/manifest.d.ts +1 -1
  188. package/dist/src/server/domains/hooks/manifest.js +1 -2
  189. package/dist/src/server/domains/instrumentation/definitions.d.ts +2 -0
  190. package/dist/src/server/domains/instrumentation/definitions.js +99 -0
  191. package/dist/src/server/domains/instrumentation/handlers.d.ts +78 -0
  192. package/dist/src/server/domains/instrumentation/handlers.js +206 -0
  193. package/dist/src/server/domains/instrumentation/index.d.ts +2 -0
  194. package/dist/src/server/domains/instrumentation/index.js +2 -0
  195. package/dist/src/server/domains/instrumentation/manifest.d.ts +63 -0
  196. package/dist/src/server/domains/instrumentation/manifest.js +114 -0
  197. package/dist/src/server/domains/macro/definitions.js +16 -43
  198. package/dist/src/server/domains/maintenance/definitions.js +60 -219
  199. package/dist/src/server/domains/maintenance/handlers.extensions.js +78 -20
  200. package/dist/src/server/domains/memory/definitions.js +387 -559
  201. package/dist/src/server/domains/memory/handlers/hooks.d.ts +55 -0
  202. package/dist/src/server/domains/memory/handlers/hooks.js +115 -0
  203. package/dist/src/server/domains/memory/handlers/integrity.d.ts +77 -0
  204. package/dist/src/server/domains/memory/handlers/integrity.js +180 -0
  205. package/dist/src/server/domains/memory/handlers/pointer-chain.d.ts +29 -0
  206. package/dist/src/server/domains/memory/handlers/pointer-chain.js +82 -0
  207. package/dist/src/server/domains/memory/handlers/readwrite.d.ts +41 -0
  208. package/dist/src/server/domains/memory/handlers/readwrite.js +78 -0
  209. package/dist/src/server/domains/memory/handlers/scan.d.ts +35 -0
  210. package/dist/src/server/domains/memory/handlers/scan.js +97 -0
  211. package/dist/src/server/domains/memory/handlers/session.d.ts +23 -0
  212. package/dist/src/server/domains/memory/handlers/session.js +49 -0
  213. package/dist/src/server/domains/memory/handlers/structure.d.ts +29 -0
  214. package/dist/src/server/domains/memory/handlers/structure.js +74 -0
  215. package/dist/src/server/domains/memory/handlers.impl.d.ts +49 -54
  216. package/dist/src/server/domains/memory/handlers.impl.js +63 -494
  217. package/dist/src/server/domains/memory/manifest.js +236 -64
  218. package/dist/src/server/domains/native-bridge/definitions.js +54 -192
  219. package/dist/src/server/domains/native-bridge/index.d.ts +1 -0
  220. package/dist/src/server/domains/native-bridge/index.js +2 -1
  221. package/dist/src/server/domains/network/auth-extractor.js +1 -1
  222. package/dist/src/server/domains/network/definitions.js +175 -578
  223. package/dist/src/server/domains/network/handlers.base.core.d.ts +64 -0
  224. package/dist/src/server/domains/network/handlers.base.core.js +623 -0
  225. package/dist/src/server/domains/network/handlers.base.d.ts +2 -124
  226. package/dist/src/server/domains/network/handlers.base.js +3 -878
  227. package/dist/src/server/domains/network/handlers.base.performance.d.ts +63 -0
  228. package/dist/src/server/domains/network/handlers.base.performance.js +193 -0
  229. package/dist/src/server/domains/network/handlers.base.types.d.ts +42 -0
  230. package/dist/src/server/domains/network/handlers.base.types.js +89 -0
  231. package/dist/src/server/domains/network/handlers.impl.core.runtime.d.ts +1 -1
  232. package/dist/src/server/domains/network/handlers.impl.core.runtime.intercept.d.ts +21 -0
  233. package/dist/src/server/domains/network/handlers.impl.core.runtime.intercept.js +186 -0
  234. package/dist/src/server/domains/network/handlers.impl.core.runtime.js +1 -1
  235. package/dist/src/server/domains/network/manifest.js +15 -0
  236. package/dist/src/server/domains/network/replay.js +1 -4
  237. package/dist/src/server/domains/platform/definitions.js +121 -112
  238. package/dist/src/server/domains/platform/handlers/bridge-handlers.d.ts +4 -0
  239. package/dist/src/server/domains/platform/handlers/bridge-handlers.js +193 -4
  240. package/dist/src/server/domains/platform/handlers/electron-asar-helpers.js +26 -6
  241. package/dist/src/server/domains/platform/handlers/electron-dual-cdp.d.ts +3 -0
  242. package/dist/src/server/domains/platform/handlers/electron-dual-cdp.js +170 -0
  243. package/dist/src/server/domains/platform/handlers/electron-fuse-handler.d.ts +3 -0
  244. package/dist/src/server/domains/platform/handlers/electron-fuse-handler.js +193 -0
  245. package/dist/src/server/domains/platform/handlers/electron-handlers.d.ts +6 -0
  246. package/dist/src/server/domains/platform/handlers/electron-handlers.js +95 -2
  247. package/dist/src/server/domains/platform/handlers/electron-ipc-sniffer.d.ts +2 -0
  248. package/dist/src/server/domains/platform/handlers/electron-ipc-sniffer.js +370 -0
  249. package/dist/src/server/domains/platform/handlers/electron-userdata-handler.d.ts +2 -0
  250. package/dist/src/server/domains/platform/handlers/electron-userdata-handler.js +78 -0
  251. package/dist/src/server/domains/platform/handlers/miniapp-handlers.js +3 -3
  252. package/dist/src/server/domains/platform/handlers/v8-bytecode-handler.d.ts +2 -0
  253. package/dist/src/server/domains/platform/handlers/v8-bytecode-handler.js +207 -0
  254. package/dist/src/server/domains/platform/handlers.d.ts +48 -0
  255. package/dist/src/server/domains/platform/handlers.js +29 -0
  256. package/dist/src/server/domains/platform/manifest.js +38 -0
  257. package/dist/src/server/domains/process/definitions.js +163 -647
  258. package/dist/src/server/domains/process/handlers.base.d.ts +3 -95
  259. package/dist/src/server/domains/process/handlers.base.js +7 -462
  260. package/dist/src/server/domains/process/handlers.base.process.d.ts +61 -0
  261. package/dist/src/server/domains/process/handlers.base.process.js +417 -0
  262. package/dist/src/server/domains/process/handlers.base.types.d.ts +57 -0
  263. package/dist/src/server/domains/process/handlers.base.types.js +50 -0
  264. package/dist/src/server/domains/process/handlers.impl.core.runtime.inject.js +18 -16
  265. package/dist/src/server/domains/process/manifest.js +6 -1
  266. package/dist/src/server/domains/sandbox/definitions.js +11 -33
  267. package/dist/src/server/domains/sandbox/handlers.js +8 -3
  268. package/dist/src/server/domains/shared/ResponseBuilder.d.ts +209 -0
  269. package/dist/src/server/domains/shared/ResponseBuilder.js +48 -0
  270. package/dist/src/server/domains/shared/modules.d.ts +0 -2
  271. package/dist/src/server/domains/shared/modules.js +0 -1
  272. package/dist/src/server/domains/shared-state-board/definitions.d.ts +2 -0
  273. package/dist/src/server/domains/shared-state-board/definitions.js +78 -0
  274. package/dist/src/server/domains/shared-state-board/handlers.impl.d.ts +58 -0
  275. package/dist/src/server/domains/shared-state-board/handlers.impl.js +419 -0
  276. package/dist/src/server/domains/shared-state-board/index.d.ts +2 -0
  277. package/dist/src/server/domains/shared-state-board/index.js +2 -0
  278. package/dist/src/server/domains/shared-state-board/manifest.d.ts +57 -0
  279. package/dist/src/server/domains/shared-state-board/manifest.js +74 -0
  280. package/dist/src/server/domains/sourcemap/definitions.js +27 -111
  281. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-common.js +7 -2
  282. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-main.js +1 -1
  283. package/dist/src/server/domains/sourcemap/handlers.impl.sourcemap-parse-base.js +1 -1
  284. package/dist/src/server/domains/sourcemap/manifest.d.ts +1 -1
  285. package/dist/src/server/domains/sourcemap/manifest.js +1 -1
  286. package/dist/src/server/domains/streaming/definitions.js +36 -148
  287. package/dist/src/server/domains/streaming/handlers.impl.streaming-sse.js +163 -164
  288. package/dist/src/server/domains/streaming/handlers.impl.streaming-ws.js +1 -1
  289. package/dist/src/server/domains/trace/TraceSummarizer.js +8 -5
  290. package/dist/src/server/domains/trace/definitions.tools.js +51 -206
  291. package/dist/src/server/domains/trace/handlers.js +10 -12
  292. package/dist/src/server/domains/trace/index.d.ts +2 -1
  293. package/dist/src/server/domains/trace/index.js +2 -1
  294. package/dist/src/server/domains/trace/manifest.js +15 -3
  295. package/dist/src/server/domains/transform/definitions.js +50 -210
  296. package/dist/src/server/domains/transform/handlers.impl.transform-base.js +108 -108
  297. package/dist/src/server/domains/transform/handlers.impl.transform-crypto.js +18 -19
  298. package/dist/src/server/domains/transform/manifest.d.ts +1 -1
  299. package/dist/src/server/domains/transform/manifest.js +1 -1
  300. package/dist/src/server/domains/wasm/definitions.js +55 -232
  301. package/dist/src/server/domains/wasm/handlers.js +1 -1
  302. package/dist/src/server/domains/workflow/definitions.js +144 -414
  303. package/dist/src/server/domains/workflow/handlers.impl.workflow-account-bundle.js +1 -1
  304. package/dist/src/server/domains/workflow/handlers.impl.workflow-api.js +51 -51
  305. package/dist/src/server/domains/workflow/handlers.impl.workflow-base.d.ts +2 -0
  306. package/dist/src/server/domains/workflow/handlers.impl.workflow-base.js +126 -87
  307. package/dist/src/server/domains/workflow/handlers.impl.workflow-batch.js +5 -5
  308. package/dist/src/server/evidence/ReverseEvidenceGraph.d.ts +20 -0
  309. package/dist/src/server/evidence/ReverseEvidenceGraph.js +208 -0
  310. package/dist/src/server/evidence/index.d.ts +2 -0
  311. package/dist/src/server/evidence/index.js +1 -0
  312. package/dist/src/server/evidence/types.d.ts +22 -0
  313. package/dist/src/server/evidence/types.js +1 -0
  314. package/dist/src/server/extensions/ExtensionManager.d.ts +1 -0
  315. package/dist/src/server/extensions/ExtensionManager.discovery.js +72 -9
  316. package/dist/src/server/extensions/ExtensionManager.integrity.js +1 -1
  317. package/dist/src/server/extensions/ExtensionManager.js +193 -40
  318. package/dist/src/server/extensions/ExtensionManager.roots.d.ts +1 -1
  319. package/dist/src/server/extensions/ExtensionManager.roots.js +4 -4
  320. package/dist/src/server/extensions/plugin-config.js +1 -1
  321. package/dist/src/server/extensions/plugin-env.d.ts +1 -1
  322. package/dist/src/server/extensions/plugin-env.js +10 -4
  323. package/dist/src/server/extensions/types.d.ts +17 -0
  324. package/dist/src/server/extensions/types.js +1 -1
  325. package/dist/src/server/http/SseStream.d.ts +21 -0
  326. package/dist/src/server/http/SseStream.js +129 -0
  327. package/dist/src/server/instrumentation/EvidenceGraphBridge.d.ts +13 -0
  328. package/dist/src/server/instrumentation/EvidenceGraphBridge.js +150 -0
  329. package/dist/src/server/instrumentation/InstrumentationSession.d.ts +60 -0
  330. package/dist/src/server/instrumentation/InstrumentationSession.js +269 -0
  331. package/dist/src/server/instrumentation/index.d.ts +2 -0
  332. package/dist/src/server/instrumentation/index.js +2 -0
  333. package/dist/src/server/instrumentation/types.d.ts +62 -0
  334. package/dist/src/server/instrumentation/types.js +7 -0
  335. package/dist/src/server/macros/MacroConfigLoader.d.ts +6 -5
  336. package/dist/src/server/macros/MacroConfigLoader.js +61 -59
  337. package/dist/src/server/macros/MacroRunner.js +6 -2
  338. package/dist/src/server/macros/builtins/index.d.ts +2 -3
  339. package/dist/src/server/macros/builtins/index.js +51 -7
  340. package/dist/src/server/plugins/PluginContract.d.ts +1 -1
  341. package/dist/src/server/registry/contracts.d.ts +1 -1
  342. package/dist/src/server/registry/discovery.js +5 -4
  343. package/dist/src/server/registry/ensure-browser-core.js +0 -3
  344. package/dist/src/server/registry/index.js +4 -4
  345. package/dist/src/server/registry/tool-builder.d.ts +46 -0
  346. package/dist/src/server/registry/tool-builder.js +105 -0
  347. package/dist/src/server/sandbox/QuickJSSandbox.js +16 -5
  348. package/dist/src/server/sandbox/SandboxHelpers.js +250 -250
  349. package/dist/src/server/search/EmbeddingWorker.js +5 -3
  350. package/dist/src/server/search/FeedbackTracker.d.ts +9 -0
  351. package/dist/src/server/search/FeedbackTracker.js +26 -0
  352. package/dist/src/server/search/QueryNormalizer.d.ts +6 -0
  353. package/dist/src/server/search/QueryNormalizer.js +94 -0
  354. package/dist/src/server/search/ToolSearchEngineImpl.d.ts +2 -3
  355. package/dist/src/server/search/ToolSearchEngineImpl.js +38 -88
  356. package/dist/src/server/teams/TeamManager.d.ts +43 -0
  357. package/dist/src/server/teams/TeamManager.js +238 -0
  358. package/dist/src/server/teams/index.d.ts +1 -0
  359. package/dist/src/server/teams/index.js +1 -0
  360. package/dist/src/server/workflows/WorkflowContract.d.ts +44 -4
  361. package/dist/src/server/workflows/WorkflowContract.js +52 -0
  362. package/dist/src/server/workflows/WorkflowEngine.d.ts +1 -0
  363. package/dist/src/server/workflows/WorkflowEngine.js +314 -4
  364. package/dist/src/types/config.d.ts +0 -14
  365. package/dist/src/types/deobfuscator.d.ts +1 -1
  366. package/dist/src/types/index.d.ts +1 -1
  367. package/dist/src/utils/DetailedDataManager.js +2 -0
  368. package/dist/src/utils/RingBuffer.js +5 -5
  369. package/dist/src/utils/TokenBudgetManager.js +1 -1
  370. package/dist/src/utils/UnifiedCacheManager.js +1 -1
  371. package/dist/src/utils/artifactRetention.js +2 -2
  372. package/dist/src/utils/betterSqlite3.d.ts +11 -0
  373. package/dist/src/utils/betterSqlite3.js +88 -0
  374. package/dist/src/utils/browserExecutable.js +2 -2
  375. package/dist/src/utils/cache/CachedDecorator.d.ts +8 -0
  376. package/dist/src/utils/cache/CachedDecorator.js +55 -0
  377. package/dist/src/utils/cache/PersistentCache.d.ts +33 -0
  378. package/dist/src/utils/cache/PersistentCache.js +246 -0
  379. package/dist/src/utils/cache/index.d.ts +2 -0
  380. package/dist/src/utils/cache/index.js +2 -0
  381. package/dist/src/utils/cliFastPath.js +5 -8
  382. package/dist/src/utils/config.js +4 -26
  383. package/dist/src/utils/environmentDoctor.js +138 -11
  384. package/dist/src/utils/outputPaths.js +16 -9
  385. package/dist/src/utils/parallel.js +1 -3
  386. package/package.json +82 -81
  387. package/scripts/postinstall.cjs +54 -27
  388. package/workflows/.gitkeep +0 -0
  389. package/workflows/anti-bot-diagnoser/.jshook-install.json +14 -0
  390. package/workflows/anti-bot-diagnoser/LICENSE +21 -0
  391. package/workflows/anti-bot-diagnoser/README.md +105 -0
  392. package/workflows/anti-bot-diagnoser/docs/agent-recipes.md +44 -0
  393. package/workflows/anti-bot-diagnoser/meta.yaml +6 -0
  394. package/workflows/anti-bot-diagnoser/package.json +22 -0
  395. package/workflows/anti-bot-diagnoser/tsconfig.json +15 -0
  396. package/workflows/anti-bot-diagnoser/workflow.ts +224 -0
  397. package/workflows/api-openapi-probe/.jshook-install.json +14 -0
  398. package/workflows/api-openapi-probe/meta.yaml +6 -0
  399. package/workflows/api-openapi-probe/package.json +22 -0
  400. package/workflows/api-openapi-probe/pnpm-lock.yaml +819 -0
  401. package/workflows/api-openapi-probe/tsconfig.json +15 -0
  402. package/workflows/api-openapi-probe/workflow.ts +40 -0
  403. package/workflows/api-probe-batch/.jshook-install.json +14 -0
  404. package/workflows/api-probe-batch/LICENSE +21 -0
  405. package/workflows/api-probe-batch/README.md +45 -0
  406. package/workflows/api-probe-batch/meta.yaml +4 -0
  407. package/workflows/api-probe-batch/package.json +23 -0
  408. package/workflows/api-probe-batch/tsconfig.json +16 -0
  409. package/workflows/api-probe-batch/workflow.ts +111 -0
  410. package/workflows/auth-bootstrap/.jshook-install.json +14 -0
  411. package/workflows/auth-bootstrap/LICENSE +21 -0
  412. package/workflows/auth-bootstrap/README.md +74 -0
  413. package/workflows/auth-bootstrap/meta.yaml +4 -0
  414. package/workflows/auth-bootstrap/package.json +23 -0
  415. package/workflows/auth-bootstrap/tsconfig.json +16 -0
  416. package/workflows/auth-bootstrap/workflow.ts +141 -0
  417. package/workflows/auth-extract/.jshook-install.json +14 -0
  418. package/workflows/auth-extract/meta.yaml +6 -0
  419. package/workflows/auth-extract/package.json +22 -0
  420. package/workflows/auth-extract/pnpm-lock.yaml +819 -0
  421. package/workflows/auth-extract/tsconfig.json +15 -0
  422. package/workflows/auth-extract/workflow.ts +36 -0
  423. package/workflows/auth-surface-mapper/.jshook-install.json +14 -0
  424. package/workflows/auth-surface-mapper/meta.yaml +6 -0
  425. package/workflows/auth-surface-mapper/package.json +22 -0
  426. package/workflows/auth-surface-mapper/pnpm-lock.yaml +819 -0
  427. package/workflows/auth-surface-mapper/tsconfig.json +15 -0
  428. package/workflows/auth-surface-mapper/workflow.ts +104 -0
  429. package/workflows/batch-register/.jshook-install.json +14 -0
  430. package/workflows/batch-register/LICENSE +21 -0
  431. package/workflows/batch-register/README.md +39 -0
  432. package/workflows/batch-register/meta.yaml +4 -0
  433. package/workflows/batch-register/package.json +23 -0
  434. package/workflows/batch-register/tsconfig.json +16 -0
  435. package/workflows/batch-register/workflow.ts +67 -0
  436. package/workflows/bundle-recovery/.jshook-install.json +14 -0
  437. package/workflows/bundle-recovery/LICENSE +21 -0
  438. package/workflows/bundle-recovery/README.md +105 -0
  439. package/workflows/bundle-recovery/docs/agent-recipes.md +44 -0
  440. package/workflows/bundle-recovery/meta.yaml +6 -0
  441. package/workflows/bundle-recovery/package.json +22 -0
  442. package/workflows/bundle-recovery/tsconfig.json +15 -0
  443. package/workflows/bundle-recovery/workflow.ts +179 -0
  444. package/workflows/challenge-detector/.jshook-install.json +14 -0
  445. package/workflows/challenge-detector/meta.yaml +14 -0
  446. package/workflows/challenge-detector/package.json +22 -0
  447. package/workflows/challenge-detector/pnpm-lock.yaml +819 -0
  448. package/workflows/challenge-detector/tsconfig.json +15 -0
  449. package/workflows/challenge-detector/workflow.ts +298 -0
  450. package/workflows/deobfuscation-pipeline/.jshook-install.json +14 -0
  451. package/workflows/deobfuscation-pipeline/meta.yaml +6 -0
  452. package/workflows/deobfuscation-pipeline/package.json +22 -0
  453. package/workflows/deobfuscation-pipeline/pnpm-lock.yaml +819 -0
  454. package/workflows/deobfuscation-pipeline/tsconfig.json +15 -0
  455. package/workflows/deobfuscation-pipeline/workflow.ts +119 -0
  456. package/workflows/electron-bridge-mapper/.jshook-install.json +14 -0
  457. package/workflows/electron-bridge-mapper/meta.yaml +6 -0
  458. package/workflows/electron-bridge-mapper/package.json +22 -0
  459. package/workflows/electron-bridge-mapper/pnpm-lock.yaml +819 -0
  460. package/workflows/electron-bridge-mapper/tsconfig.json +15 -0
  461. package/workflows/electron-bridge-mapper/workflow.ts +125 -0
  462. package/workflows/evidence-pack/.jshook-install.json +14 -0
  463. package/workflows/evidence-pack/LICENSE +21 -0
  464. package/workflows/evidence-pack/README.md +105 -0
  465. package/workflows/evidence-pack/docs/agent-recipes.md +44 -0
  466. package/workflows/evidence-pack/meta.yaml +6 -0
  467. package/workflows/evidence-pack/package.json +22 -0
  468. package/workflows/evidence-pack/tsconfig.json +15 -0
  469. package/workflows/evidence-pack/workflow.ts +154 -0
  470. package/workflows/js-bundle-search/.jshook-install.json +14 -0
  471. package/workflows/js-bundle-search/LICENSE +21 -0
  472. package/workflows/js-bundle-search/README.md +46 -0
  473. package/workflows/js-bundle-search/meta.yaml +4 -0
  474. package/workflows/js-bundle-search/package.json +23 -0
  475. package/workflows/js-bundle-search/tsconfig.json +16 -0
  476. package/workflows/js-bundle-search/workflow.ts +118 -0
  477. package/workflows/protocol-registry/.jshook-install.json +14 -0
  478. package/workflows/protocol-registry/meta.yaml +6 -0
  479. package/workflows/protocol-registry/package.json +22 -0
  480. package/workflows/protocol-registry/pnpm-lock.yaml +819 -0
  481. package/workflows/protocol-registry/tsconfig.json +15 -0
  482. package/workflows/protocol-registry/workflow.ts +107 -0
  483. package/workflows/qwen-mail-open-latest/meta.yaml +7 -0
  484. package/workflows/qwen-mail-open-latest/package.json +22 -0
  485. package/workflows/qwen-mail-open-latest/pnpm-lock.yaml +819 -0
  486. package/workflows/qwen-mail-open-latest/tsconfig.json +15 -0
  487. package/workflows/qwen-mail-open-latest/workflow.ts +77 -0
  488. package/workflows/register-account-flow/.jshook-install.json +14 -0
  489. package/workflows/register-account-flow/LICENSE +21 -0
  490. package/workflows/register-account-flow/README.md +64 -0
  491. package/workflows/register-account-flow/meta.yaml +4 -0
  492. package/workflows/register-account-flow/package.json +23 -0
  493. package/workflows/register-account-flow/tsconfig.json +16 -0
  494. package/workflows/register-account-flow/workflow.ts +127 -0
  495. package/workflows/replay-lab/.jshook-install.json +14 -0
  496. package/workflows/replay-lab/meta.yaml +6 -0
  497. package/workflows/replay-lab/package.json +22 -0
  498. package/workflows/replay-lab/pnpm-lock.yaml +819 -0
  499. package/workflows/replay-lab/tsconfig.json +15 -0
  500. package/workflows/replay-lab/workflow.ts +106 -0
  501. package/workflows/script-evidence-scan/.jshook-install.json +14 -0
  502. package/workflows/script-evidence-scan/LICENSE +21 -0
  503. package/workflows/script-evidence-scan/README.md +61 -0
  504. package/workflows/script-evidence-scan/meta.yaml +4 -0
  505. package/workflows/script-evidence-scan/package.json +23 -0
  506. package/workflows/script-evidence-scan/tsconfig.json +16 -0
  507. package/workflows/script-evidence-scan/workflow.ts +89 -0
  508. package/workflows/signature-hunter/.jshook-install.json +14 -0
  509. package/workflows/signature-hunter/LICENSE +21 -0
  510. package/workflows/signature-hunter/README.md +105 -0
  511. package/workflows/signature-hunter/docs/agent-recipes.md +44 -0
  512. package/workflows/signature-hunter/meta.yaml +6 -0
  513. package/workflows/signature-hunter/package.json +22 -0
  514. package/workflows/signature-hunter/tsconfig.json +15 -0
  515. package/workflows/signature-hunter/workflow.ts +170 -0
  516. package/workflows/signing-lineage/.jshook-install.json +14 -0
  517. package/workflows/signing-lineage/meta.yaml +6 -0
  518. package/workflows/signing-lineage/package.json +22 -0
  519. package/workflows/signing-lineage/pnpm-lock.yaml +819 -0
  520. package/workflows/signing-lineage/tsconfig.json +15 -0
  521. package/workflows/signing-lineage/workflow.ts +120 -0
  522. package/workflows/temp-mail-extract-link/.jshook-install.json +14 -0
  523. package/workflows/temp-mail-extract-link/LICENSE +21 -0
  524. package/workflows/temp-mail-extract-link/README.md +71 -0
  525. package/workflows/temp-mail-extract-link/meta.yaml +4 -0
  526. package/workflows/temp-mail-extract-link/package.json +23 -0
  527. package/workflows/temp-mail-extract-link/tsconfig.json +16 -0
  528. package/workflows/temp-mail-extract-link/workflow.ts +221 -0
  529. package/workflows/temp-mail-open-latest/.jshook-install.json +14 -0
  530. package/workflows/temp-mail-open-latest/LICENSE +21 -0
  531. package/workflows/temp-mail-open-latest/README.md +61 -0
  532. package/workflows/temp-mail-open-latest/meta.yaml +4 -0
  533. package/workflows/temp-mail-open-latest/package.json +23 -0
  534. package/workflows/temp-mail-open-latest/tsconfig.json +16 -0
  535. package/workflows/temp-mail-open-latest/workflow.ts +136 -0
  536. package/workflows/template/.jshook-install.json +14 -0
  537. package/workflows/template/LICENSE +21 -0
  538. package/workflows/template/README.md +45 -0
  539. package/workflows/template/docs/SKILL.md +111 -0
  540. package/workflows/template/meta.yaml +6 -0
  541. package/workflows/template/package.json +22 -0
  542. package/workflows/template/pnpm-lock.yaml +819 -0
  543. package/workflows/template/tsconfig.json +15 -0
  544. package/workflows/template/workflow.ts +73 -0
  545. package/workflows/web-api-capture-session/.jshook-install.json +14 -0
  546. package/workflows/web-api-capture-session/LICENSE +21 -0
  547. package/workflows/web-api-capture-session/README.md +64 -0
  548. package/workflows/web-api-capture-session/meta.yaml +4 -0
  549. package/workflows/web-api-capture-session/package.json +23 -0
  550. package/workflows/web-api-capture-session/tsconfig.json +16 -0
  551. package/workflows/web-api-capture-session/workflow.ts +124 -0
  552. package/workflows/ws-protocol-lifter/.jshook-install.json +14 -0
  553. package/workflows/ws-protocol-lifter/LICENSE +21 -0
  554. package/workflows/ws-protocol-lifter/README.md +105 -0
  555. package/workflows/ws-protocol-lifter/docs/agent-recipes.md +44 -0
  556. package/workflows/ws-protocol-lifter/meta.yaml +6 -0
  557. package/workflows/ws-protocol-lifter/package.json +22 -0
  558. package/workflows/ws-protocol-lifter/tsconfig.json +15 -0
  559. package/workflows/ws-protocol-lifter/workflow.ts +163 -0
  560. package/dist/src/modules/analyzer/AISummarizer.d.ts +0 -39
  561. package/dist/src/modules/analyzer/AISummarizer.js +0 -122
  562. package/dist/src/modules/hook/AIHookGenerator.d.ts +0 -52
  563. package/dist/src/modules/hook/AIHookGenerator.js +0 -360
  564. package/dist/src/modules/hook/AIHookGeneratorTemplates.d.ts +0 -9
  565. package/dist/src/modules/hook/AIHookGeneratorTemplates.js +0 -157
  566. package/dist/src/server/macros/builtins/deobfuscate-ast-flow.d.ts +0 -2
  567. package/dist/src/server/macros/builtins/deobfuscate-ast-flow.js +0 -25
  568. package/dist/src/server/macros/builtins/unpacker-flow.d.ts +0 -2
  569. package/dist/src/server/macros/builtins/unpacker-flow.js +0 -25
  570. package/dist/src/services/LLMService.d.ts +0 -37
  571. package/dist/src/services/LLMService.js +0 -233
  572. package/dist/src/services/prompts/analysis.d.ts +0 -9
  573. package/dist/src/services/prompts/analysis.js +0 -158
  574. package/dist/src/services/prompts/crypto.d.ts +0 -2
  575. package/dist/src/services/prompts/crypto.js +0 -108
  576. package/dist/src/services/prompts/deobfuscation.d.ts +0 -6
  577. package/dist/src/services/prompts/deobfuscation.js +0 -300
  578. package/dist/src/services/prompts/environment.d.ts +0 -16
  579. package/dist/src/services/prompts/environment.js +0 -372
  580. package/dist/src/services/prompts/intelligence.d.ts +0 -4
  581. package/dist/src/services/prompts/intelligence.js +0 -250
  582. package/dist/src/services/prompts/taint.d.ts +0 -2
  583. package/dist/src/services/prompts/taint.js +0 -54
@@ -1,447 +1,447 @@
1
1
  export function generateFunctionHook(target, action, customCode, condition, performance = false) {
2
2
  const conditionCode = condition
3
- ? `
4
- let callCount = 0;
5
- let lastCallTime = 0;
6
- const maxCalls = ${condition.maxCalls || 'Infinity'};
7
- const minInterval = ${condition.minInterval || 0};
3
+ ? `
4
+ let callCount = 0;
5
+ let lastCallTime = 0;
6
+ const maxCalls = ${condition.maxCalls || 'Infinity'};
7
+ const minInterval = ${condition.minInterval || 0};
8
8
  `
9
9
  : '';
10
10
  const performanceCode = performance
11
- ? `
12
- const startTime = performance.now();
11
+ ? `
12
+ const startTime = performance.now();
13
13
  `
14
14
  : '';
15
15
  const performanceEndCode = performance
16
- ? `
17
- const endTime = performance.now();
18
- console.log('[Hook] Execution time:', (endTime - startTime).toFixed(2), 'ms');
16
+ ? `
17
+ const endTime = performance.now();
18
+ console.log('[Hook] Execution time:', (endTime - startTime).toFixed(2), 'ms');
19
19
  `
20
20
  : '';
21
- return `
22
- (function() {
23
- 'use strict';
24
- ${conditionCode}
25
-
26
- const originalFunction = ${target};
27
-
28
- if (typeof originalFunction !== 'function') {
29
- console.error('[Hook] Target is not a function: ${target}');
30
- return;
31
- }
32
-
33
- ${target} = function(...args) {
21
+ return `
22
+ (function() {
23
+ 'use strict';
24
+ ${conditionCode}
25
+
26
+ const originalFunction = ${target};
27
+
28
+ if (typeof originalFunction !== 'function') {
29
+ console.error('[Hook] Target is not a function: ${target}');
30
+ return;
31
+ }
32
+
33
+ ${target} = function(...args) {
34
34
  ${condition
35
- ? `
36
- const now = Date.now();
37
- if (callCount >= maxCalls) {
38
- console.log('[Hook] Max calls reached, skipping');
39
- return originalFunction.apply(this, args);
40
- }
41
- if (now - lastCallTime < minInterval) {
42
- console.log('[Hook] Min interval not met, skipping');
43
- return originalFunction.apply(this, args);
44
- }
45
- callCount++;
46
- lastCallTime = now;
35
+ ? `
36
+ const now = Date.now();
37
+ if (callCount >= maxCalls) {
38
+ console.log('[Hook] Max calls reached, skipping');
39
+ return originalFunction.apply(this, args);
40
+ }
41
+ if (now - lastCallTime < minInterval) {
42
+ console.log('[Hook] Min interval not met, skipping');
43
+ return originalFunction.apply(this, args);
44
+ }
45
+ callCount++;
46
+ lastCallTime = now;
47
47
  `
48
- : ''}
49
-
50
- ${performanceCode}
51
-
52
- const hookContext = {
53
- target: '${target}',
54
- type: 'function',
55
- timestamp: Date.now(),
56
- arguments: args,
57
- stackTrace: new Error().stack
58
- };
59
-
60
- console.log('[Hook] Function called:', hookContext);
61
-
62
- ${action === 'block' ? 'return undefined;' : ''}
63
- ${action === 'modify' && customCode ? customCode : ''}
64
-
65
- const result = originalFunction.apply(this, args);
66
-
67
- ${performanceEndCode}
68
-
69
- console.log('[Hook] Function result:', result);
70
-
71
- return result;
72
- };
73
-
74
- console.log('[Hook] Successfully hooked: ${target}');
75
- })();
48
+ : ''}
49
+
50
+ ${performanceCode}
51
+
52
+ const hookContext = {
53
+ target: '${target}',
54
+ type: 'function',
55
+ timestamp: Date.now(),
56
+ arguments: args,
57
+ stackTrace: new Error().stack
58
+ };
59
+
60
+ console.log('[Hook] Function called:', hookContext);
61
+
62
+ ${action === 'block' ? 'return undefined;' : ''}
63
+ ${action === 'modify' && customCode ? customCode : ''}
64
+
65
+ const result = originalFunction.apply(this, args);
66
+
67
+ ${performanceEndCode}
68
+
69
+ console.log('[Hook] Function result:', result);
70
+
71
+ return result;
72
+ };
73
+
74
+ console.log('[Hook] Successfully hooked: ${target}');
75
+ })();
76
76
  `.trim();
77
77
  }
78
78
  export function generateEvalHook(action, customCode, _condition, _performance = false) {
79
- return `
80
- (function() {
81
- 'use strict';
82
-
83
- const originalEval = window.eval;
84
- const originalFunction = window.Function;
85
- const originalSetTimeout = window.setTimeout;
86
- const originalSetInterval = window.setInterval;
87
-
88
- let evalCounter = 0;
89
-
90
- window.eval = function(code) {
91
- const evalId = ++evalCounter;
92
- const stackTrace = new Error().stack.split('\\n').slice(2, 5).join('\\n');
93
-
94
- console.log(\`[Eval Hook #\${evalId}] eval:\`, {
95
- code: typeof code === 'string' ? (code.length > 200 ? code.substring(0, 200) + '...' : code) : code,
96
- codeType: typeof code,
97
- codeLength: code?.length || 0,
98
- stackTrace: stackTrace,
99
- timestamp: new Date().toISOString()
100
- });
101
-
102
- ${action === 'block' ? 'return undefined;' : ''}
103
- ${customCode || ''}
104
-
105
- try {
106
- const result = originalEval.call(this, code);
107
- console.log(\`[Eval Hook #\${evalId}] result:\`, typeof result);
108
- return result;
109
- } catch (error) {
110
- console.error(\`[Eval Hook #\${evalId}] error:\`, error.message);
111
- throw error;
112
- }
113
- };
114
-
115
- window.Function = function(...args) {
116
- const evalId = ++evalCounter;
117
- const stackTrace = new Error().stack.split('\\n').slice(2, 5).join('\\n');
118
-
119
- const functionBody = args[args.length - 1];
120
- const functionParams = args.slice(0, -1);
121
-
122
- console.log(\`[Eval Hook #\${evalId}] Function constructor:\`, {
123
- params: functionParams,
124
- body: typeof functionBody === 'string' ?
125
- (functionBody.length > 200 ? functionBody.substring(0, 200) + '...' : functionBody) :
126
- functionBody,
127
- bodyLength: functionBody?.length || 0,
128
- stackTrace: stackTrace,
129
- timestamp: new Date().toISOString()
130
- });
131
-
132
- ${action === 'block' ? 'return function() {};' : ''}
133
- ${customCode || ''}
134
-
135
- try {
136
- const result = originalFunction.apply(this, args);
137
- console.log(\`[Eval Hook #\${evalId}] Function created\`);
138
- return result;
139
- } catch (error) {
140
- console.error(\`[Eval Hook #\${evalId}] error:\`, error.message);
141
- throw error;
142
- }
143
- };
144
-
145
- window.setTimeout = function(handler, timeout, ...args) {
146
- if (typeof handler === 'string') {
147
- const evalId = ++evalCounter;
148
- console.log(\`[Eval Hook #\${evalId}] setTimeout with code:\`, {
149
- code: handler.length > 200 ? handler.substring(0, 200) + '...' : handler,
150
- timeout: timeout,
151
- timestamp: new Date().toISOString()
152
- });
153
-
154
- ${action === 'block' ? 'return 0;' : ''}
155
- }
156
-
157
- return originalSetTimeout.apply(this, [handler, timeout, ...args]);
158
- };
159
-
160
- window.setInterval = function(handler, timeout, ...args) {
161
- if (typeof handler === 'string') {
162
- const evalId = ++evalCounter;
163
- console.log(\`[Eval Hook #\${evalId}] setInterval with code:\`, {
164
- code: handler.length > 200 ? handler.substring(0, 200) + '...' : handler,
165
- timeout: timeout,
166
- timestamp: new Date().toISOString()
167
- });
168
-
169
- ${action === 'block' ? 'return 0;' : ''}
170
- }
171
-
172
- return originalSetInterval.apply(this, [handler, timeout, ...args]);
173
- };
174
-
175
- console.log('[Eval Hook] Successfully hooked eval, Function, setTimeout, setInterval');
176
- })();
79
+ return `
80
+ (function() {
81
+ 'use strict';
82
+
83
+ const originalEval = window.eval;
84
+ const originalFunction = window.Function;
85
+ const originalSetTimeout = window.setTimeout;
86
+ const originalSetInterval = window.setInterval;
87
+
88
+ let evalCounter = 0;
89
+
90
+ window.eval = function(code) {
91
+ const evalId = ++evalCounter;
92
+ const stackTrace = new Error().stack.split('\\n').slice(2, 5).join('\\n');
93
+
94
+ console.log(\`[Eval Hook #\${evalId}] eval:\`, {
95
+ code: typeof code === 'string' ? (code.length > 200 ? code.substring(0, 200) + '...' : code) : code,
96
+ codeType: typeof code,
97
+ codeLength: code?.length || 0,
98
+ stackTrace: stackTrace,
99
+ timestamp: new Date().toISOString()
100
+ });
101
+
102
+ ${action === 'block' ? 'return undefined;' : ''}
103
+ ${customCode || ''}
104
+
105
+ try {
106
+ const result = originalEval.call(this, code);
107
+ console.log(\`[Eval Hook #\${evalId}] result:\`, typeof result);
108
+ return result;
109
+ } catch (error) {
110
+ console.error(\`[Eval Hook #\${evalId}] error:\`, error.message);
111
+ throw error;
112
+ }
113
+ };
114
+
115
+ window.Function = function(...args) {
116
+ const evalId = ++evalCounter;
117
+ const stackTrace = new Error().stack.split('\\n').slice(2, 5).join('\\n');
118
+
119
+ const functionBody = args[args.length - 1];
120
+ const functionParams = args.slice(0, -1);
121
+
122
+ console.log(\`[Eval Hook #\${evalId}] Function constructor:\`, {
123
+ params: functionParams,
124
+ body: typeof functionBody === 'string' ?
125
+ (functionBody.length > 200 ? functionBody.substring(0, 200) + '...' : functionBody) :
126
+ functionBody,
127
+ bodyLength: functionBody?.length || 0,
128
+ stackTrace: stackTrace,
129
+ timestamp: new Date().toISOString()
130
+ });
131
+
132
+ ${action === 'block' ? 'return function() {};' : ''}
133
+ ${customCode || ''}
134
+
135
+ try {
136
+ const result = originalFunction.apply(this, args);
137
+ console.log(\`[Eval Hook #\${evalId}] Function created\`);
138
+ return result;
139
+ } catch (error) {
140
+ console.error(\`[Eval Hook #\${evalId}] error:\`, error.message);
141
+ throw error;
142
+ }
143
+ };
144
+
145
+ window.setTimeout = function(handler, timeout, ...args) {
146
+ if (typeof handler === 'string') {
147
+ const evalId = ++evalCounter;
148
+ console.log(\`[Eval Hook #\${evalId}] setTimeout with code:\`, {
149
+ code: handler.length > 200 ? handler.substring(0, 200) + '...' : handler,
150
+ timeout: timeout,
151
+ timestamp: new Date().toISOString()
152
+ });
153
+
154
+ ${action === 'block' ? 'return 0;' : ''}
155
+ }
156
+
157
+ return originalSetTimeout.apply(this, [handler, timeout, ...args]);
158
+ };
159
+
160
+ window.setInterval = function(handler, timeout, ...args) {
161
+ if (typeof handler === 'string') {
162
+ const evalId = ++evalCounter;
163
+ console.log(\`[Eval Hook #\${evalId}] setInterval with code:\`, {
164
+ code: handler.length > 200 ? handler.substring(0, 200) + '...' : handler,
165
+ timeout: timeout,
166
+ timestamp: new Date().toISOString()
167
+ });
168
+
169
+ ${action === 'block' ? 'return 0;' : ''}
170
+ }
171
+
172
+ return originalSetInterval.apply(this, [handler, timeout, ...args]);
173
+ };
174
+
175
+ console.log('[Eval Hook] Successfully hooked eval, Function, setTimeout, setInterval');
176
+ })();
177
177
  `.trim();
178
178
  }
179
179
  export function generateObjectMethodHook(target, action, customCode, _condition, _performance = false) {
180
180
  const parts = target.split('.');
181
181
  const methodName = parts.pop();
182
182
  const objectPath = parts.join('.');
183
- return `
184
- (function() {
185
- 'use strict';
186
-
187
- function getObjectByPath(path) {
188
- const parts = path.split('.');
189
- let obj = window;
190
-
191
- for (const part of parts) {
192
- if (part === 'window') continue;
193
- if (!obj || !(part in obj)) {
194
- return null;
195
- }
196
- obj = obj[part];
197
- }
198
-
199
- return obj;
200
- }
201
-
202
- const targetObject = getObjectByPath('${objectPath}');
203
- const methodName = '${methodName}';
204
-
205
- if (!targetObject) {
206
- console.error('[Object Hook] Target object not found: ${objectPath}');
207
- return;
208
- }
209
-
210
- const descriptor = Object.getOwnPropertyDescriptor(targetObject, methodName) ||
211
- Object.getOwnPropertyDescriptor(Object.getPrototypeOf(targetObject), methodName);
212
-
213
- if (!descriptor) {
214
- console.error('[Object Hook] Property not found: ${target}');
215
- return;
216
- }
217
-
218
- let callCounter = 0;
219
-
220
- if (typeof targetObject[methodName] === 'function') {
221
- const originalMethod = targetObject[methodName];
222
-
223
- targetObject[methodName] = function(...args) {
224
- const callId = ++callCounter;
225
- const startTime = performance.now();
226
- const stackTrace = new Error().stack.split('\\n').slice(2, 5).join('\\n');
227
-
228
- console.log(\`[Object Hook #\${callId}] ${target}:\`, {
229
- arguments: args,
230
- this: this,
231
- thisType: this?.constructor?.name,
232
- stackTrace: stackTrace,
233
- timestamp: new Date().toISOString()
234
- });
235
-
236
- ${action === 'block' ? 'return undefined;' : ''}
237
- ${customCode || ''}
238
-
239
- try {
240
- const result = originalMethod.apply(this, args);
241
- const endTime = performance.now();
242
- const duration = (endTime - startTime).toFixed(2);
243
-
244
- console.log(\`[Object Hook #\${callId}] ${target} result:\`, {
245
- result: result,
246
- resultType: typeof result,
247
- duration: duration + 'ms'
248
- });
249
-
250
- return result;
251
- } catch (error) {
252
- console.error(\`[Object Hook #\${callId}] ${target} error:\`, error);
253
- throw error;
254
- }
255
- };
256
-
257
- Object.setPrototypeOf(targetObject[methodName], originalMethod);
258
-
259
- console.log('[Object Hook] Successfully hooked method: ${target}');
260
- }
261
- else if (descriptor.get || descriptor.set) {
262
- const originalGet = descriptor.get;
263
- const originalSet = descriptor.set;
264
-
265
- Object.defineProperty(targetObject, methodName, {
266
- get: function() {
267
- console.log('[Object Hook] getter called: ${target}');
268
- return originalGet ? originalGet.call(this) : undefined;
269
- },
270
- set: function(value) {
271
- console.log('[Object Hook] setter called: ${target}', { value });
272
- ${action === 'block' ? 'return;' : ''}
273
- if (originalSet) {
274
- originalSet.call(this, value);
275
- }
276
- },
277
- configurable: true,
278
- enumerable: descriptor.enumerable
279
- });
280
-
281
- console.log('[Object Hook] Successfully hooked property: ${target}');
282
- }
283
- })();
183
+ return `
184
+ (function() {
185
+ 'use strict';
186
+
187
+ function getObjectByPath(path) {
188
+ const parts = path.split('.');
189
+ let obj = window;
190
+
191
+ for (const part of parts) {
192
+ if (part === 'window') continue;
193
+ if (!obj || !(part in obj)) {
194
+ return null;
195
+ }
196
+ obj = obj[part];
197
+ }
198
+
199
+ return obj;
200
+ }
201
+
202
+ const targetObject = getObjectByPath('${objectPath}');
203
+ const methodName = '${methodName}';
204
+
205
+ if (!targetObject) {
206
+ console.error('[Object Hook] Target object not found: ${objectPath}');
207
+ return;
208
+ }
209
+
210
+ const descriptor = Object.getOwnPropertyDescriptor(targetObject, methodName) ||
211
+ Object.getOwnPropertyDescriptor(Object.getPrototypeOf(targetObject), methodName);
212
+
213
+ if (!descriptor) {
214
+ console.error('[Object Hook] Property not found: ${target}');
215
+ return;
216
+ }
217
+
218
+ let callCounter = 0;
219
+
220
+ if (typeof targetObject[methodName] === 'function') {
221
+ const originalMethod = targetObject[methodName];
222
+
223
+ targetObject[methodName] = function(...args) {
224
+ const callId = ++callCounter;
225
+ const startTime = performance.now();
226
+ const stackTrace = new Error().stack.split('\\n').slice(2, 5).join('\\n');
227
+
228
+ console.log(\`[Object Hook #\${callId}] ${target}:\`, {
229
+ arguments: args,
230
+ this: this,
231
+ thisType: this?.constructor?.name,
232
+ stackTrace: stackTrace,
233
+ timestamp: new Date().toISOString()
234
+ });
235
+
236
+ ${action === 'block' ? 'return undefined;' : ''}
237
+ ${customCode || ''}
238
+
239
+ try {
240
+ const result = originalMethod.apply(this, args);
241
+ const endTime = performance.now();
242
+ const duration = (endTime - startTime).toFixed(2);
243
+
244
+ console.log(\`[Object Hook #\${callId}] ${target} result:\`, {
245
+ result: result,
246
+ resultType: typeof result,
247
+ duration: duration + 'ms'
248
+ });
249
+
250
+ return result;
251
+ } catch (error) {
252
+ console.error(\`[Object Hook #\${callId}] ${target} error:\`, error);
253
+ throw error;
254
+ }
255
+ };
256
+
257
+ Object.setPrototypeOf(targetObject[methodName], originalMethod);
258
+
259
+ console.log('[Object Hook] Successfully hooked method: ${target}');
260
+ }
261
+ else if (descriptor.get || descriptor.set) {
262
+ const originalGet = descriptor.get;
263
+ const originalSet = descriptor.set;
264
+
265
+ Object.defineProperty(targetObject, methodName, {
266
+ get: function() {
267
+ console.log('[Object Hook] getter called: ${target}');
268
+ return originalGet ? originalGet.call(this) : undefined;
269
+ },
270
+ set: function(value) {
271
+ console.log('[Object Hook] setter called: ${target}', { value });
272
+ ${action === 'block' ? 'return;' : ''}
273
+ if (originalSet) {
274
+ originalSet.call(this, value);
275
+ }
276
+ },
277
+ configurable: true,
278
+ enumerable: descriptor.enumerable
279
+ });
280
+
281
+ console.log('[Object Hook] Successfully hooked property: ${target}');
282
+ }
283
+ })();
284
284
  `.trim();
285
285
  }
286
286
  export function generateAntiDebugBypass() {
287
- return `
288
- (function() {
289
- 'use strict';
290
-
291
- console.log('[Anti-Debug Bypass] Initializing...');
292
-
293
- const originalEval = window.eval;
294
- window.eval = function(code) {
295
- if (typeof code === 'string') {
296
- code = code.replace(/debugger\\s*;?/g, '');
297
- }
298
- return originalEval.call(this, code);
299
- };
300
-
301
- const originalFunction = window.Function;
302
- window.Function = function(...args) {
303
- if (args.length > 0) {
304
- const lastArg = args[args.length - 1];
305
- if (typeof lastArg === 'string') {
306
- args[args.length - 1] = lastArg.replace(/debugger\\s*;?/g, '');
307
- }
308
- }
309
- return originalFunction.apply(this, args);
310
- };
311
-
312
- Object.defineProperty(window, 'outerHeight', {
313
- get: function() {
314
- return window.innerHeight;
315
- }
316
- });
317
-
318
- Object.defineProperty(window, 'outerWidth', {
319
- get: function() {
320
- return window.innerWidth;
321
- }
322
- });
323
-
324
- let lastTime = Date.now();
325
- const originalDateNow = Date.now;
326
- Date.now = function() {
327
- const currentTime = originalDateNow();
328
- if (currentTime - lastTime > 100) {
329
- lastTime += 16;
330
- return lastTime;
331
- }
332
- lastTime = currentTime;
333
- return currentTime;
334
- };
335
-
336
- const originalToString = Function.prototype.toString;
337
- Function.prototype.toString = function() {
338
- if (this === window.eval || this === window.Function) {
339
- return 'function () { [native code] }';
340
- }
341
- return originalToString.call(this);
342
- };
343
-
344
- const devtools = { open: false };
345
- const threshold = 160;
346
-
347
- setInterval(function() {
348
- if (window.outerWidth - window.innerWidth > threshold ||
349
- window.outerHeight - window.innerHeight > threshold) {
350
- devtools.open = true;
351
- } else {
352
- devtools.open = false;
353
- }
354
- }, 500);
355
-
356
- Object.defineProperty(window, 'devtools', {
357
- get: function() {
358
- return { open: false };
359
- }
360
- });
361
-
362
- console.log('[Anti-Debug Bypass] Successfully bypassed anti-debugging protections');
363
- })();
287
+ return `
288
+ (function() {
289
+ 'use strict';
290
+
291
+ console.log('[Anti-Debug Bypass] Initializing...');
292
+
293
+ const originalEval = window.eval;
294
+ window.eval = function(code) {
295
+ if (typeof code === 'string') {
296
+ code = code.replace(/debugger\\s*;?/g, '');
297
+ }
298
+ return originalEval.call(this, code);
299
+ };
300
+
301
+ const originalFunction = window.Function;
302
+ window.Function = function(...args) {
303
+ if (args.length > 0) {
304
+ const lastArg = args[args.length - 1];
305
+ if (typeof lastArg === 'string') {
306
+ args[args.length - 1] = lastArg.replace(/debugger\\s*;?/g, '');
307
+ }
308
+ }
309
+ return originalFunction.apply(this, args);
310
+ };
311
+
312
+ Object.defineProperty(window, 'outerHeight', {
313
+ get: function() {
314
+ return window.innerHeight;
315
+ }
316
+ });
317
+
318
+ Object.defineProperty(window, 'outerWidth', {
319
+ get: function() {
320
+ return window.innerWidth;
321
+ }
322
+ });
323
+
324
+ let lastTime = Date.now();
325
+ const originalDateNow = Date.now;
326
+ Date.now = function() {
327
+ const currentTime = originalDateNow();
328
+ if (currentTime - lastTime > 100) {
329
+ lastTime += 16;
330
+ return lastTime;
331
+ }
332
+ lastTime = currentTime;
333
+ return currentTime;
334
+ };
335
+
336
+ const originalToString = Function.prototype.toString;
337
+ Function.prototype.toString = function() {
338
+ if (this === window.eval || this === window.Function) {
339
+ return 'function () { [native code] }';
340
+ }
341
+ return originalToString.call(this);
342
+ };
343
+
344
+ const devtools = { open: false };
345
+ const threshold = 160;
346
+
347
+ setInterval(function() {
348
+ if (window.outerWidth - window.innerWidth > threshold ||
349
+ window.outerHeight - window.innerHeight > threshold) {
350
+ devtools.open = true;
351
+ } else {
352
+ devtools.open = false;
353
+ }
354
+ }, 500);
355
+
356
+ Object.defineProperty(window, 'devtools', {
357
+ get: function() {
358
+ return { open: false };
359
+ }
360
+ });
361
+
362
+ console.log('[Anti-Debug Bypass] Successfully bypassed anti-debugging protections');
363
+ })();
364
364
  `.trim();
365
365
  }
366
366
  export function generateHookTemplate(targetName, targetType) {
367
367
  if (targetType === 'function') {
368
- return `
369
- (function() {
370
- 'use strict';
371
-
372
- const original = ${targetName};
373
-
374
- ${targetName} = function(...args) {
375
- console.log('[Hook] ${targetName} called:', args);
376
-
377
-
378
- const result = original.apply(this, args);
379
- console.log('[Hook] ${targetName} result:', result);
380
-
381
- return result;
382
- };
383
-
384
- console.log('[Hook] Successfully hooked: ${targetName}');
385
- })();
368
+ return `
369
+ (function() {
370
+ 'use strict';
371
+
372
+ const original = ${targetName};
373
+
374
+ ${targetName} = function(...args) {
375
+ console.log('[Hook] ${targetName} called:', args);
376
+
377
+
378
+ const result = original.apply(this, args);
379
+ console.log('[Hook] ${targetName} result:', result);
380
+
381
+ return result;
382
+ };
383
+
384
+ console.log('[Hook] Successfully hooked: ${targetName}');
385
+ })();
386
386
  `.trim();
387
387
  }
388
388
  else if (targetType === 'property') {
389
- return `
390
- (function() {
391
- 'use strict';
392
-
393
- const descriptor = Object.getOwnPropertyDescriptor(${targetName.split('.').slice(0, -1).join('.')}, '${targetName.split('.').pop()}');
394
- const originalGet = descriptor?.get;
395
- const originalSet = descriptor?.set;
396
-
397
- Object.defineProperty(${targetName.split('.').slice(0, -1).join('.')}, '${targetName.split('.').pop()}', {
398
- get: function() {
399
- console.log('[Hook] ${targetName} get');
400
- return originalGet ? originalGet.call(this) : undefined;
401
- },
402
- set: function(value) {
403
- console.log('[Hook] ${targetName} set:', value);
404
- if (originalSet) {
405
- originalSet.call(this, value);
406
- }
407
- },
408
- configurable: true
409
- });
410
-
411
- console.log('[Hook] Successfully hooked property: ${targetName}');
412
- })();
389
+ return `
390
+ (function() {
391
+ 'use strict';
392
+
393
+ const descriptor = Object.getOwnPropertyDescriptor(${targetName.split('.').slice(0, -1).join('.')}, '${targetName.split('.').pop()}');
394
+ const originalGet = descriptor?.get;
395
+ const originalSet = descriptor?.set;
396
+
397
+ Object.defineProperty(${targetName.split('.').slice(0, -1).join('.')}, '${targetName.split('.').pop()}', {
398
+ get: function() {
399
+ console.log('[Hook] ${targetName} get');
400
+ return originalGet ? originalGet.call(this) : undefined;
401
+ },
402
+ set: function(value) {
403
+ console.log('[Hook] ${targetName} set:', value);
404
+ if (originalSet) {
405
+ originalSet.call(this, value);
406
+ }
407
+ },
408
+ configurable: true
409
+ });
410
+
411
+ console.log('[Hook] Successfully hooked property: ${targetName}');
412
+ })();
413
413
  `.trim();
414
414
  }
415
415
  else {
416
- return `
417
- (function() {
418
- 'use strict';
419
-
420
- const original = ${targetName};
421
-
422
- ${targetName} = function(...args) {
423
- console.log('[Hook] ${targetName} constructor called:', args);
424
-
425
- const instance = new original(...args);
426
-
427
- const methodNames = Object.getOwnPropertyNames(original.prototype);
428
- methodNames.forEach(name => {
429
- if (name !== 'constructor' && typeof instance[name] === 'function') {
430
- const originalMethod = instance[name];
431
- instance[name] = function(...methodArgs) {
432
- console.log(\`[Hook] \${name} called:\`, methodArgs);
433
- return originalMethod.apply(this, methodArgs);
434
- };
435
- }
436
- });
437
-
438
- return instance;
439
- };
440
-
441
- ${targetName}.prototype = original.prototype;
442
-
443
- console.log('[Hook] Successfully hooked prototype: ${targetName}');
444
- })();
416
+ return `
417
+ (function() {
418
+ 'use strict';
419
+
420
+ const original = ${targetName};
421
+
422
+ ${targetName} = function(...args) {
423
+ console.log('[Hook] ${targetName} constructor called:', args);
424
+
425
+ const instance = new original(...args);
426
+
427
+ const methodNames = Object.getOwnPropertyNames(original.prototype);
428
+ methodNames.forEach(name => {
429
+ if (name !== 'constructor' && typeof instance[name] === 'function') {
430
+ const originalMethod = instance[name];
431
+ instance[name] = function(...methodArgs) {
432
+ console.log(\`[Hook] \${name} called:\`, methodArgs);
433
+ return originalMethod.apply(this, methodArgs);
434
+ };
435
+ }
436
+ });
437
+
438
+ return instance;
439
+ };
440
+
441
+ ${targetName}.prototype = original.prototype;
442
+
443
+ console.log('[Hook] Successfully hooked prototype: ${targetName}');
444
+ })();
445
445
  `.trim();
446
446
  }
447
447
  }