gcc - 从 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
非常感谢任何替代解决方案。
解决方案
推荐阅读
- laravel - Laravel API:外部 API 的超长超时
- java - 如何从底部工作表片段开始活动
- angular - Appsync 客户端对 GraphQL 突变的 Angular 订阅
- api - 过滤时列表视图重新加载
- ruby-on-rails - 无法使用编辑/更新按钮在 Rails 中编辑视频
- android - Android shell 用户无权访问 /data/local/tmp,即使它是该文件夹的所有者
- powershell - Ansible 剧本,我如何运行 Powershell 脚本*带参数*
- git - GIT:在本地文件与远程文件比较期间禁用 eol 检查
- powerapps - 可以借助按钮在外部选择图库中的项目吗?
- python-3.x - 创建一个优雅的解决方案来避免 HTTPServiceUnavailable