Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 21, 2018 11:42:22

splo_0it
Зарегистрирован: 2018-08-21
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Соединить 2 файла

Есть 2 файла формата:
Первый файл:

8.8.8.8 ADMIN:389e017c900500004be43a4248574586bca03028474e 67604149b9d59fe7f1f549255b53fd64000000000000000000 00000000000000140541444d494e:002e6a730568e3738f152 09e5969ac917c96da09
8.8.4.4 root:6b24d2a1f245973ygfiuergdf7978a94ab88f8fcccee1 e1aaacdb6acb9198f4b21814cac99000000000000000000000 00000000000140541444d494e:59d20866ae25d673f32ade86 18b3ca7723fbf2a5
1.1.1.1 admin:5e706c09799e00008b6a86aaab9f11edf059fadd3f8a fc0dc6b543f896b312a9a6ca5864633f234400000000000000 00000000000dfj987543hg543g0541444d494e:232305dfe9e acae40f6a7cdcb985de7246b0da9a

Второй файл:
5e706c09799e00008b6a86aaab9f11edf059fadd3f8afc0dc6 b543f896b312a9a6ca5864633f234400000000000000000000 00000dfj987543hg543g0541444d494e:232305dfe9eacae40 f6a7cdcb985de7246b0da9a:passwd
6b24d2a1f245973ygfiuergdf7978a94ab88f8fcccee1e1aaa cdb6acb9198f4b21814cac9900000000000000000000000000 000000140541444d494e:59d20866ae25d673f32ade8618b3c a7723fbf2a5:qwerty
389e017c900500004be43a4248574586bca03028474e676041 49b9d59fe7f1f549255b53fd64000000000000000000000000 00000000140541444d494e:002e6a730568e3738f15209e596 9ac917c96da09:1qaz@WSX
Неоходимо объединить их в один файл такого вида:
8.8.8.8 ADMIN:passwd
8.8.4.4 root:qwerty
1.1.1.1 admin:1qaz@WSX
Т.е. заменить хэш паролем.
Я сделал так:
import sys

def main():
file_1 = open(sys.argv[1], 'r')
file_2 = open(sys.argv[2], 'r')
res_file = open(sys.argv[3], 'w')

for line_1, line_2 in zip(file_1.readlines(), file_2.readlines()):
ip_log = line_1.split(':')[0]
pwd = line_2.split(':')[-1]
res_line = ip_log + ':' + pwd
res_file.write(res_line)
res_file.flush()

file_1.close()
file_2.close()
res_file.close()

def usage():
print('Usage: {0} first_part.txt second_part.txt output.txt'.format(sys.argv[0]))

if __name__ == '__main__':
if len(sys.argv) != 4:
usage()
main()
Но тут нет проверки тот ли хэш заменяется, буду признателен за подсказку с реализацией.

Офлайн

#2 Авг. 21, 2018 21:49:48

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Соединить 2 файла

Разберись со входными данными, очисти их от мусора сначала, а потом уже подавай на склеивание.

splo_0it
Я сделал так:
Файлы нужно открывать через with.
При открытии файла надо указывать кодировку через encoding.
У файлов не надо вызывать .readlines() так как они уже являются итераторами по строкам. Это равносильно zip(file_1, file_2).
Если usage() выполняется, то не надо выполнять main().
Не надо разбирать аргументы через sys.argv, все используют argparse.

В общем, тебе надо и алгоритмы учиться строить, и язык питон выучить. И это разные вещи.

Если будешь взломами заниматься, то в программировании так нулём и останешься, потому что программирование включает в себя много разных необходимых областей, которые ни к сисадминству, ни к взломам отношения не имеют. Ломать - не строить.



Отредактировано py.user.next (Авг. 21, 2018 21:50:27)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version