linux - 如何使用带有第 6 个参数的 sysenter
问题描述
我尝试调用 mmap,它需要 6 个参数作为输入,使用 int 0x80 你可以很容易地做到这一点:
mov eax, 90
mov ebx, 0
mov ecx, 512
mov edx, 3
mov esi, 0
mov edi, fd
mov ebp, 0
int 0x80
但是使用 sysenter,调用 mmap 的正确方法是:
mov eax, 1
mov ebx, 0
push return_addr
push ecx
push edx
push ebp
mov ebp, esp
sysenter
使用 5 个或更少的参数很容易解决问题,但是当我必须像这样保存 ebp 时,如何使用 sysenter 传递第 6 个参数?
是否不可能通过 sysenter 传递第 6 个参数?
解决方案
推荐阅读
- c# - 突然我在不能为空的隐藏字段上遇到错误
- python - 在 Windows 中自动重启 Python 脚本
- java - 如何在java中附加带有前缀和后缀的句子?
- javascript - 如何使文本在Javascript中淡入淡出不同的句子?
- flutter - 如何在颤振中使用 Image.file 小部件
- php - 如何按多对多关系排序 Laravel Eloquent
- python - 在 matplotlib 3D 图中实现平移
- flutter - Flutter 中的 ScrollToRowAtIndex 等价物
- google-cloud-platform - 从 Google Cloud Storage 下载数据的更好方法?
- azure-active-directory - “AADSTS900144:请求正文必须包含以下参数:'grant_type'。?