p64 () из pwntools не работает правильно - PullRequest
1 голос
/ 09 апреля 2020

Я хочу отправить входные данные процессу, который содержит непечатаемые символы, такие как \ x90. Когда я пытаюсь отправить его так: p.sendline(p64(0x414190)), моя программа, которая печатает его обратно, возвращает AA\x90. Он принял «\ x90» как строку, а не как байт. Может кто-нибудь помочь мне, как отправить сырые байты?

Моя программа (уязвимая для строки формата, мне не нужно сообщать):

#include <stdio.h>

int main() {
  char name[512];
  char passwd[512];

  printf("Enter your name: ");
  fgets(name, sizeof(name), stdin);
  printf(name);

  printf("Enter your password: ");
  fgets(passwd, sizeof(passwd), stdin);
  printf(passwd);

  exit(1);
}
...