Выполните команду в двоичном строковом формате в Python3

#python #pwntools

Вопрос:

Я извлекаю простые команды назначения из подключения к удаленному терминалу в Python и хотел бы их выполнить. Формат будет таким b = 3156 , и я хотел бы выполнить его с помощью exec() . Мой код:

 def execbin(cmd):  exec(cmd.decode('ascii')) # decode() because recvline() gets a binary string  conn = remote(url, port) # this is from the library pwntools execbin(conn.recvline(keepends=False)) # get the line and run it  

Однако присвоение переменной не происходит:

введите описание изображения здесь

Как я могу успешно выполнить это задание?

Ответ №1:

Наконец-то я написал что-то вроде:

 def getval(cmd):  return eval(cmd[4:])  b = getval(conn.recvline(keepends=False))  

и это сработало. Этот вопрос все еще открыт для лучших ответов!