Пожалуйста, обратите внимание, что пользователь заблокирован
Result Format: EMAIL:PASSWORD
source:
source:
Python:
import os
import re
import datetime
import threading
from queue import Queue
import colorama
from colorama import Fore, Style
try:
import colorama
from colorama import Fore, Style
colorama.init(autoreset=True)
except ImportError:
def colored(text, color):
return text
def extract_emails_passwords(text):
emails = re.findall(r'[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,7} ',text)
bcrypt_2a_hashes = re.findall(r'\$2a\$\d{2}\$[./A-Za-z0-9]{53}', text)
bcrypt_2y_hashes = re.findall(r'\$2y\$\d{2}\$[./A-Za-z0-9]{53}', text)
md5_hashes = re.findall(r'[0-9a-fA-F]{32}', text)
sha1_hashes = re.findall(r'[0-9a-fA-F]{40}', text)
passwords = bcrypt_2a_hashes + bcrypt_2y_hashes + md5_hashes + sha1_hashes
return emails, passwords
def process_sql_file(file_path):
with open(file_path, 'r', encoding='utf-8', errors='ignore') as file:
content = file.read()
emails, passwords = extract_emails_passwords(content)
return emails, passwords
def process_files(file_queue, result_list):
while not file_queue.empty():
file_path = file_queue.get()
try:
emails, passwords = process_sql_file(file_path)
result_list.extend([(email, password) for email in emails for password in passwords])
except Exception as e:
print(colored(f"Error processing {file_path}: {e}", "red"))
finally:
file_queue.task_done()
if __name__ == "__main__":
print(Fore.BLUE + Style.BRIGHT + r"""
█████████ ██████ █████ ███████████ ████████ █ █████ █████
███░░░░░███ ███░░░░███ ░░███ ░░███░░░░░███ ███░░░░░███ ░░███ ░░███
░███ ░░░ ███ ░░███ ░███ ░███ ░███ ░███ ░███ ░░ ███ ███
░░█████████ ░███ ░███ ░███ ░██████████ ░███ ████████ ░░██ ███
░░░░░░░░███░███ ██░███ ░███ ░███░░░░░███ ░█ ██░░░░░███ ░ ░███
███ ░███░░███ ░░████ ░███ █ ░███ ░███ ░███ ░█ ██ ░███
░░█████████ ░░░██████░██ ███████████ █████ █████ █████ █ ████ █████
░░░░░░░░░ ░░░░░░ ░░ ░░░░░░░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░ ░░░
SQL MAILBASE Extractor v1.1 - GridsNetwork
""" + Style.RESET_ALL)
sql_file = input("Enter the path to the SQL file: ")
if not os.path.isfile(sql_file) or not sql_file.endswith('.sql'):
print(Fore.YELLOW + "Invalid SQL file provided." + Style.RESET_ALL)
exit()
num_threads = 20
file_queue = queue()
result_list = []
file_queue.put(sql_file)
for _ in range(num_threads):
worker = threading.Thread(target=process_files, args=(file_queue, result_list))
worker.daemon = True
worker.start()
file_queue.join()
current_datetime = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
output_file_path = f"output_{current_datetime}.txt"
with open(output_file_path, 'w', encoding='utf-8') as file:
for email, password in result_list:
file.write(f"{email}:{password}\n")
print(Fore.CYAN + f"Extracting mailbase completed. Results saved in {output_file_path}" + Style.RESET_ALL)