在 macOS 上禁止 App 连网的一个方法
在 macOS 上可以使用沙盒策略来禁止 App 连网。
App
假设目标 App 的目录结构如下:
/Applications/AbcdEfg.app
└── Contents
├── Info.plist
├── MacOS
│ ├── AbcdEfg
├── PkgInfo
├── Resources
│ └── icon.icns
└── _CodeSignature
└── CodeResources
操作步骤
- 将
AbcdEfg.app/Contents/MacOS/AbcdEfg重命名为AbcdEfg.app/Contents/MacOS/AbcdEfg_real。 - 将如下沙盒策略保存到
AbcdEfg.app/Contents/MacOS/no-network.sb。
(version 1)
(allow default)
(deny network*)
- 将如下脚本保存到
AbcdEfg.app/Contents/MacOS/AbcdEfg,并增加可执行权限。
#!/bin/sh
set -e
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
cd "${SCRIPT_DIR}"
sandbox-exec -f "no-network.sb" ./AbcdEfg_real
- 修改完成,最终的目录结构如下。
/Applications/AbcdEfg.app
└── Contents
├── Info.plist
├── MacOS
│ ├── AbcdEfg
│ ├── AbcdEfg_real
│ └── no-network.sb
├── PkgInfo
├── Resources
│ └── icon.icns
└── _CodeSignature
└── CodeResources
本文介绍了如何在macOS上通过修改App的目录结构和应用沙盒策略来禁止特定App的网络连接。主要步骤包括重命名文件、创建沙盒配置文件和编写执行脚本。
2126

被折叠的 条评论
为什么被折叠?



