Я использовал это руководство, чтобы попытаться настроить отладчик в C. Я установил тестовую программу, которая выглядит следующим образом:
#include<stdio.h>
int main()
{
printf("BEFORE");
printf("AFTER");
}
, а разборка основной функции выглядит следующим образом:
, но если я пытаюсь использовать код ниже для печати данных в 0x64a, я получаю вывод ffffffffffffffff
long address = 0x64a;
long data = ptrace(PTRACE_PEEKTEXT, status, (void *) address, NULL);
printf("%lx", data);
Кроме того, это код, к которому я прикрепляю тестовую программу:
char* args[] = {"test", NULL};
if(pid == 0)
{
ptrace(PTRACE_TRACEME, 0, NULL, NULL);
execve("./test", args, NULL);
//execl("./test", "test", NULL);
}