linux-在用户模式下阅读kallsyms

我正在编写有关低级内容的代码.我需要知道内核符号地址才能编写可靠的代码.所以我在Ubuntu内核3.0.19中以用户模式尝试读取kallsyms.这就是在用户模式下输出的kallsyms.


00000000 r __ksymtab_prepare_kernel_cred
00000000 r __kcrctab_prepare_kernel_cred
00000000 r __kstrtab_prepare_kernel_cred

我该如何在用户模式下解决此问题.当我根并且一切都还可以的时候,那不是我所需要的.

谢谢.

解决方法:

/ proc / kallsyms故意显示零而不是非root用户的实际地址.这样可以降低安全风险.

有关详细信息,请参见this upstream commit.另请参见在s_show() function in kallsyms.c中如何使用%pK打印说明符,s_show负责在/ proc / kallsyms中提供记录.

我怀疑在没有root用户的情况下仍然有可能获得符号地址.没有root权限的人也无法访问System.map.与写入/ proc / sys / kernel / kptr_restrict相同.

上一篇:Android 界面滑动实现---Scroller类 从源码和开发文档中学习(让你的布局动起来)


下一篇:生成器表达式和列表推导式