@bytehide/webpack-shield
Version:
Webpack plugin for ByteHide Shield obfuscation.
95 lines (63 loc) • 2.71 kB
Markdown
# Bytehide Shield
Bytehide Shield is a suite of tools designed to protect and obfuscate your JavaScript project code during the build process.
Our goal is to provide robust and easy-to-integrate solutions to enhance the security and performance of your applications.
## Introduction
Bytehide Shield improves the security of your applications through advanced code obfuscation, preventing reverse engineering and making tampering attempts more difficult. Each plugin is designed to integrate seamlessly with your development tools.
## Available Plugins
### Webpack
#### Installation
Install the Webpack plugin using npm or yarn:
```bash
npm install @bytehide/webpack-shield --save-dev
# or
yarn add --dev @bytehide/webpack-shield
```
#### Usage
Add the plugin to your Webpack configuration:
```javascript
const ByteHideShieldPlugin = require('@bytehide/webpack-shield');
module.exports = {
// ... previous configuration ...
plugins: [
new ByteHideShieldPlugin({
projectToken: 'your_project_token_here', // Replace with your Bytehide project token
replace: false, // Whether to replace original files
obfuscatedExtension: '.obf', // Extension for obfuscated files
exclude: [], // Array of files to exclude from obfuscation
config: {
controlFlowFlattening: true,
debugProtection: false,
devtoolsBlocking: false,
},
include: ['.js', '.mjs', '.cjs', '.jsx'], // File extensions to process
}),
],
};
```
#### Features
- **Advanced Obfuscation**: Implements obfuscation techniques to protect your code.
- **Custom Control**: Configure options like `controlFlowFlattening`, `debugProtection`, and `devtoolsBlocking`.
- **Compatibility**: Processes `.js`, `.mjs`, `.cjs`, and `.jsx` files.
#### Example Output
If you have an `index.js` file with this content:
```javascript
console.log("Hello, world!");
```
The processed result will include a unique marker and the obfuscated code:
```javascript
// _0xBHSHLD_<uniqueId>_marker
console.log(_0x123456("Hello, world!"));
```
#### Common Errors
- **Network Error**: Ensure you have an active internet connection as the plugin uses a remote service for code obfuscation.
- **Invalid Token**: Verify that the project token is valid.
## Contributing
Have ideas or suggestions? We’d love to hear from you! Open an issue or submit a pull request on the GitHub repository.
## License
Bytehide Shield is available under the [MIT License](LICENSE). Feel free to use it for personal and commercial projects.
Happy coding but keep it safe with `@bytehide/webpack-shield`! 🛡️