diff options
Diffstat (limited to 'scripts/permissions')
| -rwxr-xr-x | scripts/permissions/install_permissions.sh | 37 | ||||
| -rwxr-xr-x | scripts/permissions/main.sh | 14 | ||||
| -rwxr-xr-x | scripts/permissions/remove_permissions.sh | 154 |
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" |
