aboutsummaryrefslogtreecommitdiff
path: root/scripts/permissions/remove_permissions.sh
blob: 053f12a60d66dd10061b0fee5a03b4792d2d90eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
#!/bin/bash

if [ "$#" -ne 1 ]; then
	echo "[-] Incorrect arguments!"
	echo "     Using: $0 <BASE_DIR>"
	exit 1
fi

BASE_DIR=$1
SYSTEM_DIR="${BASE_DIR}/system_a"
PRODUCT_DIR="${BASE_DIR}/product_a"
SYSTEM_EXT_DIR="${BASE_DIR}/system_ext_a"

REMOVE_GOOGLE_APP_PERMISSIONS=(
	"com.google.android.apps.restore"
	"com.google.android.apps.assistant"
	"com.google.android.apps.actionsservice"
	"com.google.android.apps.tachyon"
	"com.google.android.apps.photos"
)

REMOVE_GOOGLE_PRIVAPP_PERMISSIONS=(
	"com.google.android.apps.nbu.files"
	"com.google.android.apps.messaging"
	"com.google.android.apps.restore"
	"com.google.android.apps.safetyhub"
	"com.android.vending"
	"com.google.android.apps.actionsservice"
	"com.google.android.apps.assistant"
	"com.google.android.gms"
	"com.google.android.gms.supervision"
	"com.google.android.googlequicksearchbox"
	"com.android.hotwordenrollment.okgoogle"
)

REMOVE_CONFIG_PERMISSIONS=(
	# app permissions
	"${PRODUCT_DIR}/etc/default-permissions/default-permission-com.motorola.timeweatherwidget.xml"

	"${SYSTEM_EXT_DIR}/etc/default-permissions/default-permission-com.motorola.ccc.notification.xml"
	"${SYSTEM_EXT_DIR}/etc/default-permissions/default-permission-com.motorola.installer.xml"

	"${SYSTEM_DIR}/system/etc/default-permissions/default-permission-com.glance.lockscreenM.xml"
	"${SYSTEM_DIR}/system/etc/default-permissions/default-permission-com.motorola.motoota.xml"
	"${SYSTEM_DIR}/system/etc/default-permissions/default-permission-com.telcel.contenedor.xml"
	"${SYSTEM_DIR}/system/etc/default-permissions/default-permissions-com.aura.oobe.motorola.xml"
	"${SYSTEM_DIR}/system/etc/default-permissions/default-permissions-com.claro.contenedor.xml"
	"${SYSTEM_DIR}/system/etc/default-permissions/default-permissions-com.dti.motorola.xml"
	"${SYSTEM_DIR}/system/etc/default-permissions/default-permissions-com.handmark.expressweather.xml"
	"${SYSTEM_DIR}/system/etc/default-permissions/default-permissions-com.ironsource.appcloud.oobe.hutchison.xml"
	"${SYSTEM_DIR}/system/etc/default-permissions/default-permissions-com.motorola.gamemode.xml"
	"${SYSTEM_DIR}/system/etc/default-permissions/default-permissions-meta.xml"
	"${SYSTEM_DIR}/system/etc/default-permissions/default-permissions-sysdll.xml"
	"${SYSTEM_DIR}/system/etc/default-permissions/pregranted-notification-permission-orange.xml"

	# priv-app permissions
	"${PRODUCT_DIR}/etc/permissions/privapp-permissions-com.motorola.help.xml"
	"${PRODUCT_DIR}/etc/permissions/privapp-permissions-google-comms-suite.xml"
	"${PRODUCT_DIR}/etc/permissions/split-permissions-google.xml"
	"${PRODUCT_DIR}/etc/permissions/com.motorola.gamemode_cli_games.xml"
	"${PRODUCT_DIR}/etc/permissions/com.motorola.gamemode.xml"
	"${PRODUCT_DIR}/etc/permissions/com.motorola.help.xml"
	"${PRODUCT_DIR}/etc/permissions/com.motorola.timeweatherwidget.xml"
	# "${PRODUCT_DIR}/etc/permissions/feature-com.motorola.securevault.xml"
	"${PRODUCT_DIR}/etc/permissions/permission_ignite_com.dti.motorola.xml"
	"${PRODUCT_DIR}/etc/permissions/privapp-permissions-com.motorola.gamemode.xml"
	"${PRODUCT_DIR}/etc/permissions/privapp-permissions-com.payjoy.access.xml"

	"${SYSTEM_EXT_DIR}/etc/permissions/afw-com.motorola.livewallpaper.xml"
	"${SYSTEM_EXT_DIR}/etc/permissions/feature-com.motorola.securityhub.xml"
	"${SYSTEM_EXT_DIR}/etc/permissions/privapp-permissions-com.motorola.livewallpaper.xml"
	"${SYSTEM_EXT_DIR}/etc/permissions/privapp-permissions-com.motorola.installer.xml"
	"${SYSTEM_EXT_DIR}/etc/permissions/privapp-permissions-com.motorola.paks.xml"
	"${SYSTEM_EXT_DIR}/etc/permissions/privapp-permissions-com.motorola.motocare.xml"
	# "${SYSTEM_EXT_DIR}/etc/permissions/privapp-permissions-com.motorola.securevault.xml"
	"${SYSTEM_EXT_DIR}/etc/permissions/privapp-permissions-com.motorola.securityhub.xml"
	"${SYSTEM_EXT_DIR}/etc/permissions/privapp-permissions-com.motorola.ccc.devicemanagement.xml"
	"${SYSTEM_EXT_DIR}/etc/permissions/privapp-permissions-com.motorola.ccc.notification.xml"
	"${SYSTEM_EXT_DIR}/etc/permissions/privapp-permissions-com.motorola.demo.xml"
	"${SYSTEM_EXT_DIR}/etc/permissions/privapp-permissions-com.motorola.launcher3.xml" 
	"${SYSTEM_EXT_DIR}/etc/permissions/com.motorola.launcher3.delete.xml"
	"${SYSTEM_EXT_DIR}/etc/permissions/com.motorola.launcher3_feature.xml"
	"${SYSTEM_EXT_DIR}/etc/permissions/com.motorola.launcher3.swipe2stream.xml"
	"${SYSTEM_EXT_DIR}/etc/permissions/com.motorola.launcher3.twoline.xml"
	"${SYSTEM_EXT_DIR}/etc/permissions/privapp-permissions-com.motorola.coresettingsext.xml"

	"${SYSTEM_DIR}/system/etc/permissions/co.sitic.pp.powersave.xml"
	"${SYSTEM_DIR}/system/etc/permissions/feature-com.glance.lockscreenM.xml"
	"${SYSTEM_DIR}/system/etc/permissions/feature-com.taboola.ody.xml"
	"${SYSTEM_DIR}/system/etc/permissions/permission_ignite_com.motorola.genie.xml"
	"${SYSTEM_DIR}/system/etc/permissions/permission_SM_com.claroColombia.contenedor.xml"
	"${SYSTEM_DIR}/system/etc/permissions/permission_SM_com.telcel.contenedor.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-com.amazon.appmanager.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-com.android.providers.partnerbookmarks.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-com.ape.setupwizard.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-com.aura.oobe.motorola.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-com.glance.lockscreenM.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-com.ironsource.appcloud.oobe.hutchison.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-com.motorola.android.providers.chromehomepage.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-com.motorola.brapps.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-com.motorola.enterprise.adapter.service.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-com.motorola.enterprise.service.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-co.sitic.pp.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-meta.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-orange.xml"

	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-orange.xml"

	"${SYSTEM_DIR}/system/etc/permissions/com.motorola.enterpriseinternal.xml"
	# "${SYSTEM_DIR}/system/etc/permissions/com.motorola.enterprise.xml"
	# "${SYSTEM_DIR}/system/etc/permissions/com.motorola.motosignature.xml"
	"${SYSTEM_DIR}/system/etc/permissions/com.motorola.software.guideme.xml"
	# "${SYSTEM_DIR}/system/etc/permissions/moto-core_services.xml"
	# "${SYSTEM_DIR}/system/etc/permissions/moto-enterprise-internal.xml"
	# "${SYSTEM_DIR}/system/etc/permissions/moto-enterprise.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-com.motorola.motoota.xml"
	"${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-com.motorola.spaces.xml"
)

