我正在編寫有關低級別內容的代碼。我需要知道內核符號地址來編寫可靠的代碼。所以即時通訊在Ubuntu kernel-3.0.19的用戶模式下嘗試讀取kallsyms。這就是用戶模式下的kallsyms輸出。在用戶模式下閱讀kallsyms
... 00000000 [R __ksymtab_prepare_kernel_cred 00000000 [R __kcrctab_prepare_kernel_cred 00000000 [R __kstrtab_prepare_kernel_cred ...
我怎麼能解決用戶模式這個問題。當im根和everyting的確定,但那不是我需要的。
謝謝。
'不能訪問沒有root權限的System.map。在我的RHEL服務器上,它被允許讀取這個文件/boot/System.map -... –
我想,取決於發行版和/或內核版本。如果System.map包含內核函數的地址並且默認情況下對非root用戶可讀,這實際上使得kallsyms的保護無用。如果是RHEL 6,那麼內核很可能是2.6.32,IIRC,其中/ proc/kallsyms不受保護。如此可讀的System.map文件在這種情況下不會增加安全風險。 – Eugene
如果您使用的是由發行版編譯的內核,您可以只看到適當的System.map的發行歸檔文件,不是? – domen