我正在尝试弄清楚如何在 NASM 中打印环境变量。
我们在类里面了解到,命令行参数的数量存储在 EAX 寄存器中,第一个参数的地址存储在 EDX 寄存器中的位置。然而,这对我不起作用,因为 EDX 寄存器中没有写入任何内容。
我已经看到了一些其他方法来做到这一点,其中以某种方式使用 ESP 寄存器,但我并没有真正找到完整的解释。
如果有人对这个对我来说令人困惑的问题有一个很好且清晰的解释,我将非常感激。
最佳答案
看看以下相关帖子:Why does this NASM code print my environment variables? .
您还可以查看 startup state of a Linux binary .
简而言之,环境变量列在命令行参数后面的 NULL
值之后。
关于environment-variables - 打印 NASM 中的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32144016/