1

我有一个任务,我必须使用 ptrace 来跟踪应用程序的系统调用。问题是当我运行程序时,它给了我一些不常见的值,我从寄存器中获得,作为输出。其中一些值是负数。

这是代码:http ://pastebin.com/iMXYmqG6 这里是一些示例输出: http: //pastebin.com/bVa5vnWT

如果有人能给我一些关于我做错了什么的指示,我将非常感激。

PS 我正在使用 64 位操作系统,但我正在构建 32 位应用程序(这是分配的限制。)

4

1 回答 1

1

当您使用 64 位操作系统时,您必须使用兼容 64 位的寄存器。即,RAX,ORIG_EAX,EBX,EBX .....如果不是,您将获得垃圾值

于 2013-05-09T08:32:37.560 回答