• XSS.stack #1 – первый литературный журнал от юзеров форума

Помогите с кодом ...

loxnemamont

floppy-диск
Забанен
Регистрация
30.05.2019
Сообщения
8
Реакции
0
Пожалуйста, обратите внимание, что пользователь заблокирован
Привет, мне нужна помощь. У меня есть 1:1:mail:hash file и hash:pass файл, и я хочу присоединиться к ним, чтобы создать файл mail:pass. Как я могу это сделать? Помощь будет оценена
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Считываешь два файла в память по строкам, разбиваешь каждую строку по символу ":", получаешь столбцы, соответствующие мейлу и хешу, из второго хешу и паролю, ищешь хеши из первого словаря во втором, если хеш есть, заменяешь хеш на пароль.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Считываешь два файла в память по строкам, разбиваешь каждую строку по символу ":", получаешь столбцы, соответствующие мейлу и хешу, из второго хешу и паролю, ищешь хеши из первого словаря во втором, если хеш есть, заменяешь хеш на пароль.
Я не знаю python, я не программист, мне нужен кто-то, чтобы мне помочь
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Выдираешь мыло из первой базы, после выдираешь пассы из второй базы, и склеиваешь их, софтов много для этого.
Проблема в том, что я не знаю, какое программное обеспечение существует, как вы говорите, и вторая проблема в том, что строки не совпадают, у меня 150k hash:plain и 700k 1:1:email:hash
 
Если правильно понял, то
Bash:
for mail in $(cat input1.txt | awk -F: '{print $3}'); do grep "$mail" input2.txt >> output.txt; done
 
Пожалуйста, обратите внимание, что пользователь заблокирован
такая команда может тебе помочь:

join -1 2 -2 1 <(sort -k 2 1.txt) <(sort 2.txt) | cut -d \ -f 2,3 > 3.txt

Я попробовал, и у меня получился пустой 3.txt

Если правильно понял, то
Bash:
for mail in $(cat input1.txt | awk -F: '{print $3}'); do grep "$mail" input2.txt >> output.txt; done

в bash у меня есть эхо, но оно очень медленное и содержит много строк. здесь я оставляю тебе код


Bash:
#!/bin/bash

# FILE ONE CONTAINS email:hash
FILE_ONE="file1.txt"

# FILE TWO CONTAINS hash:plaintext
FILE_TWO="file2.txt"

while IFS= read -r line
do
    # echo "$line"
    e=$(echo "$line" | awk -F: '{ print $3 }')
    h=$(echo "$line" | awk -F: '{ print $4 }')
    p=$(grep $h $FILE_TWO | awk -F: '{ print $2}')
    echo "$e:$p"
done < "$FILE_ONE"
 
Для разделителя полей двоеточие, нужно было немного изменить команду:
join -1 2 -2 1 -t: <(sort -k 2 1.txt) <(sort 2.txt) | cut -d':' -f 2,3 > 3.txt

3ton@tryton:~/folder_tmp$ ls -lah
итого 16K
drwxrwxr-x 2 3ton 3ton 4,0K дек 30 22:12 .
drwxr-xr-x 3 3ton 3ton 4,0K дек 30 21:13 ..
-rw-rw-r-- 1 3ton 3ton 216 дек 30 22:12 1.txt
-rw-rw-r-- 1 3ton 3ton 174 дек 30 22:12 2.txt

3ton@tryton:~/folder_tmp$ cat 1.txt
djfhdjshjhb@mail.com:30310be0a898247d89c0042fc965c313
jhghhvhv@gmail.com:9aa8939f349de697d27218cca88884e7
hvhgvghvhvhgvgh@yahho.com:39af3c6eaa3760b2dde4974993dcbbd6
rdtdtd5@yandex.ru:c9bdd0356fad654224cd88c61f8a660c

3ton@tryton:~/folder_tmp$ cat 2.txt
30310be0a898247d89c0042fc965c313:root@2812
9aa8939f349de697d27218cca88884e7:Suporte@admin
39af3c6eaa3760b2dde4974993dcbbd6:australy
c9bdd0356fad654224cd88c61f8a660c:admlocal

3ton@tryton:~/folder_tmp$ join -1 2 -2 1 -t: <(sort -k 2 1.txt) <(sort 2.txt) | cut -d':' -f 2,3 > 3.txt

