我正在尝试读取linux内核的符号表,vmlinux文件,到目前为止我尝试了readelf
,
readelf -s vmlinux
但什么也没印出来。
通过列出存储在里面的所有字符串,使用strings
命令,我可以找到像sys_close
这样的符号名称,所以我想应该有一个有效的解决方案。
更新
我没有System.map,我想它在vmlinux中,否则你怎么能用sys_close
这样的导出名称来构建内核模块呢?
内核二进制文件有点不同。它的符号位于System.map文件中,该文件应该与内核(/boot)位于同一目录中。
维基百科将为您提供更多关于System.map.的信息
尝试执行
objdump-t vmlinux
它与readelf相同
检查make文件并查看vmlinux是如何准备的
我确信那里有旗帜。或者在这里张贴你的makefile