В настоящее время я разрабатываю инструмент, в котором я должен отслеживать программу, чтобы узнать ее системные вызовы. На данный момент я могу получить числовые параметры системных вызовов, но я не могу правильно адресовать строки.
Вот как я поступаю:
long addr = ptrace(PTRACE_PEEKDATA, pid, regs.ebx, NULL);
printf("%s", (char *) &addr);
С помощью этого фрагмента кода я могу получить начало строки (3 или 4 первых символа), но конец поврежден, не знаю почему.
У вас есть какое-нибудь решение? Спасибо.