Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/j4k0xb/webcrack

Deobfuscate obfuscator.io, unminify and unpack bundled javascript
https://github.com/j4k0xb/webcrack

ast browserify bundle debundle deobfuscation deobfuscator extract javascript javascript-obfuscator reverse-engineering unminify unpack webpack

Last synced: 3 months ago
JSON representation

Deobfuscate obfuscator.io, unminify and unpack bundled javascript

Awesome Lists containing this project

README

        

[![Test](https://github.com/j4k0xb/webcrack/actions/workflows/ci.yml/badge.svg)](https://github.com/j4k0xb/webcrack/actions/workflows/test.yml)
[![npm](https://img.shields.io/npm/v/webcrack)](https://www.npmjs.com/package/webcrack)
[![license](https://img.shields.io/github/license/j4k0xb/webcrack)](https://github.com/j4k0xb/webcrack/blob/master/LICENSE)
[![Netlify Status](https://api.netlify.com/api/v1/badges/ba64bf80-7053-4ed8-a282-d3762742c0dd/deploy-status)](https://app.netlify.com/sites/webcrack/deploys)



webcrack

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.

Try it in the [online playground](https://webcrack.netlify.app/) or view the [documentation](https://webcrack.netlify.app/docs).

- ๐Ÿš€ **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

## Command Line Interface

```bash
npm install -g webcrack
```

Examples:

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

## API

```bash
npm install webcrack
```

Examples:

```js
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');
```