Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 从/ proc / kcore获取系统调用表中的系统调用地址大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述@H_874_4@ 我如何从/ proc / kcore中检索系统调用地址.我可以从System.map文件中获取系统调用表地址. 如果您使用的是基于x86的计算机,则可以使用sidt指令获取中断描述符表寄存器,从而获取中断描述符表本身.有了这些,您可以获取0x80系统调用中断调用的system_call(或x86-64兼容性的ia32等效)函数的地址.反汇编中断处理程序并扫描特定的间接调用指令,可以在调用指令中提取
我如何从/ proc / kcore中检索系统调用地址.我可以从System.map文件获取系统调用表地址.

解决方法

如果您使用的是基于x86的计算机,则可以使用sidt指令获取中断描述符表寄存器,从而获取中断描述符表本身.有了这些,您可以获取0x80系统调用中断调用的system_call(或x86-64兼容性的ia32等效)函数的地址.反汇编中断处理程序并扫描特定的间接调用指令,可以在调用指令中提取地址.该地址是您的系统调用表(在x86上)或x86-64上的IA32兼容性系统调用表.

获取x86-64本机系统调用表是类似的:不是使用sidt重建中断表,而是读取处理器的IA32_LSTAR MSR. (高<< 32 |低)的地址是系统调用调度程序.像以前一样扫描内存,从调用指令中提取sys_call_table地址,但记得屏蔽地址的高32位. 这掩盖了许多更加技术性的信息(比如要搜索的字节),你应该在内核代码中探讨之前理解这些信息.快速谷歌搜索后,我发现整个过程都有记录(带有示例模块代码)here.

祝你好运,尽量不要惹恼自己!

大佬总结

以上是大佬教程为你收集整理的linux – 从/ proc / kcore获取系统调用表中的系统调用地址全部内容,希望文章能够帮你解决linux – 从/ proc / kcore获取系统调用表中的系统调用地址所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。