首页 > 解决方案 > 从 At&t 程序集中访问标准输入文件

问题描述

我正在 at&t 程序集中编写一个程序,该程序需要从用户那里获得输入。我已经使用gets了一段时间,但很清楚缓冲区溢出攻击。我希望使用fgets,但在如何给它提供标准输入文件时遇到了麻烦。

push %rbp
mov  %rsp,        %rbp
sub  $0x20,       %rsp
lea  -0x20(%rbp), %rdi #Buffer
mov  $0x20,       %rsi #Size of buffer
mov  $0,          %rdx #Input stream?
call fgets
leave
ret

如上所示,我尝试只输入 0,因为它是stdin. 有什么方法可以让我不用每次都用它来stdin查找和编译我的代码......stdio.h

gcc test.s stdio.h -o test

非常感谢任何替代解决方案。

标签: gccassemblyatt

解决方案


推荐阅读