对于最新应用来说,需要授予一项权限, 执行下列脚本将会授权
如下,如果没有执行脚本,即使越狱,也会提示没有权限:
iPhone:/var/mobile/Containers/Data root# ls
ls: cannot open directory '.': Operation not permitted
将下面的脚本存入到某份文件,然后执行:
需要在 Cileo 这类越狱软件中安装软件包 ldid
#!/bin/bash
# Author: Shoaloak (Axel Koolhaas) 2024
# Description: Fix iOS binary entitlements/access for "Operation not permitted"
ENTITLEMENT="com.apple.private.security.container-manager"
binaries=("sh" "bash" "zsh" "dash" # Shell
"ls" "cat" "find" "cp" "mv" # File management
"rm" "mkdir" "rmdir" "touch"
"file" "ln" "du" "scp"
"chmod" "chown" "chgrp" # Permissions
"plutil" "otool" "nm" "lldb" # Debugging
)
# Confirmation
echo "This script will inject an entitlement into key binaries."
read -p "Are you sure? (y/n)" -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "Aborted."
exit 1
fi
temp_dir=$(mktemp -d)
trap 'rm -rf -- "$temp_dir"' EXIT # Remove temp_dir on exit
for bin in "${binaries[@]}"; do
# Check if binary exists
if ! command -v $bin &> /dev/null; then
echo "Binary '$bin' not found. Skipping."
continue
fi
# Check if the binary already has the entitlement
if ldid -e "$(which $bin)" | grep -q "${ENTITLEMENT}"; then
echo "Binary '$bin' already has the entitlement. Skipping."
continue
fi
# Logging
echo "Injecting entitlement into $bin..."
# Dump current entitlements
ldid -e "$(which $bin)" > "${temp_dir}/${bin}.xml"
# Inject new entitlement using sed
sed -i'' "s|</dict>| <key>${ENTITLEMENT}</key>\
<true/>\
</dict>|" "${temp_dir}/${bin}.xml"
# Overwrite binary
ldid -S"${temp_dir}/${bin}.xml" "$(which $bin)"
done
echo "Entitlement injection completed."