entroplot 0.1.0

A Rust tool for visualizing entropy in files
Documentation
# Entroplot

![Rust](https://img.shields.io/badge/language-Rust-orange)
![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)

> **`entroplot` is a Rust-based command-line tool for analyzing and visualizing file entropy.**  
> It helps reverse engineers, security researchers, and developers uncover patterns, randomness, or structure in binary data.

## โœจ Features

- ๐Ÿ“‚ Analyze the entropy of any file
- ๐Ÿ“ˆ Generate entropy plots to visualize randomness and structure
- ๐Ÿ› ๏ธ Simple CLI interface

## ๐Ÿš€ Installation

Clone the repository and build with Cargo:

```bash
git clone https://github.com/Piyush-Bhor/entroplot.git
cd entroplot
cargo build --release
```

The compiled binary will be available at `target/release/entroplot`.

## ๐Ÿ–ฅ๏ธ Usage

Basic usage:

```bash
entroplot <file>
```

Example:

```bash
entroplot ./samples/malware.bin
```

This generates a plot (`entropy_chart.png` by default) showing the entropy distribution of the file.

### Output file customization

```bash
entroplot ./samples/malware.bin --output-file /path/to/output.png
# or shorthand
entroplot ./samples/malware.bin -o /path/to/output.png
```

### Help

```bash
entroplot --help
```

```
Generate entropy plots

Usage: entroplot [OPTIONS] <INPUT_FILE>

Arguments:
  <INPUT_FILE>  The path to the input file whose entropy will be calculated

Options:
  -o, --output-file <OUTPUT_FILE>  Path to save the entropy chart [default: entropy_chart.png]
  -h, --help                       Print help
  -V, --version                    Print version
```

## ๐Ÿ“Š Example Output

![Entropy Plot](./assets/entropy_chart.png)

## ๐Ÿงช Development

Run tests with:

```bash
cargo test
```

## ๐Ÿ›ฃ๏ธ Roadmap

- [ ] Add interactive entropy visualization
- [ ] Support additional file formats
- [ ] Export results to JSON/CSV
- [ ] Include more statistical measures beyond Shannon entropy

## ๐Ÿค Contributing

Contributions, bug reports, and feature requests are welcome!
Please open an [issue](https://github.com/Piyush-Bhor/entroplot/issues) or submit a pull request.

## ๐Ÿ“œ License

This project is licensed under the **GNU GPL v3**.
See the [LICENSE](./LICENSE) file for details.

---

**Made with โค๏ธ by [Piyush Bhor](https://github.com/Piyush-Bhor)**