revolllut-deadname-remover/revloltutPatcher.sh

34 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
if [[ $# -lt 2 ]]; then
echo "usage: $0 <revolut_apk> <your desired name(s)>"
exit 0
fi
apk="$(realpath $1)"
mkdir -p revolut; cd revolut; rm -R base
[[ ! -f "apktool.jar" ]] && wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.5.0.jar -O apktool.jar
[[ ! -f "signapk.jar" ]] && wget https://github.com/techexpertize/SignApk/raw/master/signapk.jar -O signapk.jar
java -jar apktool.jar d "$apk" -o base
strings_file=$(grep -Rl '<string name="passcode.welcome')
sed -E -i 's/passcode.welcome.*%(1|s)/&'"$2"'/g;s/%(1|s)'"$2"'(\$s|)/'"$2"'/g;s/\$\{senderName\}/'"$2"'/g' "$strings_file"
if [[ ! -f "crypto.crt" || ! -f "key.pk8" ]]; then
openssl genrsa -out crypto.key 1024
openssl req -new -key crypto.key -out crypto.csr -subj "/C=PL/ST=Warsaw/L=Warsaw/O=Paweł Tanajno Rigcz Hawajska+ hacker collective"
openssl x509 -req -days 9999 -in crypto.csr -signkey crypto.key -out crypto.crt
cat crypto.key crypto.crt > certificate.pem
openssl pkcs8 -topk8 -outform DER -in certificate.pem -inform PEM -out key.pk8 -nocrypt
rm crypto.key crypto.csr certificate.pem
fi
java -jar apktool.jar --use-aapt2 b base -o out.apk
java -jar signapk.jar crypto.crt key.pk8 out.apk out_signed.apk
#rm -R revolut/base
#echo "IMPORTANT NOTE: please store crypto.crt and key.pk8 in a safe place - you'll need them to sign the app after any updates."
#echo "OUTPUT FILE: revolut/out_signed.apk"