3ton@tryton:~/folder_tmp$ ls -lah
итого 20K
drwxrwxr-x 2 3ton 3ton 4,0K дек 30 22:12 .
drwxr-xr-x 3 3ton 3ton 4,0K дек 30 21:13 ..
-rw-rw-r-- 1 3ton 3ton 216 дек 30 22:12 1.txt
-rw-rw-r-- 1 3ton 3ton 174 дек 30 22:12 2.txt
-rw-rw-r-- 1 3ton 3ton 126 дек 30 22:12 3.txt

3ton@tryton:~/folder_tmp$ cat 3.txt
djfhdjshjhb@mail.com:root@2812
hvhgvghvhvhgvgh@yahho.com:australy
jhghhvhv@gmail.com:Suporte@admin
rdtdtd5@yandex.ru:admlocal
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Для разделителя полей двоеточие, нужно было немного изменить команду:
join -1 2 -2 1 -t: <(sort -k 2 1.txt) <(sort 2.txt) | cut -d':' -f 2,3 > 3.txt

3ton@tryton:~/folder_tmp$ ls -lah
итого 16K
drwxrwxr-x 2 3ton 3ton 4,0K дек 30 22:12 .
drwxr-xr-x 3 3ton 3ton 4,0K дек 30 21:13 ..
-rw-rw-r-- 1 3ton 3ton 216 дек 30 22:12 1.txt
-rw-rw-r-- 1 3ton 3ton 174 дек 30 22:12 2.txt

3ton@tryton:~/folder_tmp$ cat 1.txt
djfhdjshjhb@mail.com:30310be0a898247d89c0042fc965c313
jhghhvhv@gmail.com:9aa8939f349de697d27218cca88884e7
hvhgvghvhvhgvgh@yahho.com:39af3c6eaa3760b2dde4974993dcbbd6
rdtdtd5@yandex.ru:c9bdd0356fad654224cd88c61f8a660c

3ton@tryton:~/folder_tmp$ cat 2.txt
30310be0a898247d89c0042fc965c313:root@2812
9aa8939f349de697d27218cca88884e7:Suporte@admin
39af3c6eaa3760b2dde4974993dcbbd6:australy
c9bdd0356fad654224cd88c61f8a660c:admlocal

3ton@tryton:~/folder_tmp$ join -1 2 -2 1 -t: <(sort -k 2 1.txt) <(sort 2.txt) | cut -d':' -f 2,3 > 3.txt

3ton@tryton:~/folder_tmp$ ls -lah
итого 20K
drwxrwxr-x 2 3ton 3ton 4,0K дек 30 22:12 .
drwxr-xr-x 3 3ton 3ton 4,0K дек 30 21:13 ..
-rw-rw-r-- 1 3ton 3ton 216 дек 30 22:12 1.txt
-rw-rw-r-- 1 3ton 3ton 174 дек 30 22:12 2.txt
-rw-rw-r-- 1 3ton 3ton 126 дек 30 22:12 3.txt

3ton@tryton:~/folder_tmp$ cat 3.txt
djfhdjshjhb@mail.com:root@2812
hvhgvghvhvhgvgh@yahho.com:australy
jhghhvhv@gmail.com:Suporte@admin
rdtdtd5@yandex.ru:admlocal


join: /dev/fd/63:5: is not sorted: 00despo@gmail.com:pbkdf2_sha256$10000$AbqDFKHPWWdM$uYqyXieStXvlASfnMeNgSVtdRtT54e2I/55BfkVez/A=
join: input is not in sorted order
 
Python:
with open('1:1:mail:hash.TXT') as f:
    first = f.readlines()
with open('hash:pass.TXT') as f:
    second = f.readlines()

first = [x.split(':') for x in first]
second = [x.split(':') for x in second]

#the_set = set([x[0] for x in second])  #это раскомментируй если хочешь быстрее 
first = [[x[2],x[3]] for x in first]
second = {x[0]:x[1] for x in second}

new_csv = []
for L in first:
    #E = 'NO_PASS_FOUND' if L[0] not in the_set else second[L[0]] #это раскомментируй если хочешь быстрее 
    E = 'NO_PASS_FOUND' if L[0] not in second else second[L[0]]  #это закомментируй если хочешь быстрее
    new_csv.append([L[0], E])
    
new_csv = [':'.join(x) for x in new_csv]
new_csv = [x + '\n' for x in new_csv]

with open('new_csv.TXT', 'w') as f:
    f.writelines(new_csv)

насчет "быстрее" сомнительно, но может сработать,
если мало памяти - тогда надо переписать механизм чтения и обработки первого файла
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх