作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
最佳答案
更新:
1. 0x80 处理程序在 2.4 和 2.6 之间基本相同,尽管从处理程序调用的函数在 2.6 中由 x86-64 的“系统调用”指令处理程序调用。2. 0x80 处理程序可以像内核的其余部分一样进行修改。
3. 除非取消向后兼容性,否则修改不会破坏任何内容。例如,如果您愿意,可以添加自己的跟踪或后门。另一篇文章说,如果您修改处理程序,您将破坏您的库和工具链,这是不正确的。如果你破坏了调度算法,或者错误地修改了调度表,那么你就会破坏东西。
3a.正如我最初发布的那样,扩展 0x80 服务的最佳方法是扩展系统调用处理程序。
正如内核源代码所说:
What: The kernel syscall interfaceDescription: This interface matches much of the POSIX interface and is based on it and other Unix based interfaces. It will only be added to over time, and not have things removed from it.Note that this interface is different for every architecture
that Linux supports. Please see the architecture-specific
documentation for details on the syscall numbers that are to be
mapped to each syscall.
arch/i386/kernel/syscall_table.S
irq_vectors
.h
set_system_gate
设置
system_call
函数的地址,将入口放入中断描述符表中。
system_call
函数本身在 entry.S 中,并从系统调用表中调用请求的指针。
system_call
函数内的 entry.S 中完成的。以更理智的方式,您可以修改系统调用表,插入您自己的函数而不修改分派(dispatch)机制。
关于linux - 我们可以修改 int 0x80 例程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/591536/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!