首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MacOS虚拟摄像头本身是否与10.14的强化运行时库验证不兼容?

MacOS虚拟摄像头本身是否与10.14的强化运行时库验证不兼容?
EN

Stack Overflow用户
提问于 2020-04-09 05:50:08
回答 3查看 5.5K关注 0票数 15

初步观测

为Mac 4.6.9进行缩放,它的地址是可怕的安全漏洞,它移除禁用-库-验证权限。

有了同样的版本,same,一个虚拟的摄像头应用程序,停工

研究

我不熟悉用于构建虚拟摄像头的特定API,但它似乎涉及到CoreMediaIO插件:

为OS X创建虚拟网络摄像头设备

代码语言:javascript
复制
> otool -L /Library/CoreMediaIO/Plug-Ins/DAL/SnapCamera.plugin/Contents/MacOS/SnapCamera
/Library/CoreMediaIO/Plug-Ins/DAL/SnapCamera.plugin/Contents/MacOS/SnapCamera:
    libSnapCamera.dylib (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1452.23.0)
    /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/CoreMediaIO (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo (compatibility version 1.2.0, current version 1.5.0)
    /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1452.23.0)
    /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
    /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)

出于好奇,我尝试了另外几个虚拟摄像头-- Iriun网络摄像机EpocCam --它们的行为都很相似。两者都有CoreMediaIO插件,而且都不适用于最近的Zoom。

这三个虚拟相机都在Microsoft团队中工作,它有以下权限:

代码语言:javascript
复制
> codesign -d --entitlements :- /Applications/Microsoft\ Teams.app/ |grep valid
Executable=/Applications/Microsoft Teams.app/Contents/MacOS/Teams
    <key>com.apple.security.cs.disable-library-validation</key>

他们也在谷歌Chrome上工作(在这个测试页上)。看来Chrome的一个助手至少有这样的权利:

代码语言:javascript
复制
codesign -d --entitlements :- /Applications/Google\ Chrome.app/Contents/Frameworks/Google\ Chrome\ Framework.framework/Versions/81.0.4044.92/Helpers/Google\ Chrome\ Helper\ \(Plugin\).app
Executable=/Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/Versions/81.0.4044.92/Helpers/Google Chrome Helper (Plugin).app/Contents/MacOS/Google Chrome Helper (Plugin)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
    <true/>
    <key>com.apple.security.cs.disable-library-validation</key>
    <true/>
</dict>
</plist>

我还注意到这个插件出现在Activity的Open和Ports中,用于属于团队和Chrome的几个进程。(/Library/CoreMediaIO/Plug-Ins/DAL/SnapCamera.plugin/Contents/MacOS/SnapCamera)

问题

CoreMedia虚拟网络摄像头插件是如何工作的,它们与库验证有本质的冲突吗?(例如,以一种不再允许的方式将库加载到摄像机中-使用过程)

是否不再可能在MacOS上创建虚拟网络摄像头而不与硬运行时发生冲突?

更新4/19:变焦的变化量g为4.6.10现在说:“缩放暂时取消了虚拟相机的支持。”看看他们是否/如何重新启用它,会很有趣的。(也许限制仅在需要时才使用的助手进程的权限?)

EN

回答 3

Stack Overflow用户

发布于 2020-06-18 17:48:02

我在Catalina10.15.5上的Microsoft为MacOS (8.61.0.95)也有同样的问题。

我可以通过以下方式来解决这个问题

cd /Applications/Skype.app/Contents/Frameworks

然后删除的所有的签名,即Skype的.app部分。

codesign --remove-signature Skype\ Helper.app

codesign --remove-signature Skype\ Helper\ \(GPU\).app

codesign --remove-signature Skype\ Helper\ \(Plugin\).app

codesign --remove-signature Skype\ Helper\ \(Renderer\).app

然后重启Skype。

现在在设置中,当您选择相机时,您应该看到CamTwist和CamTwist (2VUY)出现。

类似的修复方法适用于缩放:

codesign --remove-signature /Applications/zoom.us.app\

票数 5
EN

Stack Overflow用户

发布于 2020-08-04 17:32:57

团队和EpocCamHD也有同样的问题;必须从以下三个组件中删除代码签名:

代码语言:javascript
复制
sudo codesign --remove-signature /Applications/Microsoft\ Teams.app

sudo codesign --remove-signature /Applications/Microsoft\ Teams.app/Contents/MacOS/Teams

sudo codesign --remove-signature /Applications/Microsoft Teams.app/Contents/Frameworks/Microsoft\ Teams\ Helper.app
票数 0
EN

Stack Overflow用户

发布于 2020-11-04 20:52:54

为了在MS团队中恢复ecamm.com iGlasses虚拟凸轮功能,以前只删除了以下代码签名:

sudo -删除-签名/应用程序/MicrosoftTeams.app/Content/Framework/Microsoft\ Teams\ Helper.app

as:https://support.ecamm.com/en/articles/4343963-virtual-camera-missing-after-microsoft-teams-update

但是在最近的(MacOS 10.15.7,MS Team 1.00.326266)中,我发现在恢复iGlasses功能之前,还需要按照https://stackoverflow.com/users/14049551/tatorpitt删除另外两个代码签名:

数独协同设计--删除-签名/应用程序/Microsoft\ Teams.app

sudo codesign --删除-签名/应用程序/Microsoft\Teams.app/Content/MacOS/Teams

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61114738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档