Передача аргумента из скрипта Python в исполняемый EXE

Написал дешифратор на С++ и вызываю его из питоновского скрипта. В качестве аргумента передаю экранированную hex-строку. Если в вызове сразу указывать hex-строку, то дешифровка происходит нормально. Но если эту строку поместить в переменную, и передать его, то возвращает мусорное значение. Что я делаю не так?

decrypted_password = str(
    subprocess.check_output(
        [
            "C:\\Users\\serda\\Desktop\\test.exe",
            "--decrypt",
            "\x74\xef\x8f\xea\xf6\xc9", # передача hex-строки
        ]
    )
)

print(decrypted_password)  # b'123456' - то, что получаю

ready_to_decrypt = "\\" + "\\".join(
    [i[1:] for i in encrypted_list[:-2] if int(i, 16) > 0]
)

decrypted_password = str(
    subprocess.check_output(
        [
            "C:\\Users\\serda\\Desktop\\test.exe",
            "--decrypt",
            ready_to_decrypt, # передача переменной со строкой
        ]
    )
)

print(ready_to_decrypt)    # \x74\xef\x8f\xea\xf6\xc9 - то, что передается
print(decrypted_password)  # b'\x19\xa5\x8b\xea\x9f\x87\xc7{\xe9\r\xce\xdd\x9c\xb5\x1f\xe9\x95>\x1a\xf9m\x86\xaf\xb8' - то, что получаю

И в том и в другом случае тип передаваемого значения Строка


Ответы (0 шт):