xml_remove_app_permission() {
	local pkg=$1
	local dst_file=$2

	echo -e "\t[-] App permission: ${pkg}"
	xml ed -L -d "/exceptions/exception [@package='${pkg}']" "${dst_file}"
}

xml_remove_privapp_permission() {
	local pkg=$1
	local dst_file=$2

	echo -e "\t[-] Privapp permission: ${pkg}"
	xml ed -L -d "/permissions/privapp-permissions [@package='${pkg}']" "${dst_file}"
}

echo "[i] Removing Google App permissions..."
for pkg in "${REMOVE_GOOGLE_APP_PERMISSIONS[@]}"; do
	xml_remove_app_permission "${pkg}" "${PRODUCT_DIR}/etc/default-permissions/default-permissions-google.xml"
done

echo "[i] Removing Google Priv-App permissions..."
for pkg in "${REMOVE_GOOGLE_PRIVAPP_PERMISSIONS[@]}"; do
	xml_remove_privapp_permission "${pkg}" "${PRODUCT_DIR}/etc/permissions/privapp-permissions-google-product.xml"
done

echo "[i] Removing config permissions..."
for config in "${REMOVE_CONFIG_PERMISSIONS[@]}"; do
	echo -e "\t[-] ${config}"
	rm -rf "$config"
done

xml_remove_privapp_permission "com.google.android.apps.setupwizard.searchselector" "${SYSTEM_DIR}/system/etc/permissions/privapp-permissions-google-system.xml"
xml_remove_privapp_permission "com.google.android.gsf" "${SYSTEM_EXT_DIR}/etc/permissions/privapp-permissions-google-system_ext.xml"
xml_remove_privapp_permission "com.google.android.apps.searchlite" "${PRODUCT_DIR}/etc/permissions/privapp-permissions-google-product.xml"