У меня есть назначение, и я должен использовать ptrace для отслеживания системных вызовов приложения.
Проблема в том, что когда я запускаю программу, она выдает мне несколько необычных значений, которые я получаю из регистров в качестве вывода. Некоторые из этих значений являются отрицательными числами.
Вот код: http://pastebin.com/iMXYmqG6
А вот пример вывода: http://pastebin.com/bVa5vnWT
Если бы кто-нибудь мог дать мне несколько указаний о том, что я делаю неправильно, я был бы очень благодарен.
Постскриптум Я работаю на 64-битной ОС, но я создаю 32-битное приложение (это было ограничение для назначения).
Поскольку вы используете 64-битную ОС, вы должны использовать регистры, используемые в 64-битной совместимости. то есть RAX, ORIG_EAX, EBX, EBX ….. Если нет, вы получите значения мусора
Других решений пока нет …