gpt4 book ai didi

system-calls - sys_vm86old 系统调用有什么作用?

转载 作者:行者123 更新时间:2023-12-04 18:02:40 25 4
gpt4 key购买 nike

我的问题很简单。

我遇到了这个 sys_vm86old 系统调用(在逆向工程时),我想了解它的作用。

我找到了两个可以给我一些东西的资源,但我仍然不确定我是否完全理解;这些来源是Source Code还有这个page这给了我这一段(但直接在链接上更具可读性):

config GRKERNSEC_VM86
bool "Restrict VM86 mode"
depends on X86_32

help:
If you say Y here, only processes with CAP_SYS_RAWIO will be able to make use of a special execution mode on 32bit x86 processors called Virtual 8086 (VM86) mode. XFree86 may need vm86 mode for certain video cards and will still work with this option enabled. The purpose of the option is to prevent exploitation of emulation errors in virtualization of vm86 mode like the one discovered in VMWare in 2009. Nearly all users should be able to enable this option.

据我了解,这将确保调用进程启用了 cap_sys_rawio。但这对我帮助不大...

谁能告诉我吗?
谢谢

最佳答案

系统调用用于在 VM86 模式下执行代码。此模式允许您在 protected 模式操作系统中运行旧的“实模式”32 位代码(如某些 BIOS 中存在的代码)。

例如,请参阅关于它的维基百科文章:https://en.wikipedia.org/wiki/Virtual_8086_mode

您找到的设置意味着您需要 CAP_SYS_RAWIO 来调用系统调用。

我认为 X11 特别是使用它来调用 BIOS 方法来切换视频模式。有两个系统调用,一个带有旧后缀的系统调用提供较少的操作,但为了二进制 (ABI) 兼容性而保留。

关于system-calls - sys_vm86old 系统调用有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32285312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com