{"repo":"vmoranv/jshookmcp","free":true,"listed":false,"github":"https://github.com/vmoranv/jshookmcp","clone":"git clone https://github.com/vmoranv/jshookmcp.git","description":"js hook toolkit that all you need","language":"TypeScript","stars":1903,"topics":["browser-automation","debugging","deobfuscation","js-reverse","mcp","network-analysis","reverse-engineering","security-analysis"],"license":"AGPL-3.0","category":"security_toolchain","readme_excerpt":"# @jshookmcp/jshook\n\n[![License: AGPLv3](https://img.shields.io/badge/License-AGPLv3-red.svg)](LICENSE)\n[![Node.js 22.12+](https://img.shields.io/badge/node-22.12%2B-brightgreen.svg)](https://nodejs.org/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178C6.svg)](https://www.typescriptlang.org/)\n[![MCP](https://img.shields.io/badge/MCP-current-8A2BE2.svg)](https://modelcontextprotocol.io/)\n[![pnpm](https://img.shields.io/badge/pnpm-10.x-F69220.svg)](https://pnpm.io/)\n\nEnglish | [中文](./README.zh.md)\n\nAn MCP server that gives AI agents **600+ tools across 34 domains** for JavaScript analysis and security research — browser automation, CDP debugging, network interception, JS hooks, LLM-powered code analysis, process/memory forensics, WASM reverse engineering, source-map reconstruction, AST transforms, and composite workflows in a single server.\n\n## Quick Links\n\n- **[📖 Documentation](https://vmoranv.github.io/jshookmcp/)** · **[🚀 Getting Started](https://vmoranv.github.io/jshookmcp/guide/getting-started.html)** · **[⚙️ Configuration](https://vmoranv.github.io/jshookmcp/guide/configuration.html)** · **[📚 Tool Reference](https://vmoranv.github.io/jshookmcp/reference/)**\n\n## 🚀 Quick Start\n\nNo global install needed — add to your MCP client config and you're ready:\n\n**Claude Desktop / Cursor (`claude_desktop_config.json`)**:\n\n```json\n{\n  \"mcpServers\": {\n    \"jshook\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@jshookmcp/jshook@latest\"],\n      \"env\": {\n        \"MCP_TOOL_PROFILE\": \"search\",\n        \"npm_config_omit\": \"optional\"\n      }\n    }\n  }\n}\n```\n\n*(Windows: use `npx.cmd` absolute path if `npx` is not found)*\n\nThis lightweight configuration skips optional ONNX, Z3, Binaryen, Camoufox, and Playwright\npackages. Remove `npm_config_omit` when those full-profile runtimes are required.\n\n### Share one daemon across multiple agents\n\nThe default stdio configuration starts one full jshook process per MCP host. To share the\nembedding model, browser runtime, and caches, start one local Streamable HTTP daemon:\n\n```bash\npnpm build\npnpm daemon\n```\n\nVector search defaults to off for per-client stdio processes and on (lazy-loaded) for the shared\nHTTP daemon. Set `SEARCH_VECTOR_ENABLED=false` when lexical search is sufficient.\n\nThen point every MCP client at `http://127.0.0.1:3000/mcp` using its HTTP/URL server\nconfiguration. Each client receives its own MCP session and response route while heavyweight\nruntime resources remain in one process. Keep the default loopback bind; set `MCP_AUTH_TOKEN`\nbefore exposing the endpoint beyond localhost.\n\n## 🌟 Highlights\n\n- 🤖 **AI-Driven Analysis** — LLM-powered deobfuscation, crypto detection, AST comprehension\n- ⚡ **Search-First Context Efficiency** — `search` profile ≈ 3K tokens vs `full` ≈ 40K+ tokens\n- 🎯 **Progressive Tiers** — `search` → `workflow` → `full`, activate on demand\n- 🌐 **Full-Stack Browser Automation** — Chromium/Camoufox + CDP + anti-detection + CAPTCHA handling\n- 🔁 **Runtime Recovery and Session Isolation** — HTTP sessions restore activated domains, browser attach state, coverage state, and isolate browser-side session state per client\n- 🧭 **Schema-First Meta Tools** — `describe_tool`, validated `call_tool`, and `coverage_report` reduce parameter errors and make tool coverage visible\n- 📡 **Network Interception** — HTTP/2 frame building, MiTM capture, GraphQL, Burp Suite bridge\n- 🛠️ **Reverse Engineering Toolchain** — WASM disassembly, binary analysis, Frida, Ghidra/IDA bridges\n- 🧰 **Process & Memory Forensics** — Native FFI scanning, hardware breakpoints, PE introspection\n- 🧩 **Dynamic Extensibility** — Hot-reload plugins, declarative workflows, auto-discovered domains\n\n## Recent Runtime Notes\n\n- HTTP transport now multiplexes independent MCP sessions and restores runtime state after reconnects.\n- `proxy_start` auto-generates a local HTTPS interception CA when needed.\n- Browser CAPTCHA solving is now explicit-input driven: pass `taskKind`, `siteKey`, `imageBase64`, `callbackName`, and `responseSelector` as needed. Built-in widget/page signature probing is intentionally not used.\n\n## Architecture\n\n- **Runtime Registry** — Domains auto-discovered via `manifest.ts`; add a domain by creating one file\n- **Lazy Initialization** — Handlers instantiated on first call, not at startup\n- **BM25 + Vector Search** — `search_tools` meta-tool with hybrid ranking and adaptive weights\n- **MCP ToolAnnotations** — Every tool carries `readOnlyHint` / `destructiveHint` / `idempotentHint` / `openWorldHint`\n\n## Registry Snapshot\n\nThe built-in surface below is generated from the runtime registry and checked in CI.\n\n<!-- metadata-sync:start -->\n- Package version: `0.3.5`\n- Built-in Tools: `668`\n- Domains: `adb-bridge`, `binary-instrument`, `boringssl-inspector`, `browser`, `canvas`, `coordination`, `core`, `cross-domain`, `dart-inspector`, `debugger`, `encoding`, `exploit-dev`, `extension-registry`, `graphql`, `instrumentation`, `maintenance`, `memory`, `mojo-ipc`, `native-bridge`, `native-emulator`, `network`, `platform`, `process`, `protocol-analysis`, `proxy`, `sourcemap`, `streaming`, `syscall-hook`, `trace`, `transform`, `v8-inspector`, `wasm`, `webgpu`, `workflow`\n- Note: this snapshot is generated from the runtime registry; do not edit the counts by hand.\n<!-- metadata-sync:end -->\n\n> **[View the complete Tool Reference ↗](https://vmoranv.github.io/jshookmcp/reference/)**\n\n## Project Stats\n\n<div align=\"center\">\n\n<a href=\"https://www.star-history.com/?repos=vmoranv%2Fjshookmcp&type=date&legend=top-left\">\n <picture>\n   <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/image?repos=vmoranv/jshookmcp&type=date&legend=top-left\" />\n   <source media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/image?repos=vmoranv/jshookmcp&type=date&legend=top-left\" />\n   <img alt=\"Star History Chart\" src=\"https://api.star-history.com/image?repos=vmoranv/jshookmcp&type=date&legend=top-left\" />\n </picture>\n</a>\n\n![Activity](https://repobeats.axiom.co/api/embed/83c000c790b1c665ff2686d2d02605412a0b8805.svg 'Repobeats analytics image')\n\n</div>\n","default_branch":"master","files":2762,"tree":[".env.example",".gitattributes",".github/FUNDING.yml",".github/ISSUE_TEMPLATE/bug_report.yml",".github/ISSUE_TEMPLATE/config.yml",".github/ISSUE_TEMPLATE/docs_request.yml",".github/ISSUE_TEMPLATE/feature_request.yml",".github/dependabot.yml",".github/pull_request_template.md",".github/workflows/ci.yml",".github/workflows/docs-deploy.yml",".github/workflows/pr-quality-gate.yml",".github/workflows/publish-packages.yml",".github/workflows/repo-hygiene.yml",".gitignore",".ignore",".lychee.toml",".markdownlint-cli2.jsonc",".npmignore",".npmrc",".oxfmtrc.json",".oxlintrc.json",".prettierignore",".prettierrc","CITATION.cff","CODE_OF_CONDUCT.md","CONTRIBUTING.md","LICENSE","README.md","README.zh.md","SECURITY.md","docs/.vitepress/config.ts","docs/.vitepress/en.ts","docs/.vitepress/i18n/zh/reference-tool-descriptions.json","docs/.vitepress/shared.ts","docs/.vitepress/sidebar-reference-en.mjs","docs/.vitepress/sidebar-reference-zh.mjs","docs/.vitepress/theme/components/ShareButton.vue","docs/.vitepress/theme/index.ts","docs/.vitepress/theme/style.css","docs/.vitepress/zh.ts","docs/analysis/implementation-plan.md","docs/analysis/node-compatibility-analysis.md","docs/analysis/search-architecture-analysis.md","docs/contributing.md","docs/custom-macros.md","docs/en/contributing.md","docs/en/custom-macros.md","docs/en/extensions/api.md","docs/en/extensions/index.md","docs/en/extensions/plugin-development.md","docs/en/extensions/templates.md","docs/en/extensions/workflow-development.md","docs/en/guide/best-practices.md","docs/en/guide/configuration.md","docs/en/guide/getting-started.md","docs/en/guide/tool-selection.md","docs/en/index.md","docs/en/operations/doctor-and-artifacts.md","docs/en/operations/security-and-production.md","docs/en/reference/domains/adb-bridge.md","docs/en/reference/domains/binary-instrument.md","docs/en/reference/domains/boringssl-inspector.md","docs/en/reference/domains/browser.md","docs/en/reference/domains/canvas.md","docs/en/reference/domains/coordination.md","docs/en/reference/domains/core.md","docs/en/reference/domains/cross-domain.md","docs/en/reference/domains/dart-inspector.md","docs/en/reference/domains/debugger.md","docs/en/reference/domains/encoding.md","docs/en/reference/domains/exploit-dev.md","docs/en/reference/domains/extension-registry.md","docs/en/reference/domains/graphql.md","docs/en/reference/domains/instrumentation.md","docs/en/reference/domains/maintenance.md","docs/en/reference/domains/memory.md","docs/en/reference/domains/mojo-ipc.md","docs/en/reference/domains/native-bridge.md","docs/en/reference/domains/native-emulator.md","docs/en/reference/domains/network.md","docs/en/reference/domains/platform.md","docs/en/reference/domains/process.md","docs/en/reference/domains/protocol-analysis.md","docs/en/reference/domains/proxy.md","docs/en/reference/domains/sourcemap.md","docs/en/reference/domains/streaming.md","docs/en/reference/domains/syscall-hook.md","docs/en/reference/domains/trace.md","docs/en/reference/domains/transform.md","docs/en/reference/domains/v8-inspector.md","docs/en/reference/domains/wasm.md","docs/en/reference/domains/webgpu.md","docs/en/reference/domains/workflow.md","docs/en/reference/index.md","docs/extensions/api.md","docs/extensions/index.md","docs/extensions/plugin-development.md","docs/extensions/templates.md","docs/extensions/workflow-development.md","docs/guide/best-practices.md","docs/guide/configuration.md","docs/guide/getting-started.md","docs/guide/tool-selection.md","docs/guide/troubleshooting.md","docs/index.md","docs/operations/doctor-and-artifacts.md","docs/operations/security-and-production.md","docs/public/favicon.png","docs/public/logo.svg","docs/public/support/alipay.png","docs/public/support/wechat.png","docs/reference/domains/adb-bridge.md","docs/reference/domains/binary-instrument.md","docs/reference/domains/boringssl-inspector.md","docs/reference/domains/browser.md","docs/reference/domains/canvas.md","docs/reference/domains/coordination.md","docs/reference/domains/core.md","docs/reference/domains/cross-domain.md","docs/reference/domains/dart-inspector.md","docs/reference/domains/debugger.md","docs/reference/domains/encoding.md","docs/reference/domains/exploit-dev.md","docs/reference/domains/extension-registry.md","docs/reference/domains/graphql.md","docs/reference/domains/instrumentation.md","docs/reference/domains/maintenance.md","docs/reference/domains/memory.md","docs/reference/domains/mojo-ipc.md","docs/reference/domains/native-bridge.md","docs/reference/domains/native-emulator.md","docs/reference/domains/network.md","docs/reference/domains/platform.md","docs/reference/domains/process.md","docs/reference/domains/protocol-analysis.md","docs/reference/domains/proxy.md","docs/reference/domains/sourcemap.md","docs/reference/domains/streaming.md","docs/reference/domains/syscall-hook.md","docs/reference/domains/trace.md","docs/reference/domains/transform.md","docs/reference/domains/v8-inspector.md","docs/reference/domains/wasm.md","docs/reference/domains/webgpu.md","docs/reference/domains/workflow.md","docs/reference/index.md","docs/tsconfig.json","lefthook.yml","package.json","packages/extension-sdk/README.md","packages/extension-sdk/package.json","packages/extension-sdk/src/bridges/index.ts","packages/extension-sdk/src/bridges/shared.ts","packages/extension-sdk/src/index.ts","packages/extension-sdk/src/plugin.ts","packages/extension-sdk/src/workflow.ts","packages/extension-sdk/tsconfig.json","packages/extension-sdk/tsdown.config.ts","pnpm-lock.yaml","pnpm-workspace.yaml","renovate.json","scripts/audit-runtime-probes.mjs","scripts/audit-tools.mjs","scripts/benchmark-fp-exceptions.mjs","scripts/build.mjs","scripts/clean-dist.mjs","scripts/copy-native-scripts.mjs","scripts/count-tools.js","scripts/count-tools.mjs","scripts/domain-audit.json","scripts/fs-retry.mjs","scripts/generate-domains-index.mjs","scripts/generate-metadata.mjs","scripts/generate-vitepress-reference.mjs","scripts/postinstall.cjs","scripts/pre-build-manifest.mjs","scripts/refresh-git-noise.mjs","scripts/run-vitest-smart.mjs","scripts/runtime-probes/constants.mjs","scripts/runtime-probes/helpers/core.mjs","scripts/runtime-probes/helpers/fixtures.mjs","scripts/runtime-probes/helpers/inline-script.d.mts","scripts/runtime-probes/helpers/inline-script.mjs","scripts/runtime-probes/helpers/runtime.mjs","scripts/runtime-probes/phases/advanced-runtime/cross-domain-binary.mjs","scripts/runtime-probes/phases/advanced-runtime/index.mjs","scripts/runtime-probes/phases/advanced-runtime/sourcemap-attach-syscall.mjs","scripts/runtime-probes/phases/bootstrap.mjs","scripts/runtime-probes/phases/browser/capabilities.mjs","scripts/runtime-probes/phases/browser/coordination.mjs","scripts/runtime-probes/phases/browser/core.mjs","scripts/runtime-probes/phases/browser/index.mjs","scripts/runtime-probes/phases/browser/page-interaction.mjs","scripts/runtime-probes/phases/macro-stateboard.mjs","scripts/runtime-probes/phases/maintenance-workflow.mjs","scripts/runtime-probes/phases/meta.mjs","scripts/runtime-probes/phases/network-tls.mjs","scripts/runtime-probes/phases/platform.mjs","scripts/runtime-probes/phases/process/index.mjs","scripts/runtime-probes/phases/process/lifecycle.mjs","scripts/runtime-probes/phases/process/memory.mjs","scripts/runtime-probes/phases/protocol.mjs","scripts/runtime-probes/phases/runtime-observability/console-intercept-jsdom.mjs","scripts/runtime-probes/phases/runtime-observability/graphql-wasm.mjs","scripts/runtime-probes/phases/runtime-observability/index.mjs","scripts/runtime-probes/phases/runtime-observability/network-trace.mjs","scripts/runtime-probes/phases/runtime-observability/proxy-stream-trace.mjs","scripts/runtime-probes/phases/runtime-observability/v8.mjs","scripts/runtime-probes/report.mjs","scripts/runtime-probes/server/assets.mjs","scripts/runtime-probes/server/index.mjs","scripts/scan-domain-audit.mjs","scripts/search-tune/compare-rerank.ts","scripts/search-tune/compare-static-model.ts","scripts/search-tune/datasets/profile-tier.ts","scripts/search-tune/datasets/search-quality.ts","scripts/search-tune/diagnose-rootcause.ts","scripts/search-tune/metrics.ts","scripts/search-tune/optimize.ts","scripts/search-tune/probe-sensitivity.ts","scripts/search-tune/report.ts","scripts/search-tune/search-space.ts","scripts/test-luoys-apk.mjs","scripts/tune-env.mjs","scripts/update-domain-scores.mjs","scripts/verify-packed-bin.mjs","scripts/verify-packed-install.mjs","scripts/verify-release-artifact.mjs","scripts/z3-smoke.mjs","server.json","src/cli/doctor.ts","src/config/binary-magic.ts","src/config/search-defaults.ts","src/constants/adb.ts","src/constants/analysis.ts","src/constants/boringssl.ts","src/constants/browser.ts","src/constants/captcha.ts","src/constants/coordination.ts","src/constants/dart.ts","src/constants/external-tools.ts","src/constants/helpers.ts","src/constants/index.ts","src/constants/memory.ts","src/constants/mojo.ts","src/constants/network.ts","src/constants/process.ts","src/constants/proxy.ts","src/constants/sandbox.ts","src/constants/search-model.ts","src/constants/search.ts","src/constants/server.ts","src/constants/streaming.ts","src/constants/syscall-hook.ts","src/constants/transform.ts","src/constants/workflow.ts","src/errors/PrerequisiteError.ts","src/errors/ToolError.ts","src/index.ts","src/modules/adb/ADBClient.ts","src/modules/adb/ADBConnector.ts","src/modules/adb/WebViewDebugger.ts","src/modules/adb/index.ts","src/modules/adb/types.ts","src/modules/analyzer/CodeAnalyzer.ts","src/modules/analyzer/CodeAnalyzerDataFlow.summaries.ts","src/modules/analyzer/CodeAnalyzerDataFlow.ts","src/modules/analyzer/IntelligentAnalyzer.ts","src/modules/analyzer/PatternDetector.ts","src/modules/analyzer/PatternDetectorAuthPatterns.ts","src/modules/analyzer/QualityAnalyzer.ts","src/modules/analyzer/SecurityCodeAnalyzer.ts","src/modules/apk-packer/PackerDetector.ts","src/modules/apk-packer/SigningBlockParser.ts","src/modules/apk-packer/classifiers.ts","src/modules/apk-packer/constants.ts","src/modules/apk-packer/fingerprints.ts","src/modules/apk-packer/index.ts","src/modules/apk-packer/signing-block-types.ts","src/modules/apk-packer/types.ts","src/modules/apk-packer/validate-apk.ts","src/modules/axml-parser/AxmlParser.ts","src/modules/axml-parser/index.ts","src/modules/binary-instrument/ExtensionBridge.ts","src/modules/binary-instrument/FridaSession.ts","src/modules/binary-instrument/GhidraAnalyzer.ts","src/modules/binary-instrument/HookCodeGenerator.ts","src/modules/binary-instrument/HookGenerator.ts","src/modules/binary-instrument/UnidbgRunner.ts","src/modules/binary-instrument/android-runtime-dump-session.ts","src/modules/binary-instrument/apk-dex-intake.ts","src/modules/binary-instrument/apk-surface-hints.ts","src/modules/binary-instrument/apk-zip-inspection.ts","src/modules/binary-instrument/dex-artifacts.ts","src/modules/binary-instrument/index.ts","src/modules/binary-instrument/types.ts","src/modules/binary-secrets/KeyExtractor.ts","src/modules/binary-secrets/constants.ts","src/modules/binary-secrets/entropy.ts","src/modules/binary-secrets/index.ts","src/modules/binary-secrets/types.ts","src/modules/boringssl-inspector/TLSKeyLogExtractor.ts","src/modules/boringssl-inspector/TLSPacketParser.ts","src/modules/boringssl-inspector/index.ts","src/modules/browser/BrowserDiscovery.ts","src/modules/browser/BrowserModeManager.ts","src/modules/browser/BrowserPool.ts","src/modules/browser/BrowserTargetSessionManager.ManagedSessionRegistry.ts","src/modules/browser/BrowserTargetSessionManager.shared.ts","src/modules/browser/BrowserTargetSessionManager.ts","src/modules/browser/CDPErrorMapper.ts","src/modules/browser/CDPSessionLike.ts","src/modules/browser/CamoufoxBrowserManager.ts","src/modules/browser/HookHeartbeat.ts","src/modules/browser/TabRegistry.ts","src/modules/browser/UnifiedBrowserManager.ts","src/modules/browser/flat-target-session.ts","src/modules/browser/index.ts","src/modules/browser/navigation-wait-until.ts","src/modules/captcha/AICaptchaDetector.ts","src/modules/captcha/CaptchaDetector.constants.ts","src/modules/captcha/CaptchaDetector.ts","src/modules/captcha/CaptchaPolicy.ts","src/modules/captcha/rules/assessment-rules.ts","src/modules/captcha/rules/captcha-keywords.ts","src/modules/captcha/rules/dom-rules.ts","src/modules/captcha/rules/exclude-keywords.ts","src/modules/captcha/rules/fallback-keywords.ts","src/modules/captcha/rules/index.ts","src/modules/captcha/rules/selectors.ts","src/modules/captcha/rules/shared.ts","src/modules/captcha/types.ts","src/modules/collector/BrowserLifecycleManager.ts","src/modules/collector/CodeCache.ts","src/modules/collector/CodeCollector.ts","src/modules/collector/CodeCollectorCollectInternal.ts","src/modules/collector/CodeCollectorConnectionInternal.ts","src/modules/collector/CodeCollectorFileQueryInternal.ts","src/modules/collector/CodeCollectorLaunchOptions.ts","src/modules/collector/CodeCollectorUtilsInternal.ts","src/modules/collector/CodeCompressor.ts","src/modules/collector/DOMInspector.evaluations.ts","src/modules/collector/DOMInspector.ts","src/modules/collector/PageCDPTimeoutGuard.ts","src/modules/collector/PageController.ts","src/modules/collector/PageScriptCollectors.ts","src/modules/collector/SmartCodeCollector.ts","src/modules/collector/StreamingCollector.ts","src/modules/collector/collector-utils.ts","src/modules/collector/playwright-cdp-fallback.ts","src/modules/crypto/CryptoDetector.ts","src/modules/crypto/CryptoRules.ts","src/modules/dart-inspector/ObfuscationMapLocator.ts","src/modules/dart-inspector/ObjectPoolDumper.ts","src/modules/dart-inspector/PackageDetector.ts","src/modules/dart-inspector/SmiScanner.ts","src/modules/dart-inspector/SnapshotFingerprint.ts","src/modules/dart-inspector/StringsExtractor.ts","src/modules/dart-inspector/Symbolizer.ts","src/modules/dart-inspector/classifiers.ts","src/modules/dart-inspector/cluster-grammar.ts","src/modules/dart-inspector/flutter-stdlib-packages.ts","src/modules/dart-inspector/index.ts","src/modules/dart-inspector/pool-filter.ts","src/modules/dart-inspector/pool-types.ts","src/modules/dart-inspector/snapshot-types.ts","src/modules/dart-inspector/snapshot-version-table.ts","src/modules/dart-inspector/types.packages.ts","src/modules/dart-inspector/types.ts","src/modules/debugger/BlackboxManager.ts","src/modules/debugger/DebuggerManager.impl.core.breakpoints.ts","src/modules/debugger/DebuggerManager.impl.core.class.ts","src/modules/debugger/DebuggerManager.impl.core.events.ts","src/modules/debugger/DebuggerManager.impl.core.execution.ts","src/modules/debugger/DebuggerManager.impl.core.scope.ts","src/modules/debugger/DebuggerManager.impl.core.ts","src/modules/debugger/DebuggerManager.impl.ts","src/modules/debugger/DebuggerManager.ts","src/modules/debugger/DebuggerSessionManager.ts","src/modules/debugger/EventBreakpointManager.ts","src/modules/debugger/RuntimeInspector.ts","src/modules/debugger/ScriptManager.impl.class.ts","src/modules/debugger/ScriptManager.impl.extract-function-tree.ts","src/modules/debugger/ScriptManager.impl.ts","src/modules/debugger/ScriptManager.ts","src/modules/debugger/WatchExpressionManager.ts","src/modules/debugger/XHRBreakpointManager.ts","src/modules/deobfuscator/ASTOptimizer.ts","src/modules/deobfuscator/AdvancedDeobfuscator.ast.ts","src/modules/deobfuscator/AdvancedDeobfuscator.ts","src/modules/deobfuscator/Deobfuscator.ts","src/modules/deobfuscator/Deobfuscator.utils.ts","src/modules/deobfuscator/JSVMPDeobfuscator.restore.ts","src/modules/deobfuscator/JSVMPDeobfuscator.ts","src/modules/deobfuscator/JScramblerDeobfuscator.ts","src/modules/deobfuscator/LLMDeobfuscator.ts","src/modules/deobfuscator/PackerDeobfuscator.ts","src/modules/deobfuscator/VMDeobfuscator.ts","src/modules/deobfuscator/webcrack.ts"],"storefront":"/r/vmoranv","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/vmoranv/jshookmcp/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}