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