Запись памяти об отслеживаемом процессе.

Я играю с ptrace в Linux. Я пытаюсь записать память отслеживаемого процесса, используя интерфейс / proc / pid / mem.

функция, которую я использую для выполнения этой задачи:

void write_proc(pid_t child, unsigned long int addr) {

  char mem_file_name[100];
  char buf[10]="hope";
  int mem_fd;


  memset( (void*)mem_file_name, 0, 100);
  memset( (void *)buf, 0, 10);

  sprintf(mem_file_name, "/proc/%d/mem", child);
  mem_fd = open(mem_file_name, O_RDONLY);
  lseek(mem_fd, addr , SEEK_SET);

  if (write(mem_fd, buf, 5) < 0 )
    perror("Writing");

  return;

}

Но я всегда получаю ошибку: Запись: плохой дескриптор файла.

Можно ли написать отслеживаемый процесс, используя этот метод?

Ответы на вопрос(2)

Ваш ответ на вопрос