• Earn real money by being active: Hello Guest, earn real money by simply being active on the forum — post quality content, get reactions, and help the community. Once you reach the minimum credit amount, you’ll be able to withdraw your balance directly. Learn how it works.

Phyton Parser URL:LOGIN:PASSWORD from logs 1.0.0 [Source]

Status
Not open for further replies.

itsMe

*KillmeMories*
Staff member
Administrator
Super Moderator
Hacker
Specter
Crawler
Shadow
Joined
Jan 8, 2019
Messages
56,623
Solutions
2
Reputation
32
Reaction score
100,456
Points
2,313
Credits
32,750
‎6 Years of Service‎
 
76%
screenshot-13935.png


This is the Python source code that you can use to pull the URL:LOGIN:PASSWORD strings from the logs. The code is clean, without the use of third-party libraries. The script searches the logs for Passwords.txt files and collects strings from them. Collected rows are immediately sorted by name and duplicates are removed. The result will be saved to a text file new_data_from_logs_*.txt with a unique name. I've added a few filters to the code to remove garbage from the lines. I checked the script on public logs, there were no errors.
If possible and when I have free time, I will refine the script. Write your wishes in the topic.
The software was not packaged on purpose so that you could see that the code was clean.

1. Download and install Python on your computer (e.g.
This link is hidden for visitors. Please Log in or register now.
)
2. Download the contents of the script and save it on your computer to a file with the .py extension, for example, main.py
3. On line 11 of the script, specify the path to your log folder in quotation marks
4. Run via command line: python *your_filename*.py (e.g. python main.py)

Python:
import datetime
import os
from random import randint
from string import ascii_letters, digits, punctuation

all_symbols = ascii_letters + digits + punctuation
path_to_logs = input("Перетащи папку с логами сюда ---> ")

count_files = 0
set_data = set()
for dirpath, _, filenames in os.walk(path_to_logs):
    for filename in filenames:
        if filename == 'Passwords.txt':
            count_files += 1
            name_file_passwords = os.path.join(dirpath, filename)
            print(f'[{count_files}] Обрабатываем файл: {filename}')
            with open(file=name_file_passwords, mode='r', encoding='UTF-8', errors='ignore') as file_log:
                list_rows = [x.strip() for x in file_log.readlines()]
            for x in list_rows:
                if x.startswith('URL:'):
                    index_this_row = list_rows.index(x)
                    url_from_row = x.split('URL:')
                    if len(url_from_row) > 1:
                        value_url = url_from_row[1].strip()
                        value_url = value_url.lstrip(':').strip()
                        if (not value_url.startswith('android') and not value_url.startswith('http://192.168')
                                and not value_url.startswith('chrome') and not value_url.startswith('about:blank')
                                and not value_url.startswith('file') and not value_url.startswith('http://10.0.0')
                                and not value_url.startswith('moz-proxy') and not value_url.startswith('vivaldi')
                                and not value_url.startswith('http://localhost')
                                and not value_url.startswith('http://127.0.0.1')):
                            get_username_next_row = list_rows[index_this_row + 1]
                            if get_username_next_row.startswith('Username:'):
                                username_from_row = get_username_next_row.split('Username:')
                                if len(username_from_row) > 1:
                                    value_username = username_from_row[1].strip()
                                    if value_username != 'UNKNOWN':
                                        get_password_next_row = list_rows[index_this_row + 2]
                                        if get_password_next_row.startswith('Password:'):
                                            password_from_row = get_password_next_row.split('Password:')
                                            if len(password_from_row) > 1:
                                                value_password = password_from_row[1].strip()
                                                for char in value_username:
                                                    if char not in all_symbols:
                                                        break
                                                else:
                                                    for char in value_password:
                                                        if char not in all_symbols:
                                                            break
                                                    else:
                                                        set_data.add(f'{value_url}:{value_username}:{value_password}')

today_day = datetime.date.today().day
today_month = datetime.date.today().month
today_year = datetime.date.today().year
now_hour = datetime.datetime.now().strftime('%H')
now_minute = datetime.datetime.now().strftime('%M')
rand_int = randint(1, 1000000)
add_time_moment_row = f'{today_day}_{today_month}_{today_year}_{now_hour}_{now_minute}_{rand_int}'

filename_unique_data = f'new_data_from_logs_{add_time_moment_row}.txt'
len_set_passwords = len(set_data)
print(f'Найдено [{len_set_passwords}] строк')

list_data = list(set_data)
list_data.sort()

if len_set_passwords > 0:
    with open(file=filename_unique_data, mode='w', encoding='UTF-8', errors='ignore') as _file_out:
        for yy in list_data:
            _file_out.write(f'{yy}\n')
else:
    print('Пароли не найдены!')
 
Last edited:
Status
Not open for further replies.
Back
Top