linux-kernel – 如何在不破坏Linux内核模块的情况下剥离本地符
如果我做–strip-debug或–strip-unneeded,我有.ko列出所有带有nm的函数名,如果我只是去掉foo.ko我有一个拒绝加载的内核模块.
有没有人知道如何删除模块加载不需要的所有符号的快捷方式,以便人们无法对API进行反向工程设计? PS:对于所有开源bigots传教士;这是一般公众在任何情况下都不会使用的东西,因此不需要将问题变成GPL火焰战争. 解决方法
由于没有回答我以前的问题,这里有一些猜测,也可能是一些线索,以及回答的一步:
根据我的记忆,.ko只不过是一个.o文件,它源于源模块生成的所有.o文件的合并,以及.modinfo部分的添加. >那些因为他们是外在的 在合并期间,前者很可能已经被ld解决了,但是ld无法知道你是否打算让它们也可以从.ko之外调用. 因此,您看到的无关符号是每个.o文件的外部符号,但不需要作为结果.ko的外部符号. 这最后一段是否正确描述了你要摆脱的符号? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |