Webcrack
Deobfuscate obfuscator.io, unminify and unpack bundled javascript
webcrack is a tool for reverse engineering javascript. It can deobfuscate [obfuscator.io](https://github.com/javascript-obfuscator/javascript-obfuscator), unminify, transpile, and unpack [webpack](https://webpack.js.org/)/[browserify](https://browserify.org/), to resemble the original source code as much as possible. The project is written primarily in TypeScript, distributed under the MIT License license, first published in 2023. It has gained significant community traction with 2,751 stars and 315 forks on GitHub. Key topics include: ast, browserify, bundle, debundle, deobfuscation.
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.
<!-- TODO: add 26 on release -->[!NOTE]
webcrack depends onisolated-vm, which does not recommend using odd-numbered Node.js releases because they frequently break ABI/API compatibility with V8.
Command Line Interface
bashnpm install -g webcrack@latest
Examples:
bashwebcrack input.js webcrack input.js > output.js webcrack bundle.js -o output-dir
API
bashnpm install webcrack@latest
Examples:
jsimport 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');
Donations
If this project has helped you, consider donating to support its development:
- GitHub Sponsors
- Ethereum:
0xb3eFD474Dd8aFA715F563EfA322F6ae9Ae9DfCeA - Bitcoin:
bc1qc3u7ef2rue75f6t8x290r0qk0u84f0ln8ndjun - Solana:
6w9SFAYBxCKdtuj8DEAV9YT5zP68g4PyEkb21AmdxcBq - Monero:
87iYegrerGf1DUsTvUnbsv8gjTMJmzS3idRxHWkCy4iz1Xz5CUnDXy3VkTToSg32LUW3cwNrgLKd1TXRJqJY7MnvVR9yidm
Contributors
Showing top 12 contributors by commit count.
