
Декодирование всех баз - Декодер базовых схем
BaseCrack — это инструмент, написанный на Python, который может декодировать все буквенно-цифровые схемы кодирования Base. Этот инструмент может принимать одиночный пользовательский ввод, несколько вводов из файла, ввод из аргумента, многократно закодированные base-строки, base-строки в EXIF-данных изображений, base-строки на изображениях с помощью OCR и декодировать их невероятно быстро.
Для базовой демонстрации попробуйте Веб-интерфейс, который использует API BaseCrack.
$ git clone https://github.com/mufeedvh/basecrack.git
$ cd basecrack
$ pip3 install -r requirements.txt
$ python3 basecrack.py -h
ПРИМЕЧАНИЕ: Рекомендуется использовать Python3!
Linux:
$ sudo apt-get update
$ sudo apt-get install tesseract-ocr libtesseract-dev
MacOS:
$ brew install tesseract
Windows:
Обнаружение OCR реализовано с помощью Tesseract, и для Windows требуется установка исполняемого файла Tesseract. Установка зависимостей из requirements.txt, включая pytesseract, должна установить его. Если этого не произошло, вот как это можно настроить:
Program Files/Program Files (x86) в папке Tesseract-OCR.config.json, и всё готово! Если его нет, установите его отсюда и укажите путь в config.json.Документация Tesseract: https://tesseract-ocr.github.io/
ПРИМЕЧАНИЕ: Я не полностью тестировал этот инструмент на Windows, поэтому, если у вас возникнут какие-либо проблемы, пожалуйста, откройте issue.
Получить список всех аргументов:
python3 basecrack.py -h
Для декодирования одной base-строки из пользовательского ввода:
python3 basecrack.py
Для декодирования одной base-строки из аргумента (-b/--base):
python3 basecrack.py -b SGVsbG8gV29ybGQh
Для декодирования нескольких base-строк из файла (-f/--file):
python3 basecrack.py -f file.txt
Волшебный режим: Для декодирования многократно закодированной base-строки любого шаблона (-m/--magic):
python3 basecrack.py --magic
Для ввода изображения для режима обнаружения EXIF/OCR (-i/--image):
python3 basecrack.py -i image.jpg (--exif/--ocr)
EXIF-данные: Для декодирования base-строк в EXIF-данных изображения (-e/--exif):
python basecrack.py -i image.jpg --exif
OCR-обнаружение Base: Для декодирования base-строк на изображении с помощью OCR (-c/--ocr):
python basecrack.py -i image.jpg --ocr
Для генерации wordlist/вывода с декодированными base-строками (-o/--output):
python basecrack.py -f file.txt -o output-wordlist.txt
Теперь вы можете декодировать многократно закодированные base-строки любого шаблона за один раз.
Когда-нибудь сталкивались с тем скучным CTF-заданием, в котором вам дают закодированную строку, которая просто снова и снова кодируется с помощью Base64, Base91, Base85 и так далее? Просто передайте её BaseCrack, и всё готово! ;)
Хотите проверить? Просто введите этот ввод:
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
и убедитесь сами! :)
BaseCrack теперь можно использовать как библиотеку! Просто импортируйте класс BaseCrack() и вызовите функцию decode().
Смотрите API.
Хотите использовать BaseCrack как библиотеку? Мы вас прикрыли! Просто поместите basecrack в каталог вашего проекта и всё готово!
Пример:
# import the BaseCrack class from basecrack.py
from basecrack import BaseCrack
# calling the api function decode() with the encoded base
result = BaseCrack().decode('c3BhZ2hldHRp')
# printing the output
"""
result is tuple where:
result[0] = DECODED STRING
result[1] = ENCODING SCHEME
"""
print('Decoded String: {}'.format(result[0]))
print('Encoding Scheme: {}'.format(result[1]))
Вывод:
Decoded String: spaghetti
Encoding Scheme: Base64
Способы внести вклад:
Прежде чем открывать PR, убедитесь, что всё в порядке, запустив тесты:
Unit-тесты: (Спасибо @FavasM)
python3 -m unittest discover -v -s tests
Лицензировано по MIT License, смотрите LICENSE для получения дополнительной информации.