aboutsummaryrefslogtreecommitdiff
path: root/scripts/permissions
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/permissions')
-rwxr-xr-xscripts/permissions/install_permissions.sh37
-rwxr-xr-xscripts/permissions/main.sh14
-rwxr-xr-xscripts/permissions/remove_permissions.sh154
3 files changed, 205 insertions, 0 deletions
diff --git a/scripts/permissions/install_permissions.sh b/scripts/permissions/install_permissions.sh
new file mode 100755
index 0000000..e802cc7
--- /dev/null
+++ b/scripts/permissions/install_permissions.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+if [ "$#" -ne 2 ]; then
+ echo "Incorrect arguments!"
+ echo " Using: $0 <BASE_DIR> <SRC_DIR>"
+ exit 1
+fi
+
+BASE_DIR=$1
+SRC_DIR=$2
+PERMISSIONS_APPS_SRC="${SRC_DIR}/permissions/apps"
+PERMISSIONS_PRIV_APPS_SRC="${SRC_DIR}/permissions/priv-apps"
+PERMISSIONS_APPS_DST="${BASE_DIR}/product_a/etc/default-permissions"
+PERMISSIONS_PRIV_APPS_DST="${BASE_DIR}/product_a/etc/permissions"
+
+install_permissions() {
+ local src_dir=$1
+ local dst_dir=$2
+ local label=$3
+
+ for file in "${src_dir}"/*.xml; do
+ file_name=$(basename "$file")
+
+ cp -L "$file" "${dst_dir}/${file_name}"
+ ./utils/scripts/add_to_fs.sh product_a "$file_name" "etc/$label"
+ done
+}
+
+install_permissions "$PERMISSIONS_APPS_SRC" "$PERMISSIONS_APPS_DST" "default-permissions"
+install_permissions "$PERMISSIONS_PRIV_APPS_SRC" "$PERMISSIONS_PRIV_APPS_DST" "permissions"
+
+echo -e '<?xml version="1.0" encoding="utf-8"?>\n<permissions>\n\t\t<privapp-permissions package="org.fdroid.fdroid.privileged">\n\t\t\t\t<permission name="android.permission.DELETE_PACKAGES"/>\n\t\t\t\t<permission name="android.permission.INSTALL_PACKAGES"/>\n\t\t</privapp-permissions>\n</permissions>' > "${PERMISSIONS_PRIV_APPS_DST}/org.fdroid.fdroid.privileged.xml"
+./utils/scripts/add_to_fs.sh product_a org.fdroid.fdroid.privileged.xml etc/permissions
+
+# sed -i '$d' ${BASE_DIR}/system_a/system/etc/permissions/privapp-permissions-platform.xml
+# echo -e '\n\t<privapp-permissions package="org.fdroid.fdroid.privileged">\n\t\t<permission name="android.permission.DELETE_PACKAGES"/>\n\t\t<permission name=" android.permission.INSTALL_PACKAGES"/>\n\t</privapp-permissions>\n' >> ${BASE_DIR}/product_a/etc/permissions/org.fdroid.fdroid.privileged.xml >> ${BASE_DIR}/system_a/system/etc/permissions/privapp-permissions-platform.xml
+# sed -i '$a</permissions>' ${BASE_DIR}/system_a/system/etc/permissions/privapp-permissions-platform.xml \ No newline at end of file
diff --git a/scripts/permissions/main.sh b/scripts/permissions/main.sh
new file mode 100755
index 0000000..4584f64
--- /dev/null
+++ b/scripts/permissions/main.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+if [ "$#" -ne 2 ]; then
+ echo "[x] Incorrect arguments!"
+ echo " Using: $0 <BASE_DIR> <TMP_DIR>"
+ exit 1
+fi
+
+BASE_DIR=$1
+TMP_DIR=$2
+SCRIPT_DIR=$(dirname "$(realpath "${BASH_SOURCE[0]}")")
+
+"${SCRIPT_DIR}"/remove_permissions.sh "$BASE_DIR"
+"${SCRIPT_DIR}"/install_permissions.sh "$BASE_DIR" "$TMP_DIR/res" \ No newline at end of file
diff --git a/scripts/permissions/remove_permissions.sh b/scripts/permissions/remove_permissions.sh
new file mode 100755
index 0000000..053f12a
--- /dev/null
+++ b/scripts/permissions/remove_permissions.sh
@@ -0,0 +1,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"