#!/bin/bash TMP_DIR="/tmp/driedlamu/modify_apk" decompile() { local file="$1" local file_name="$(basename "$file" .apk)" local working_dir="$TMP_DIR/$file_name" mkdir -p "$working_dir" if ! java -Xmx2048m -jar "./utils/jar/apktool.jar" d -q -f "$file" -o "$working_dir/decompile"; then echo "Error: Failed to decompile $file with apktool" exit 1 fi } repack() { local file="$1" local file_name="$(basename "$file" .apk)" local output_location="$2" local working_dir="$TMP_DIR/$file_name" local modified_apk="$working_dir/${file_name}_unsigned.apk" if ! java -Xmx2048m -jar "./utils/jar/apktool.jar" b -q -f "$working_dir/decompile" -o "$working_dir/${file_name}_unsigned.apk"; then echo "Error: Failed to recompile $file with apktool" exit 1 fi apksigcopier copy "$file" "$modified_apk" "${output_location}/${file_name}.apk" } mkdir -p $TMP_DIR apk_cli() { case $1 in unpack) decompile "$2" ;; repack) repack "$2" "$3" ;; *) echo "Please specify a valid type of task you wish to do (unpack, repack)." exit 1 ;; esac } apk_cli "$1" "$2" "$3"