从At&t程序集访问stdin文件

时间:2019-03-06 14:37:12

标签: gcc assembly att

我正在用at&t汇编编写程序,需要从用户那里获取输入。我已经使用gets一段时间了,但是对缓冲区溢出攻击很清楚。我希望使用fgets,但在给它提供stdin文件时遇到了麻烦。

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

任何替代解决方案都倍受赞赏。

0 个答案:

没有答案