Skip to content

Commit 1340735

Browse files
feat: batch permission revoker with pattern matching
1 parent 106d8ec commit 1340735

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

scripts/batch_permission_revoke.sh

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/bin/bash
2+
# batch_permission_revoke.sh -- Revoke permissions from multiple apps matching a pattern
3+
# Usage: ./batch_permission_revoke.sh google CAMERA LOCATION
4+
# ./batch_permission_revoke.sh facebook READ_CONTACTS GET_ACCOUNTS
5+
6+
PATTERN="${1:?Usage: $0 <package-pattern> <perm1> <perm2> ...}"
7+
shift
8+
PERMS=("$@")
9+
10+
[[ ${#PERMS[@]} -eq 0 ]] && { echo "No permissions specified"; exit 1; }
11+
12+
echo "🔐 Batch Permission Revoker"
13+
echo "Pattern: $PATTERN"
14+
echo "Permissions: ${PERMS[@]}"
15+
echo ""
16+
17+
PKGS=$(adb shell pm list packages | grep "$PATTERN" | sed 's/package://')
18+
COUNT=$(echo "$PKGS" | wc -l)
19+
echo "Found $COUNT matching packages\n"
20+
21+
REVOKED=0
22+
for pkg in $PKGS; do
23+
for perm in "${PERMS[@]}"; do
24+
full_perm="android.permission.$perm"
25+
result=$(adb shell pm revoke "$pkg" "$full_perm" 2>&1)
26+
if [ $? -eq 0 ]; then
27+
echo "$pkg: $perm"
28+
((REVOKED++))
29+
fi
30+
done
31+
done
32+
33+
echo ""
34+
echo "✅ Revoked $REVOKED permission(s)"

0 commit comments

Comments
 (0)