Created
May 3, 2022 13:09
-
-
Save happysingh23828/ad29004fe68834622353c2fbaeb47919 to your computer and use it in GitHub Desktop.
sms-retriever-hash-generator-auto-read-otp-google
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# ------------------------------------------------------------------ | |
# [Author] Title | |
# Description | |
# ------------------------------------------------------------------ | |
VERSION=0.1.0 | |
SUBJECT=sms-retriever-hash-generator | |
USAGE="Usage: sms_retriever_hash_v9.sh --package package_name --keystore keystore_file" | |
# --- Options processing ------------------------------------------- | |
if [ $# == 0 ] ; then | |
echo $USAGE | |
exit 1; | |
fi | |
# USE: apkblacklister.sh --source source.apk --target target.apk more files to scan | |
if [[ "$1" != "--package" ]]; then | |
echo "Error: expected --package as first parameter" | |
exit 1 | |
fi | |
pkg="$2" | |
shift 2 | |
if [[ "$1" != "--keystore" ]]; then | |
echo "Error: expected --keystore as third parameter" | |
exit 1 | |
fi | |
keystore="$2" | |
shift 2 | |
echo | |
echo "package name: $pkg" | |
echo "keystore file: $keystore" | |
echo | |
if [ -e "$keystore" ] | |
then | |
echo "File $keystore is found." | |
echo | |
else | |
echo "File $keystore is not found." | |
echo | |
exit 0; | |
fi | |
# Retrieve certificate from keystore file. Decoded with Base64 and converted to hex | |
cert=$(keytool -list -rfc -keystore $keystore | sed -e '1,/BEGIN/d' | sed -e '/END/,$d' | tr -d ' \n' | base64 --decode | xxd -p | tr -d ' \n') | |
echo | |
echo "certificate in hex: $cert" | |
# concatenate input | |
input="$pkg $cert" | |
# 256 bits = 32 bytes = 64 hex chars | |
output=$(printf "$input" | shasum -a 256 | cut -c1-64) | |
echo | |
echo "SHA-256 output in hex: $output" | |
# take the beginning 72 bits (= 9 bytes = 18 hex chars) | |
output=$(printf $output | cut -c1-18) | |
# encode sha256sum output by base64 (11 chars) | |
base64output=$(printf $output | xxd -r -p | base64 | cut -c1-11) | |
echo | |
echo "First 8 bytes encoded by base64: $base64output" | |
echo | |
echo "SMS Retriever hash code: $base64output" | |
echo | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment