MCPcopy
hub / github.com/j4k0xb/webcrack

github.com/j4k0xb/webcrack @v2.16.0 sqlite

repository ↗ · DeepWiki ↗ · release v2.16.0 ↗
556 symbols 1,518 edges 208 files 15 documented · 3%
README

Test npm license Netlify Status

webcrack

webcrack is a tool for reverse engineering javascript. It can deobfuscate obfuscator.io, unminify, transpile, and unpack webpack/browserify, to resemble the original source code as much as possible.

Try it in the online playground or view the documentation.

  • 🚀 Performance - Various optimizations to make it fast
  • 🛡️ Safety - Considers variable references and scope
  • 🔬 Auto-detection - Finds code patterns without needing a config
  • ✍🏻 Readability - Removes obfuscator/bundler artifacts
  • ⌨️ TypeScript - All code is written in TypeScript
  • 🧪 Tests - To make sure nothing breaks

Requirements

Node.js 22 or 24.

Command Line Interface

npm install -g webcrack

Examples:

webcrack input.js
webcrack input.js > output.js
webcrack bundle.js -o output-dir

CLI Reference

API

npm install webcrack

Examples:

import fs from 'fs';
import { webcrack } from 'webcrack';

const input = fs.readFileSync('bundle.js', 'utf8');

const result = await webcrack(input);
console.log(result.code);
console.log(result.bundle);
await result.save('output-dir');

API Reference

Extension points exported contracts — how you extend this code

WebcrackResult (Interface)
(no doc) [1 implementers]
packages/webcrack/src/index.ts
Workspace (Interface)
(no doc)
apps/playground/src/indexeddb.ts
PluginObject (Interface)
(no doc)
packages/webcrack/src/plugin.ts
SavedModel (Interface)
(no doc)
apps/playground/src/indexeddb.ts
PluginAPI (Interface)
(no doc)
packages/webcrack/src/plugin.ts
MyDB (Interface)
(no doc)
apps/playground/src/indexeddb.ts
Options (Interface)
(no doc)
packages/webcrack/src/index.ts
DeobfuscateResult (Interface)
(no doc)
apps/playground/src/webcrack.worker.ts

Core symbols most depended-on inside this repo

testTransform
called by 39
packages/webcrack/test/index.ts
constMemberExpression
called by 35
packages/webcrack/src/ast-utils/matcher.ts
_0x4c3e
called by 31
packages/webcrack/src/deobfuscate/test/samples/obfuscator.io-high.js
_0x4fb82b
called by 31
packages/webcrack/src/deobfuscate/test/samples/obfuscator.io-high.js
b
called by 28
packages/webcrack/src/deobfuscate/test/samples/obfuscator.io-control-flow.js
_0x14a9e7
called by 28
packages/webcrack/src/deobfuscate/test/samples/obfuscator.io-high.js
_0x3e1e48
called by 27
packages/webcrack/src/deobfuscate/test/samples/obfuscator.io-high.js
_0x3a233e
called by 24
packages/webcrack/src/deobfuscate/test/samples/obfuscator.io-high.js

Shape

Function 478
Interface 28
Method 28
Class 22

Languages

TypeScript100%

Modules by API surface

packages/webcrack/src/deobfuscate/test/samples/obfuscator.io-high.js165 symbols
packages/webcrack/src/ast-utils/matcher.ts17 symbols
apps/playground/src/indexeddb.ts9 symbols
apps/playground/src/App.tsx9 symbols
packages/webcrack/src/deobfuscate/test/samples/obfuscator.io-function-wrapper.js8 symbols
packages/webcrack/src/ast-utils/transform.ts8 symbols
packages/webcrack/src/ast-utils/inline.ts8 symbols
apps/playground/src/monaco/placeholder-widget.ts8 symbols
packages/webcrack/src/unpack/bundle.ts7 symbols
packages/webcrack/src/deobfuscate/test/samples/obfuscator.io-multi-encoders.js7 symbols
apps/playground/src/context/DeobfuscateContext.tsx7 symbols
packages/webcrack/src/transforms/jsx-new.ts6 symbols

Dependencies from manifests, versioned

@babel/generator7.29.1 · 1×
@babel/helper-validator-identifier7.28.5 · 1×
@babel/parser7.29.2 · 1×
@babel/template7.28.6 · 1×
@babel/traverse7.29.0 · 1×
@babel/types7.29.0 · 1×
@codemod/matchers1.7.1 · 1×
@eslint/js10.0.1 · 1×
@tailwindcss/vite4.2.4 · 1×
@types/babel__generator7.27.0 · 1×
@types/babel__helper-validator-identifier7.15.2 · 1×

For agents

$ claude mcp add webcrack \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact