Передача аргумента из скрипта 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' - то, что получаю
И в том и в другом случае тип передаваемого значения Строка