
Decodifica tutte le basi - Decodificatore di schemi base
BaseCrack è uno strumento scritto in Python in grado di decodificare tutti gli schemi di codifica base alfanumerici. Questo strumento può accettare un singolo input utente, input multipli da un file, input da argomento, basi multi-codificate, basi nei dati EXIF delle immagini, basi su immagini con OCR e decodificarli incredibilmente velocemente.
Per una demo di base, prova la Interfaccia Web che utilizza l'API di BaseCrack.
$ git clone https://github.com/mufeedvh/basecrack.git
$ cd basecrack
$ pip3 install -r requirements.txt
$ python3 basecrack.py -h
NOTA: Si consiglia l'uso di Python3!
Linux:
$ sudo apt-get update
$ sudo apt-get install tesseract-ocr libtesseract-dev
MacOS:
$ brew install tesseract
Windows:
Il rilevamento OCR è implementato con Tesseract e Windows richiede l'installazione dell'eseguibile di Tesseract. Installando le dipendenze da requirements.txt che include pytesseract dovrebbe installarlo. Se per caso non lo fa, ecco come puoi configurarlo:
Program Files/Program Files (x86) sotto la cartella Tesseract-OCR.config.json e sei a posto! Se non lo hai, installalo da qui e imposta il percorso in config.json.Documentazione Tesseract: https://tesseract-ocr.github.io/
NOTA: Non ho testato completamente questo strumento su Windows, quindi se incontri problemi, per favore apri un problema.
Ottieni un elenco di tutti gli argomenti:
python3 basecrack.py -h
Per decodificare una singola codifica base da input utente:
python3 basecrack.py
Per decodificare una singola codifica base da argomento (-b/--base):
python3 basecrack.py -b SGVsbG8gV29ybGQh
Per decodificare multiple codifiche base da un file (-f/--file):
python3 basecrack.py -f file.txt
Magic Mode: Per decodificare una base multi-codificata di qualsiasi pattern (-m/--magic):
python3 basecrack.py --magic
Per inserire un'immagine per la modalità di rilevamento EXIF/OCR (-i/--image):
python3 basecrack.py -i image.jpg (--exif/--ocr)
Dati EXIF: Per decodificare basi nei dati EXIF dell'immagine (-e/--exif):
python basecrack.py -i image.jpg --exif
Rilevamento OCR di basi: Per decodificare basi su immagine con rilevamento OCR (-c/--ocr):
python basecrack.py -i image.jpg --ocr
Per generare una wordlist/output con le basi decodificate (-o/--output):
python basecrack.py -f file.txt -o output-wordlist.txt
Ora puoi decodificare basi multi-codificate di qualsiasi pattern in un colpo solo.
Hai mai incontrato quella noiosa sfida CTF che ti dà una stringa codificata che è semplicemente codificata più e più volte con Base64, Base91, Base85 e così via? Basta darla a BaseCrack e hai finito! ;)
Vuoi testarlo? Prova con questo 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
e vedi da solo! :)
BaseCrack può ora essere utilizzato come libreria! Basta importare la classe BaseCrack() e chiamare la funzione decode().
Vedi API.
Vuoi usare BaseCrack come libreria? Ci pensiamo noi!
Basta mettere basecrack nella directory del tuo progetto e sei pronto!
Esempio:
# 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]))
Output:
Decoded String: spaghetti
Encoding Scheme: Base64
Modi per contribuire
Prima di aprire una PR, assicurati che tutto funzioni eseguendo i test:
Test unitari: (Grazie @FavasM)
python3 -m unittest discover -v -s tests
Concesso in licenza secondo la Licenza MIT, vedere LICENSE per maggiori informazioni.