对于有管理员权限的Mac,安装个软件可谓是轻轻松松,就算是设备管理,也只需要一点点的sudo就可以解决问题。但是没有管理员权限怎么办呢?DEP设备管理肯定会让大家苦不堪言了,没有关系,作者也属于没有管理员权限的人。那么,想要安装软件,有没有不需要管理员权限的通法呢?有的,至少对于我们学校这种级别的设备管理来说,那么该怎么做呢,大家继续往下看。

原理说明

本操作指南的原理非常的简单粗暴,既然暴力破解MDM没有什么胜算,所以我们只能通过篡改App而不是篡改系统的方式来进行,我们只需要去除App被黑名单识别的地方,大概率就可以正常打开软件了。

操作步骤

提醒一句:这个方法不适配App Store安装的软件(普通用户没有更改Applications文件夹的权限)和运行本身就需要管理员权限的软件(就算成功绕过限制打开也没有办法正常使用)

第一步:改名

我这里说的改名不是把QQ.app重命名成WC.app,而是右键程序,在弹出的窗口中点击显示包内容,

进入Contents/MacOS,可以看到和应用同名的二进制文件(图标和简介如下图,QQ举例,应该是一个名为微信的二进制)

作者经过研究后发现,MDM的封禁是通过把进程名和黑名单匹配来进行的,所以现在知道要做什么了吧~(是Outlook还是Bluebook完全自己决定哦~)。但是这个时候如果就误以为改好了,你会“惊喜”地发现:卧槽,启动不了!为什么呢?这是因为我们篡改App破坏了原有的签名和结构,所以我们还需要做一些小小的操作,首先用随便什么软件(作者推荐VS Code)打开Contents里的这个叫Info.plist的玩意(如下图)

然后你会看到一些不可名状的小代码(如下图)

只需要像作者一样把CFBundleExecutable底下的值改成你刚才改出来的名字(就像作者的Outlook),点击保存,这一步就完成了。

第二步:签名与加权

现在我们已经完成了对App本体的篡改,但这个时候我们破坏了App的签名,而且App的“下载得来”标签依然存在于App内部,这个时候我们呢只需打开终端,去除App所有的标签,输入以下代码(别回车),

1
xattr -cr 

输入代码后,然后把你的改造过的App直接拖进终端(-cr后的空格保留),-cr 后面会自动出现App的路径,此时回车,去除标签完毕。
接下来我们需要去除其坏掉的签名(输入以下代码之后也是把App拖进去再执行,记得原有代码最后的空格)

1
codesign --remove-signature 

接着再本地给App重签名(输入完代码拖入App再执行,记得原有代码最后的空格)

1
codesign --force --deep --sign - 

执行完毕后,关闭终端,大功告成!现在可以尝试启动App,QQ微信这种App大概率是可以正常启动的。