From 7821c02171d77229797e3a57edd0502e942373cc Mon Sep 17 00:00:00 2001 From: Kacper Sagalara Date: Fri, 19 Jun 2026 19:08:11 +0200 Subject: Add missing files. --- scripts/apk_obtain_permissions.sh | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 scripts/apk_obtain_permissions.sh (limited to 'scripts/apk_obtain_permissions.sh') diff --git a/scripts/apk_obtain_permissions.sh b/scripts/apk_obtain_permissions.sh new file mode 100755 index 0000000..c40c3b3 --- /dev/null +++ b/scripts/apk_obtain_permissions.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +if [ "$#" -ne 1 ]; then + echo "[x] Incorrect arguments!" + echo " Using: $0 " + exit 1 +fi + +TMP_DIR=$1 +APPS_DIR="$TMP_DIR/res/apks" +PERMISSIONS_APPS_DIR="$TMP_DIR/res/permissions" + +mkdir -p "$TMP_DIR/res/permissions" \ + "$TMP_DIR/res/permissions/apps" \ + "$TMP_DIR/res/permissions/priv-apps" + +obtain_permissions() { + local type_app=$1 + + for apk in "${APPS_DIR}"/$type_app/*.apk; do + package_name=$(aapt dump badging ${apk} | awk '/package:/{gsub("name=|'"'"'",""); print $2}') + permissions=$(aapt dump badging ${apk} | awk '/uses-permission:/{gsub("name=|'"'"'",""); print $2}') + + if [[ $type_app == "apps" ]]; then + out_file="${PERMISSIONS_APPS_DIR}/$type_app/default-permissions-${package_name}.xml" + echo -e '\n\n\t' > "$out_file" + for p in $permissions; do + echo -e '\t\t' >> "$out_file" + done + echo -e '\t\n' >> "$out_file" + + echo -e "\t[+] $out_file" + else + out_file="${PERMISSIONS_APPS_DIR}/$type_app/privapp-permissions-${package_name}.xml" + echo -e '\n\n\t' > "$out_file" + for p in $permissions; do + echo -e '\t\t' >> "$out_file" + done + echo -e '\t\n' >> "$out_file" + + echo -e "\t[+] $out_file" + fi + + done +} + +echo -e "[*] Obtaining permissions from APKs." +obtain_permissions "apps" +obtain_permissions "priv-apps" -- cgit v1.2.3