Форум сайта python.su
Даётся 3 файла: libprojectone.so, projectone.pyc, secret.
Необходимо декомпилировать projectone.pyc с помощью uncompyle6. Декомпилируется вроде бы хорошо, но не уверен, писал в Ubuntu так : uncompyle6 projectone.pyc > projectone.py . Т.к. он не правильный (код), я добавил в начале #!/usr/bin/python3, и создал через touch message. Всё бы хорошо, скрипт запускается. Только по идее в файле message должна быть расшифровка + secret почему то чиститься, даже и не знаю что делать.
Прикреплённый файлы: py.rar (1,9 KБ)
Офлайн
А projectone.py работает правильно? Скинь сюда файл projectone.py .
Офлайн
LaBr0nхмм давайте посмотрим что делает ваш код, если выкинуть все функции и импорты то там по сути три строчки:
Только по идее в файле message должна быть расшифровка + secret почему то чиститься, даже и не знаю что делать.
message = read_message('message') secret = encrypt_message(message) write_secret('secret', secret)
... message = read_message('message') ..... def read_message(f): with open(f, 'r', encoding='utf-8') as (f): return f.read()
... secret = encrypt_message(message) ... libprojectone = ctypes.cdll.LoadLibrary('./libprojectone.so') def encrypt_char(char, key): global libprojectone return chr(libprojectone.encrypt_char(ord(char), key)) def encrypt_message(message): secret = '' for i in range(len(message)): secret += encrypt_char(message[i], 8)
... write_secret('secret', secret) ... def write_secret(f, secret): with open(f, 'w', encoding='utf-8') as (f): f.write(secret)
[code python][/code]
Отредактировано PEHDOM (Дек. 5, 2019 10:17:48)
Офлайн
PEHDOMА как написать расшифровку(decrypt), так как надо расшифровать secret?
Отредактировано LaBr0n (Дек. 5, 2019 18:48:12)
Офлайн
Он даже с функциями шифрования не справляется.
Вот что он выдаёт при попытке зашифровать:
Traceback (most recent call last):
File “./projectone.py”, line 36, in <module>
secret = encrypt_message(message)
File “./projectone.py”, line 30, in encrypt_message
secret += encrypt_char(message, 8)
File “./projectone.py”, line 24, in encrypt_char
return chr(libprojectone.encrypt_char(ord(char), key))
ValueError: chr() arg not in range(0x110000)
Офлайн
LaBr0nда вроде справляеться…
Он даже с функциями шифрования не справляется.
LaBr0nпо идее ровно так же как и encrypt при условии что в libprojectone.so есть функция decrypt_char или чтото типа того.
А как написать расшифровку(decrypt), так как надо расшифровать secret?
[code python][/code]
Отредактировано PEHDOM (Дек. 6, 2019 10:57:00)
Офлайн