{"id":13843158,"url":"https://github.com/mufeedvh/basecrack","last_synced_at":"2025-04-05T00:10:22.615Z","repository":{"id":41092512,"uuid":"193366278","full_name":"mufeedvh/basecrack","owner":"mufeedvh","description":"Decode All Bases - Base Scheme Decoder","archived":false,"fork":false,"pushed_at":"2023-06-21T08:52:13.000Z","size":3653,"stargazers_count":494,"open_issues_count":5,"forks_count":88,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-04-14T09:04:36.777Z","etag":null,"topics":["base","base16","base32","base58","base64","bugbounty","capture-the-flag","cryptography","cryptography-project","cryptography-tools","ctf","ctf-tools","decode","decode-strings","decoder","decoders","encoder-decoder","infosec","python","tool"],"latest_commit_sha":null,"homepage":"https://basecrack.herokuapp.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mufeedvh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-06-23T15:43:24.000Z","updated_at":"2024-04-14T01:20:22.000Z","dependencies_parsed_at":"2023-09-24T01:31:15.053Z","dependency_job_id":null,"html_url":"https://github.com/mufeedvh/basecrack","commit_stats":{"total_commits":124,"total_committers":6,"mean_commits":"20.666666666666668","dds":0.08064516129032262,"last_synced_commit":"848a5af057621062c685ce20a2a0e38ec8f33722"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mufeedvh%2Fbasecrack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mufeedvh%2Fbasecrack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mufeedvh%2Fbasecrack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mufeedvh%2Fbasecrack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mufeedvh","download_url":"https://codeload.github.com/mufeedvh/basecrack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247266565,"owners_count":20910836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["base","base16","base32","base58","base64","bugbounty","capture-the-flag","cryptography","cryptography-project","cryptography-tools","ctf","ctf-tools","decode","decode-strings","decoder","decoders","encoder-decoder","infosec","python","tool"],"created_at":"2024-08-04T17:01:56.366Z","updated_at":"2025-04-05T00:10:22.597Z","avatar_url":"https://github.com/mufeedvh.png","language":"Python","readme":"\u003ch1 align=\"center\"\u003eBaseCrack\u003c/h1\u003e\n\u003ch4 align=\"center\"\u003eDecoder For Base Encoding Schemes\u003c/h4\u003e\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://img.shields.io/badge/version-4.0-blue.svg\" title=\"version\" alt=\"version\"\u003e\n\t\u003ca href=\"https://github.com/mufeedvh/basecrack/blob/master/LICENSE\"\u003e\u003cimg alt=\"GitHub license\" src=\"https://img.shields.io/github/license/mufeedvh/basecrack.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n**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.\n\nFor a basic demo, try the [Web Interface](https://basecrack.herokuapp.com/) that uses BaseCrack's [API](#api).\n\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cstrong\u003eFun Fact!\u003c/strong\u003e\u003c/summary\u003e\n  \t\u003cbr\u003e\n  \tI 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 so I automated that too smh!\n\u003c/details\u003e\n\n## Table of Contents\n- [Features](#features)\n- [Supported Encoding Schemes](#supported-encoding-schemes)\n- [Installation](#installation)\n- [Usage](#usage)\n- [API](#api)\n- [Contribution](#contribution)\n- [License](#license)\n\n## Features\n\n- Decode multi-encoded bases of any pattern.\n- Decode bases in image EXIF data.\n- Decode bases on images with OCR detection.\n- Can decode multiple base encodings from a file.\n- Generate a wordlist/output with the decoded bases.\n- Predicts the type of encoding scheme.\n\n## Supported Encoding Schemes\n- Base16\n- Base32\n- Base36\n- Base58\n- Base62\n- Base64\n- Base64Url\n- Base85\n- Ascii85\n- Base91\n- Base92\n- [Base100](https://github.com/AdamNiederer/base100) ([#14](https://github.com/mufeedvh/basecrack/issues/14))\n\n## Installation\n\n    $ git clone https://github.com/mufeedvh/basecrack.git\n    $ cd basecrack\n    $ pip3 install -r requirements.txt\n    $ python3 basecrack.py -h\n\n**NOTE:** Python3 is recommended to use!\n\n**Linux:**\n\n    $ sudo apt-get update\n    $ sudo apt-get install tesseract-ocr libtesseract-dev\n\n**MacOS:**\n\n    $ brew install tesseract\n\n**Windows:**\n\nOCR Detection is implemented with [Tesseract](https://github.com/tesseract-ocr/tesseract) and Windows requires installation of the Tesseract executable. Installing the dependencies from `requirements.txt` which includes `pytesseract` should install it. If in case it doesn't, here's how you can set it up:\n\n1. First check whether you have it installed or not in the `Program Files`/`Program Files (x86)` under the `Tesseract-OCR` directory.\n2. If there is, give that path in the `config.json` and you're all set! If you don't have it, install it from [here](https://github.com/UB-Mannheim/tesseract/wiki) and set the path in `config.json`.\n\n**Tesseract Docs:** https://tesseract-ocr.github.io/\n\n**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).\n\n## Usage\n\nGet a list of all the arguments:\n\n    python3 basecrack.py -h\n\nTo decode a single base encoding from user input:\n\n    python3 basecrack.py\n\nTo decode a single base encoding from argument **(-b/--base)**:\n\n    python3 basecrack.py -b SGVsbG8gV29ybGQh\n\nTo decode multiple base encodings from a file **(-f/--file)**:\n\n    python3 basecrack.py -f file.txt\n\n**Magic Mode:** To decode multi-encoded base of any pattern **(-m/--magic)**:\n\n    python3 basecrack.py --magic\n\nTo input an image for **EXIF/OCR** detection mode **(-i/--image)**:\n\n    python3 basecrack.py -i image.jpg (--exif/--ocr)\n\n**EXIF Data:** To decode bases in image EXIF data **(-e/--exif)**:\n\n    python basecrack.py -i image.jpg --exif\n\n**OCR Base Detection:** To decode bases on image with OCR detection **(-c/--ocr)**:\n\n    python basecrack.py -i image.jpg --ocr\n\nTo generate a wordlist/output with the decoded bases **(-o/--output)**:\n\n    python basecrack.py -f file.txt -o output-wordlist.txt\n    \n## Magic Mode\n\nNow you can **decode multi-encoded bases** of any pattern in a single shot.\n\nHave 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! ;)\n\nWant to test it out? Just give it this input:\n\n```\nIX(Fp@nNG6ef\u003c,*TFE]IT^zdINAb9EVbp,e\u003cu=O6nN)/u+MTnU;Fo#VvQ\u0026cK;mLZI#Jbdook\u003cO{W#+gY%ooe#6pTkTa.9YPU8Uc=pl9BhSM9%kISw2k:8..u/6F2BwNndPZ2o#7NHNP3g,HlZu\u003e\u003c*[Nv+T8\n```\n\nand see for yourself! :)\n\n### BaseCrack API\n\nBaseCrack can now be used as a library! Just import the `BaseCrack()` class and call the `decode()` function.\n\nSee [**API**](https://github.com/mufeedvh/basecrack#api).\n\n## API\n\nWant to use BaseCrack as a library? We got you covered!\n\nJust put `basecrack` in your project's directory and you're ready to go!\n\n**Example:**\n\n```python\n# import the BaseCrack class from basecrack.py\nfrom basecrack import BaseCrack\n\n# calling the api function decode() with the encoded base\nresult = BaseCrack().decode('c3BhZ2hldHRp')\n\n# printing the output\n\"\"\"\nresult is tuple where:\nresult[0] = DECODED STRING\nresult[1] = ENCODING SCHEME\n\"\"\"\nprint('Decoded String: {}'.format(result[0]))\nprint('Encoding Scheme: {}'.format(result[1]))\n```\n\n**Output:**\n\n```\nDecoded String: spaghetti\nEncoding Scheme: Base64\n```\n\n## Contribution\n\nWays to contribute\n- Suggest a feature\n- Report a bug\n- Fix something and open a pull request\n- Help me document the code\n- Spread the word\n\nBefore you open a PR, make sure everything's good by running the tests:\n\n**Unit Tests:** (Thanks [@FavasM](https://github.com/mufeedvh/basecrack/pull/8))\n\n    python3 -m unittest discover -v -s tests\n\n## License\nLicensed under the MIT License, see \u003ca href=\"https://github.com/mufeedvh/basecrack/blob/master/LICENSE\"\u003eLICENSE\u003c/a\u003e for more information.\n","funding_links":[],"categories":["Python","Python (1887)"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmufeedvh%2Fbasecrack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmufeedvh%2Fbasecrack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmufeedvh%2Fbasecrack/lists"}