Loading...
Loading...
AI-powered JavaScript reverse engineering tool. Senior JavaScript reverse engineering expert assistant. Actions: collect, search, deobfuscate, understand, summarize, detect-crypto, browser, debugger, breakpoint, debug-step, debug-eval, debug-vars, script, hook, stealth, dom, page. Capabilities: obfuscated code analysis, VM cracking, Webpack unpacking, AST transformation, Puppeteer/CDP automation, anti-detection, fingerprint spoofing, encryption identification, parameter extraction, algorithm restoration, Canvas/WebGL fingerprinting, WebDriver hiding, CDP debugging, breakpoint analysis, dynamic tracing, Hook injection, DOM inspection, page control.
npx skill4agent add wuji66dde/jshook-skill jshook-reversenode dist/skill.js <command> [args]| Tool | Description | Features |
|---|---|---|
| collect_code | Intelligent code collection | Automatically collects page inline scripts, external scripts, dynamically loaded scripts, intelligent summary mode (prevents Token overflow), priority mode (keyword priority), incremental mode (on-demand acquisition) |
| search_in_scripts | Keyword search | Regular expression search, context line count control, maximum match limit, highlighted matching results |
| Tool | Description | Features |
|---|---|---|
| deobfuscate | AI-powered code deobfuscation | Supports 20+ obfuscation types, variable name restoration, control flow flattening restoration, string decryption, dead code elimination |
| understand | AI-assisted code semantic understanding | Business logic analysis, encryption algorithm identification, API call analysis, data flow tracing |
| summarize | AI-generated code summary | Single-file AI summary generation, batch file concurrent summary, project-level summary analysis, encryption/API/obfuscation feature detection, security risk assessment, complexity assessment and suggestions |
| detect_crypto | Detect and analyze encryption algorithms | Standard algorithm identification (AES/RSA/MD5/SHA), custom algorithm detection, parameter extraction, key location |
| Tool | Description | Features |
|---|---|---|
| browser_launch | Launch browser | Automatically detects Chrome/Edge, supports any drive letter (C-Z), multi-browser selection, CDP remote debugging connection, anti-detection script injection |
| browser_status | Get browser status | Connection status, current page information, CDP session status |
| browser_close | Close browser | Gracefully disconnect, clean up CDP sessions, process management |
| Tool | Description | Features |
|---|---|---|
| debugger_control | Debugger control and status management | Enable/disable debugger, get debugger status, initialize advanced features, Watch expression management, XHR breakpoint management, event breakpoint management |
| breakpoint_manager | Breakpoint management | Set breakpoints by URL, set breakpoints by script ID, support conditional breakpoints, view breakpoint list, delete and clear breakpoints |
| execution_control | Execution control | Pause execution, resume execution, Step Into, Step Over, Step Out |
| runtime_evaluator | Runtime expression evaluation | Evaluate expressions in the current context, access global variables, access local variables, execute arbitrary JavaScript code |
| variable_inspector | Variable viewing and scope analysis | View current scope variables, view call frame variables, expand object properties, variable type identification |
| script_manager | Script management and source code acquisition | List all loaded scripts, get script source code, find scripts by URL pattern, search script content, support inline and external scripts |
| Tool | Description | Features |
|---|---|---|
| stealth_inject | Inject anti-detection scripts | 5 platform presets, Chrome 131+ UA string, hide navigator.webdriver, simulate window.chrome object, Canvas/WebGL/AudioContext fingerprint noise, navigator property consistency, Permissions/Battery/MediaDevices/Notifications/NetworkInformation API simulation, document.hasFocus() override, 16 independent controllable features |
| stealth_presets | Platform preset management | windows-chrome (Win10+Chrome131), mac-chrome (macOS+Chrome131), mac-safari (macOS+Safari18.2), linux-chrome (Linux+Chrome131), windows-edge (Win10+Edge131) |
| Tool | Description | Features |
|---|---|---|
| stats | Get statistical information | Cache statistics (number of files, size, hit rate), compression statistics (compression rate, space saved), collection statistics (number of URLs, number of files) |
| clear | Clear all data | Clear file cache, clear compression cache, reset collection status |
# 收集代码
collect <url>
collect <url> --smart-mode=summary
collect <url> --smart-mode=priority --priorities=encrypt,sign
collect <url> --compress --max-total-size=5000000
# 搜索脚本
search <keyword>
search "X-Bogus" --context=10
search "function.*encrypt" --regex --max-matches=50# AI反混淆
deobfuscate <code>
# 代码理解
understand <code>
understand <code> --focus=security
# AI摘要
summarize code <code>
summarize collected
summarize collected --batch
# 加密检测
detect-crypto <code>browser launch # 自动检测并启动
browser status # 查看状态
browser close # 关闭浏览器# 调试器控制
debugger enable
debugger disable
debugger status
debugger init-advanced # 初始化Watch/XHR/Event/Blackbox
# 断点管理
breakpoint set-url https://example.com/app.js 100
breakpoint set-url https://example.com/app.js 100 0 'x > 10' # 条件断点
breakpoint set-script <scriptId> <line>
breakpoint list
breakpoint remove <id>
breakpoint clear
# 执行控制
debug-step pause
debug-step resume
debug-step into # 单步进入
debug-step over # 单步跳过
debug-step out # 单步跳出
# 表达式求值
debug-eval window.location.href
debug-eval document.cookie
debug-eval JSON.stringify(userData)
# 变量查看
debug-vars
debug-vars <callFrameId>script list # 列出所有已加载脚本
script get <scriptId> # 获取脚本源码
script find *app.js # 按URL模式查找
script search encrypt # 搜索脚本内容# 快速生成
hook generate function encryptData
hook generate fetch */api/*
hook generate xhr *sign*
hook generate property window.navigator
hook generate cookie
hook generate websocket
hook generate eval
hook generate timer
# 管理
hook list
hook remove <id>
hook enable <id>
hook disable <id>
hook clear
hook anti-debug # 反调试绕过
hook export json
hook-data # 查看捕获数据
hook-data <hookId>
hook-types # 列出Hook类型watch add "window.location.href" "当前URL"
watch add "userData.token"
watch list
watch evaluate # 求值所有监视表达式
watch remove <id>
watch export
watch import <json>
watch clearxhr-breakpoint set */api/*
xhr-breakpoint set *sign*
xhr-breakpoint list
xhr-breakpoint remove <id>
xhr-breakpoint clearevent-breakpoint set click
event-breakpoint set-mouse # 所有鼠标事件
event-breakpoint set-keyboard # 所有键盘事件
event-breakpoint set-timer # 定时器事件
event-breakpoint set-websocket # WebSocket事件
event-breakpoint list
event-breakpoint remove <id>
event-breakpoint clearblackbox set *jquery*.js
blackbox set *node_modules/*
blackbox set-common # 黑盒化常用库
blackbox list
blackbox remove <pattern>
blackbox clearstealth inject # 默认注入
stealth inject-preset windows-chrome # 平台预设
stealth inject-preset mac-safari
stealth inject-preset mac-chrome
stealth inject-preset linux-chrome
stealth inject-preset windows-edge
stealth set-ua windows # 设置User-Agent
stealth presets # 列出预设
stealth status # 注入状态
stealth features # 列出所有功能| Feature | Description |
|---|---|
| hideWebdriver | Hide |
| mockChrome | Simulate |
| canvasNoise | Canvas session-level random seed fingerprint noise |
| webglVendor | Override WebGL vendor and renderer |
| audioNoise | AudioContext fingerprint noise |
| navigatorProps | Consistent platform/vendor/core count/memory |
| permissionsAPI | Fix Permissions API detection |
| batteryAPI | Simulate Battery API |
| mediaDevices | Simulate media devices |
| notifications | Simulate Notifications API |
| networkInfo | Simulate Network Information API |
| hasFocus | Override |
dom query #login-button
dom query-all .product-item 20
dom structure 3 true # 深度3,包含文本
dom clickable 登录 # 按文本查找可点击元素
dom style #header
dom wait .loading-spinner 5000 # 等待元素出现page navigate https://example.com
page reload
page back
page forward
page click #submit-button
page type #username admin
page select #country US
page hover .menu-item
page scroll 0 500
page wait-selector .result
page wait-nav
page eval document.title
page url
page title
page content
page screenshot output.png
page metricsstats # 收集和缓存统计
stats --type=cache
clear # 清除所有数据1. Launch browser and collect
browser launch
collect https://target.com
2. Quick reconnaissance
search "encrypt"
search "sign"
search "token"
detect-crypto <suspicious_code>
3. Locate target function
script list
script find *app*.js
script search "X-Bogus"
4. Dynamic analysis
debugger enable
breakpoint set-url https://target.com/app.js 1234
xhr-breakpoint set */api/sign*
debug-step pause → into → over
debug-vars
debug-eval <expression>
5. Hook monitoring
hook generate function encryptData
hook generate fetch */api/*
hook-data
6. Deobfuscation and understanding
deobfuscate <obfuscated_code>
understand <clean_code> --focus=security
7. Reproduce logic
Reproduce encryption/signature logic based on analysis results.env| Variable | Description |
|---|---|
| OpenAI API key (optional) |
| Anthropic API key (optional) |
| Default LLM provider (openai/anthropic) |
| Remote debugging port (default 9222) |