- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 linux 内核的控制流中,发现控制权转移到 IDT,它有中断的位置(例如:0x80 系统调用)。然后控制移动到适当的系统调用。另请阅读 IDT 仅在启动时初始化。
我想了解更多来自真实内核的 IDT 信息,例如它的位置。也想知道,是否在其他时候修改过?
请帮忙。
最佳答案
写一个 rooktit,是吗?
无论如何,您可以使用 LIDT/SIDT x86 指令直接查找和操作 IDT。您还可以在一些不错的网站上找到有关 IDT Hook 的信息 phrack articles关于这个主题。
关于linux - 中断描述符表 (IDT) 修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4654383/
我正在处理一个启动时间要求很紧的项目。目标架构是在 32 位保护模式下运行的基于 IA-32 的处理器。确定可以改进的领域之一是当前系统动态初始化处理器的 IDT(中断描述符表)。由于我们没有任何即插
对于 IA-32 架构,IDT 条目具有以下格式: struct IDTDescr { uint16_t offset_1; // offset bits 0..15 uint16_t s
在 linux 内核的控制流中,发现控制权转移到 IDT,它有中断的位置(例如:0x80 系统调用)。然后控制移动到适当的系统调用。另请阅读 IDT 仅在启动时初始化。 我想了解更多来自真实内核的 I
注意:我在 FreeBSD 上运行,但我也将 Linux 作为标签包含在内,因为这个问题有些笼统,而且我对 Linux 特定的解决方案很感兴趣。 编辑 : 只是为了确认问题不是 FreeBSD 特有的
在Linux系统上,中断向量表(IVT)和中断描述符表(IDT)有什么区别? 最佳答案 这与 Linux 无关。它是 CPU 的结构,操作系统对其进行初始化以处理中断和异常。在实寻址模式下,该结构只包
我正在 Hook 我的 x86 linux 内核的 IDT 条目。更具体地说,我连接了第 0x80 个 IDT 条目,它是系统调用中断处理程序。 如果我如下设置 Hook 处理函数,一切都会顺利 vo
我的目标是从 MacOS 内核模块访问 IDT。 我在 VMFusion 10.0.1 下运行 macOS 10.13.2,似乎 sidt 汇编命令指向损坏的表结构。 此操作码应将地址返回到“中断描述
我目前正在尝试从头开始创建一个 x86-64 内核(使用 GRUB Multiboot2 作为引导加载程序)。我设置我的 GDT 很好,但是在设置我的 IDT 时,似乎有问题。我通过 hlt 在我的代
我无法让 IDT 工作,因为我的中断例程没有被调用,尤其是当我按下键盘上的某个键时与键盘相关的例程。我正在传递 IDT 表的特殊 48 位指针地址。我正在这样做 dt_ptr idt_ptr; //
以下代码: 标题: // InterruptDescriptorTable.h #define MAX_IDT_ENTRIES 256 #define MAKELONG(a, b) ((unsign
在 IDT 中,每一行都有一些称为“DPL”的位 - 描述符特权级别,内核为 0,普通用户为 3(可能还有更多级别)。我不明白两件事: 这是运行中断处理程序代码所需的级别?或触发导致它的事件?因为 s
Intel 的 64 位 IDT 门描述符中有一个段选择器。然而,根据我对 5 部分 Intel 手册的理解,中断处理程序的线性地址从 IDT 门描述符中指定的 64 位偏移量加载到 RIP 中。 段
这个问题的灵感来自多年来许多人遇到的问题,尤其是在 x86 操作系统开发中。最近一个related NASM question被编辑撞了。在那种情况下,该人使用 NASM 并收到组装时间错误: shi
尝试使用以下代码获取中断描述符表的数据: /* SIDT returns IDT in following format */ #pragma pack(1) typedef struct {
我正在尝试使用 R 包 CEM 执行粗化的精确匹配。我有一个观察数据框(没有遗漏的观察结果,列名见下文),我正在尝试: 以抑郁症 (depres6mo) 进行 CEM 作为匹配治疗,然后 对匹配的数据
我是一名优秀的程序员,十分优秀!