
모든 베이스 디코드 - Base Scheme Decoder
BaseCrack는 Python으로 작성된 도구로, 모든 영숫자 기반 인코딩 방식을 디코딩할 수 있습니다. 이 도구는 단일 사용자 입력, 파일의 여러 입력, 인수 입력, 다중 인코딩된 베이스, 이미지 EXIF 데이터의 베이스, OCR을 사용한 이미지의 베이스를 수용하며 매우 빠르게 디코딩할 수 있습니다.
기본 데모는 BaseCrack의 API를 사용하는 웹 인터페이스를 확인하세요.
$ 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에서 완전히 테스트하지 않았으므로 문제가 발생하면 이슈를 열어주세요.
모든 인수 목록 보기:
python3 basecrack.py -h
사용자 입력에서 단일 베이스 인코딩 디코딩:
python3 basecrack.py
인수 (-b/--base) 로 단일 베이스 인코딩 디코딩:
python3 basecrack.py -b SGVsbG8gV29ybGQh
파일 (-f/--file) 에서 여러 베이스 인코딩 디코딩:
python3 basecrack.py -f file.txt
매직 모드: 모든 패턴의 다중 인코딩된 베이스 디코딩 (-m/--magic):
python3 basecrack.py --magic
EXIF/OCR 탐지 모드용 이미지 입력 (-i/--image):
python3 basecrack.py -i image.jpg (--exif/--ocr)
EXIF 데이터: 이미지 EXIF 데이터의 베이스 디코딩 (-e/--exif):
python basecrack.py -i image.jpg --exif
OCR 베이스 탐지: OCR 탐지로 이미지의 베이스 디코딩 (-c/--ocr):
python basecrack.py -i image.jpg --ocr
디코딩된 베이스로 워드리스트/출력 생성 (-o/--output):
python basecrack.py -f file.txt -o output-wordlist.txt
이제 한 번의 실행으로 모든 패턴의 다중 인코딩된 베이스를 디코딩할 수 있습니다.
지루한 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() 클래스를 import하고 decode() 함수를 호출하세요.
API를 참조하세요.
BaseCrack을 라이브러리로 사용하고 싶으신가요? 준비되어 있습니다!
프로젝트 디렉터리에 basecrack을 넣기만 하면 됩니다!
예제:
# basecrack.py에서 BaseCrack 클래스 import
from basecrack import BaseCrack
# API 함수 decode() 호출 (인코딩된 베이스 전달)
result = BaseCrack().decode('c3BhZ2hldHRp')
# 출력
"""
result는 튜플:
result[0] = 디코딩된 문자열
result[1] = 인코딩 방식
"""
print('디코딩된 문자열: {}'.format(result[0]))
print('인코딩 방식: {}'.format(result[1]))
출력:
디코딩된 문자열: spaghetti
인코딩 방식: Base64
기여 방법
풀 리퀘스트를 열기 전에 테스트를 실행하여 모든 것이 정상인지 확인하세요:
단위 테스트: (감사합니다 @FavasM)
python3 -m unittest discover -v -s tests
MIT 라이선스에 따라 사용 허가됨, 자세한 내용은 LICENSE를 참조하세요.