22得票3回答
在 Mac 上读写 USB(HID)中断端点

我正在尝试与一个特定的USB设备通信,并开发既适用于Windows又适用于Mac的代码。 该设备是具有两个端点(中断输入和中断输出)的HID接口(类3)USB设备。设备的性质是仅当主机请求数据时,才会从设备上的输入端点发送数据:主机向其输入中断端点发送数据,设备则作出响应。将数据传输到设备(...

22得票6回答
什么是 /Library/StagedExtensions,如何移除扩展?

我想完全从 macOS High Sierra 中卸载 Parallels。 除了某些存储在 /Library/StagedExtensions/Parallel Desktop.app 下的 Parallels 扩展之外,我已从磁盘中删除了所有东西。 我认为这个位置与用户批准的扩展有关,但...

14得票2回答
苹果操作系统高级版High Sierra KEXT加载 - 有没有取消用户批准的方法?

正如某些MacOS开发人员所知,苹果实施了安全内核扩展加载。 用户可以通过单击“安全性与隐私”中的“批准”按钮来批准第三方KEXT。但是,一旦批准了KEXT,是否有任何取消批准的方法? 想象一下,测试具有KEXT加载等功能的应用程序的情况。 如果没有其他方法而只能进行干净安装,则很难测试...

11得票3回答
在 High Sierra 上,第二次安装带有有效签名的 macOS Kext 被拒绝。

在已经安装了我的产品的机器上,第二次安装失败了,原因是 kext 签名被拒绝。 我在一些地方看到了相同的错误,例如:https://support.eset.com/kb6570,但即使在恢复模式下清除了 kext_policy 表并在下一次启动中手动批准了 kext,在设置 -> 安...

11得票2回答
MacOSX:如何捕获网络事件?或者:Private-Eye是如何工作的?

我偶然发现了Private Eye,想知道它是如何工作的。 也就是说,它使用了哪些API来获取这些信息(所有传入/传出的网络连接以及使用它的应用程序)? 它正在安装一个kext。这是必需的吗?

10得票1回答
无法卸载内核扩展;类具有实例

我正在为音频设备驱动程序编写OSX内核扩展(它是软件,但模拟硬件设备)。 在开发过程中,完全卸载现有的旧版本,然后从头构建和安装新版本会很方便。然而,这有时似乎不可能在不重新启动系统的情况下完成。 程序本身没有运行,并且源文件已从 /System/Library/Extensions/ 目...

10得票3回答
从KEXT到守护进程的最佳通信方式且在守护进程返回结果前阻塞的方法

在 KEXT 中,我通过 vnode 或文件作用域侦听器监听文件关闭。对于某些(非常少量的)文件,我需要将文件路径发送到我的系统守护进程中进行一些处理(这必须在守护进程中完成),并将结果返回给 KEXT。文件关闭调用需要被阻塞,直到我从守护程序得到响应。根据结果,我需要在关闭调用中执行一些操作...

9得票1回答
使用启用了Kext证书的代码签名在kextload期间失败,“代码签名无效”

所以我们有一个证书,允许我们签署kexts, 但当我们运行 > sudo kextload friendly.kext 时,它失败了。 我们签署了想要的kext,并为了证明它已经签署了,这里是一些诊断输出: codesign --verify -vvvv friendly.kext ...

9得票3回答
代码签名的内核扩展为什么不能在Yosemite(10.10)中加载?

我在Yosemite上有一个kext的代码签名。但是 kextload 加载失败。 它是版本2的 codesign。 codesign --verify 是正确的。 但kextload加载失败了。为什么不能在Yosemite中加载? 这是我的日志。 我已经使用codesign -dvvv ...

9得票2回答
卸载仍具有实例的kext

我正在更新一个设备的驱动程序,并想要kextunload旧驱动程序并kextload新驱动程序,这样就不需要重新启动了。 安装后,我尝试执行以下操作: sudo kextunload /System/Library/Extensions/Driver.kext 发生的错误如下所示: ...