Objective c 在套接字过滤内核扩展中使用IOSleep
我正在开发一个内核扩展,它处理构建在系统上的每个套接字,并在用户空间中等待用户确认是否允许该套接字。 我使用IOSleep来应用上面提到的等待,但是在加载内核扩展时会出现这个错误 “此kext无法解析以下符号: _iSleep“ 首先,我想知道我使用IOSleep进行等待是否正确? 如果不是,我应该如何应用期望的等待来覆盖我需要获得用户确认的允许或拒绝特定套接字连接的时间间隔Objective c 在套接字过滤内核扩展中使用IOSleep,objective-c,macos,sockets,kernel-extension,Objective C,Macos,Sockets,Kernel Extension,我正在开发一个内核扩展,它处理构建在系统上的每个套接字,并在用户空间中等待用户确认是否允许该套接字。 我使用IOSleep来应用上面提到的等待,但是在加载内核扩展时会出现这个错误 “此kext无法解析以下符号: _iSleep“ 首先,我想知道我使用IOSleep进行等待是否正确? 如果不是,我应该如何应用期望的等待来覆盖我需要获得用户确认的允许或拒绝特定套接字连接的时间间隔 提前感谢您的回复。IOSleep在内核扩展中非常好。您看到的错误是因为库在加载时而不是编译时链接到KEXT 当您向代码中
提前感谢您的回复。
IOSleep
在内核扩展中非常好。您看到的错误是因为库在加载时而不是编译时链接到KEXT
当您向代码中添加需要针对新库进行链接的函数时,必须在编译的二进制文件上调用kextlibs
,以找出需要添加到plist文件中的内容。这在的中有解释,但在第一次之后很容易忘记这样做
基本步骤是:
kextlibs-xml MyKext.kext
Info.plist文件的OSBundleLibraries…
部分替换为上面的打印输出
kextload
加载它时,它现在应该可以正确链接