[SQUASH] refactor: treewide: separate patches, provide common common, refactor change_app_logo, commonize and enhance logging
adding new patches is now trivial: cd patches cp TEMPLATE patch_name_whatever.sh # then just fill in patch name and ver clamp if desired this gets rid of the need for excessive if-elses and not-so-pleasing indents for logging, instead of using pure echo, 4 new "levels" can be utilized - `info` : normal - `good` : info but have green color? - `warn` : warning - `err` : error Signed-off-by: fukiame <fukiame@proton.me>
This commit is contained in:
parent
d69960cba9
commit
0a89bce342
29 changed files with 907 additions and 21 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -2,4 +2,5 @@ mbapk/
|
|||
mbcpapp_apk/
|
||||
mbcpapp_apk/
|
||||
tools/
|
||||
.DS_STORE
|
||||
MBCPApp/patch.sh
|
||||
.DS_STORE
|
||||
|
|
|
|||
79
MBCPApp/common.sh
Normal file
79
MBCPApp/common.sh
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
#!/usr/bin/env bash
|
||||
# vim: expandtab tabstop=4 shiftwidth=4
|
||||
|
||||
# imported from https://github.com/dylanaraps/pure-bash-bible
|
||||
bb_split() {
|
||||
# Usage: split "string" "delimiter"
|
||||
IFS=$'\n' read -d "" -ra arr <<< "${1//$2/$'\n'}"
|
||||
# printf '%s\n' "${arr[@]}"
|
||||
printf '%s\n' "${arr[$3]}"
|
||||
}
|
||||
|
||||
# imported from https://github.com/dylanaraps/pure-sh-bible
|
||||
lstrip() {
|
||||
# Usage: lstrip "string" "pattern"
|
||||
printf '%s\n' "${1##$2}"
|
||||
}
|
||||
|
||||
# imported from https://github.com/dylanaraps/pure-sh-bible
|
||||
rstrip() {
|
||||
# Usage: rstrip "string" "pattern"
|
||||
printf '%s\n' "${1%%$2}"
|
||||
}
|
||||
|
||||
getvar() {
|
||||
# Usage: getline "n" "pattern" "file"
|
||||
while IFS= read -r line; do
|
||||
i=$((i+1))
|
||||
[ "$i" = "$1" ] && printf '%s\n' "${line##$2}" && return
|
||||
done < "$3"
|
||||
}
|
||||
|
||||
sed_libapp() {
|
||||
target=$(bb_split "$1" '|' '1')
|
||||
replacement=$(bb_split "$1" '|' '2')
|
||||
(
|
||||
sed -i "$1" "$DIRPATH"/mbapk/mbapk_unpacked/lib/arm64-v8a/libapp.so
|
||||
sed -i "$1" "$DIRPATH"/mbapk/mbapk_unpacked/lib/armeabi-v7a/libapp.so
|
||||
) && info "[sed_libapp] [$target] -> [$replacement]" || warn "[sed_libapp] replacing [$target] failed !"
|
||||
}
|
||||
|
||||
# libdesignersactivists.so are former known as libZDefend.so
|
||||
# MB moved it to libdesignersactivists.so since v6.4.48+
|
||||
# this currently is placeholder, and will be implemented later
|
||||
sed_libzdefend() {
|
||||
target=$(bb_split "$1" '|' '1')
|
||||
replacement=$(bb_split "$1" '|' '2')
|
||||
(
|
||||
sed -i "$1" "$DIRPATH"/mbapk/mbapk_unpacked/lib/arm64-v8a/libdesignersactivists.so
|
||||
sed -i "$1" "$DIRPATH"/mbapk/mbapk_unpacked/lib/armeabi-v7a/libdesignersactivists.so
|
||||
) && info "[sed_libzdefend] [$target] -> [$replacement]" || warn "[sed_libzdefend] replacing [$target] failed !"
|
||||
}
|
||||
|
||||
manifest_remove() {
|
||||
sed -i "/$1/d" "$DIRPATH"/mbapk/mbapk_unpacked/AndroidManifest.xml && \
|
||||
info "[manifest_remove] removing $1" || \
|
||||
warn "[manifest_remove] removing $1 failed"
|
||||
}
|
||||
|
||||
get_mb_ver() {
|
||||
a="$(grep -m1 'versionName' "$DIRPATH"/mbapk/mbapk_unpacked/apktool.yml)"
|
||||
a="$(bb_split "$a" ':' '1')"
|
||||
bb_split "$a" '.' '2'
|
||||
}
|
||||
|
||||
good() {
|
||||
echo -e "\033[32m[$(date +"%H:%M:%S:%2N")] [INFO] $1\033[0m"
|
||||
}
|
||||
|
||||
info() {
|
||||
echo "[$(date +"%H:%M:%S:%2N")] [INFO] $1"
|
||||
}
|
||||
|
||||
warn() {
|
||||
echo -e "\033[33m[$(date +"%H:%M:%S:%2N")] [WARN] $1\033[0m"
|
||||
}
|
||||
|
||||
err() {
|
||||
echo -e "\033[31m[$(date +"%H:%M:%S:%2N")] [ERROR] $1\033[0m"
|
||||
}
|
||||
|
|
@ -34,8 +34,8 @@ if [ "$opt" == 'Bypass 1200 error [v6.4.45]' ]; then
|
|||
# Checks for MBShield, if exists then exit function
|
||||
if [ -f "$DIRPATH"/mbapk/mbapk_unpacked/assets/mbshield.szip ]
|
||||
then
|
||||
echo "INFO : MBShield found on unpacked APK ! Bypass signature checks won't be possible if MBShield is present on current unpacked APK !"
|
||||
echo "INFO : Please use supported version !!!"
|
||||
info "MBShield found on unpacked APK ! Bypass signature checks won't be possible if MBShield is present on current unpacked APK !"
|
||||
info "Please use supported version !!!"
|
||||
echo "For React Native : MBBank/MB Lite v1.0 up to v6.3.11"
|
||||
echo "For Flutter : MBBank v6.4.0 up to v6.4.21"
|
||||
echo "Some specific version has no MBShield can also be used :"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ clear
|
|||
|
||||
# Check if user runs on actual Linux environment
|
||||
if uname -a | grep -i Linux ; then
|
||||
echo "INFO : You have Linux environment :)"
|
||||
info "You have Linux environment :)"
|
||||
fi
|
||||
|
||||
# Check if user is trying to run under WSL (Windows Subsystem for Linux)
|
||||
|
|
@ -27,20 +27,21 @@ fi
|
|||
if command -v figlet ; then
|
||||
FIGLET=figlet
|
||||
else
|
||||
echo "WARN : figlet not found, ignoring banner !"
|
||||
warn "figlet not found, ignoring banner !"
|
||||
FIGLET=:
|
||||
fi
|
||||
|
||||
COMMIT="$(git rev-parse --short HEAD)"
|
||||
. "$DIRPATH/common.sh"
|
||||
|
||||
# Check if java exists on /usr/bin/java
|
||||
# Check if java exists
|
||||
echo 'Checking if Java exists...'
|
||||
if ! java -version ; then
|
||||
echo "ERROR : Java not found !!!"
|
||||
echo "INFO : Please install Java for your Linux distribution ! "
|
||||
err "Java not found !!!"
|
||||
info "Please install Java for your Linux distribution ! "
|
||||
exit 127
|
||||
fi
|
||||
|
||||
COMMIT="$(git rev-parse --short HEAD)"
|
||||
clear
|
||||
|
||||
mbshield_found='MBShield found on [mbapk_unpacked/assets/mbshield.szip] !!!
|
||||
|
|
@ -56,8 +57,8 @@ download_tools() {
|
|||
apkeditor_link="https://github.com/REAndroid/APKEditor/releases/download/V1.4.4/APKEditor-1.4.4.jar"
|
||||
|
||||
cd tools && rm -rf ./*.jar
|
||||
wget -q --show-progress -O apktool.jar "$apktool_link" || echo "ERROR : downloading apktool failed"
|
||||
wget -q --show-progress -O apkeditor.jar "$apkeditor_link" || echo "ERROR : downloading apkeditor failed"
|
||||
wget -q --show-progress -O apktool.jar "$apktool_link" || err "downloading apktool failed"
|
||||
wget -q --show-progress -O apkeditor.jar "$apkeditor_link" || err "downloading apkeditor failed"
|
||||
cd ..
|
||||
}
|
||||
|
||||
|
|
@ -67,19 +68,19 @@ copy_assets() {
|
|||
|
||||
is_unpacked() {
|
||||
[ -d "$DIRPATH"/mbapk/mbapk_unpacked ] || {
|
||||
echo "ERROR : [mbapk_unpacked] not found ! Please unpack APK first !" ; return 127
|
||||
err "[mbapk_unpacked] not found ! Please unpack APK first !" ; return 127
|
||||
}
|
||||
}
|
||||
is_unpacked_lib() {
|
||||
[ -d "$DIRPATH"/mbapk/mbapk_unpacked/lib ] || {
|
||||
echo "ERROR : [mbapk_unpacked/lib] folder not found ! Please unpack APK first !" ; return 127
|
||||
err "[mbapk_unpacked/lib] folder not found ! Please unpack APK first !" ; return 127
|
||||
}
|
||||
}
|
||||
apktool_exist() {
|
||||
[ -f "$DIRPATH"/tools/apktool.jar ] || { echo "ERROR : apktool not found" ; return 127 ; }
|
||||
[ -f "$DIRPATH"/tools/apktool.jar ] || { err "apktool not found" ; return 127 ; }
|
||||
}
|
||||
apkeditor_exist() {
|
||||
[ -f "$DIRPATH"/tools/apkeditor.jar ] || { echo "ERROR : apkeditor not found" ; return 127 ; }
|
||||
[ -f "$DIRPATH"/tools/apkeditor.jar ] || { err "apkeditor not found" ; return 127 ; }
|
||||
}
|
||||
mb_apk_exist() {
|
||||
ls "$DIRPATH"/mbapk/*.apk >/dev/null 2>&1 || {
|
||||
|
|
@ -92,7 +93,7 @@ unpack_mbcp() {
|
|||
local - ; set -e
|
||||
{ apktool_exist && mb_apk_exist ; } || return 1
|
||||
rm -rf 'mbapk/mbapk_unpacked'
|
||||
java -jar tools/apktool.jar d mbapk/*.apk -o mbapk/mbapk_unpacked -j"$(nproc)" || { echo "ERROR : Unpacking failed !" ; return 1 ; }
|
||||
java -jar tools/apktool.jar d mbapk/*.apk -o mbapk/mbapk_unpacked -j"$(nproc)" || { err "Unpacking failed !" ; return 1 ; }
|
||||
echo "Cleaning useless files..."
|
||||
rm -rf 'mbapk/mbapk_unpacked/assets/_4A9w8flncUrhDOG8dyqLi_azBTYT3PlSXz0hiCzRQA_'
|
||||
rm -rf 'mbapk/mbapk_unpacked/assets/0QDl12M5S2hKxoKF4cNI4kEX1qDQRMiOd34TXjSjy4M_'
|
||||
|
|
@ -173,7 +174,7 @@ convert_apks() {
|
|||
}
|
||||
|
||||
run_patcher() {
|
||||
is_unpacked_lib && bash ./patch.sh
|
||||
is_unpacked_lib && bash ./parse.sh && bash ./patch.sh
|
||||
}
|
||||
|
||||
run_legacy_patcher() {
|
||||
|
|
@ -220,7 +221,7 @@ do
|
|||
then
|
||||
if [ -f "$DIRPATH"/mbapk/mbapk_unpacked/assets/mbshield.szip ]
|
||||
then
|
||||
echo "INFO : MBShield found ! Continuing !!!"
|
||||
info "MBShield found ! Continuing !!!"
|
||||
echo 'You MUST grant root access to [com.android.shell] in order to extract assets !'
|
||||
echo 'Trying to extract assets...'
|
||||
adb shell am force-stop com.mbmobile
|
||||
|
|
@ -262,10 +263,10 @@ then
|
|||
adb pull /sdcard/assets mbapk/mbapk_unpacked/
|
||||
adb shell rm -rf /sdcard/assets
|
||||
else
|
||||
echo "INFO : MBShield not found ! No need to extract assets !"
|
||||
info "MBShield not found ! No need to extract assets !"
|
||||
fi
|
||||
else
|
||||
echo "ERROR : Can't find [mbapk/mbapk_unpacked] folder, cannot continue ! "
|
||||
err "Can't find [mbapk/mbapk_unpacked] folder, cannot continue ! "
|
||||
echo "Please unpack APK first !"
|
||||
fi
|
||||
|
||||
|
|
@ -280,7 +281,7 @@ done
|
|||
echo "Clearing [com.mbmobile] data..."
|
||||
adb shell pm clear com.mbmobile
|
||||
adb shell am start -n com.mbmobile/io.flutter.plugins.MainActivity
|
||||
echo "INFO : Current logged in account will remain present, even if app data is cleared !"
|
||||
info "Current logged in account will remain present, even if app data is cleared !"
|
||||
;;
|
||||
|
||||
'Pull latest commit' )
|
||||
|
|
|
|||
84
MBCPApp/parse.sh
Normal file
84
MBCPApp/parse.sh
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC2295
|
||||
# vim: expandtab tabstop=4 shiftwidth=4
|
||||
|
||||
[ -n "$DIRPATH" ] || {
|
||||
echo 'ERROR : $DIRPATH not set, script ran standalone?'
|
||||
exit 1
|
||||
}
|
||||
|
||||
. "$DIRPATH/common.sh"
|
||||
|
||||
echo '#!/usr/bin/env bash
|
||||
|
||||
[ -n "$DIRPATH" ] || {
|
||||
err "DIRPATH not set, script ran standalone?"
|
||||
exit 1
|
||||
}
|
||||
|
||||
[ -d "$DIRPATH"/mbapk/mbapk_unpacked ] || {
|
||||
err "[mbapk_unpacked] folder not found, please unpack APK first !"
|
||||
exit 127
|
||||
}
|
||||
|
||||
. "$DIRPATH/common.sh"
|
||||
|
||||
applyPatch() {
|
||||
good "Applying patch [$opt]"
|
||||
if bash "$2" ; then
|
||||
good "Patch [$opt] applied successfully"
|
||||
echo "Patch applied by MBCPApp Patcher on $(uname -s -r) with commit : $(git rev-parse --short HEAD) at $(date)." > "mbapk/mbapk_unpacked/assets/mbcp_info/$1.inf"
|
||||
else
|
||||
err "Patch [$opt] failed"
|
||||
fi
|
||||
}
|
||||
|
||||
echo "--------------------------
|
||||
Patch list for MBCPApp :"
|
||||
PS3="Select patch options : "' > patch.sh
|
||||
|
||||
for f in patches/*.sh ; do
|
||||
# name without suffix and prefix
|
||||
n="$(rstrip "$f" '.sh')"
|
||||
n="$(lstrip "$n" 'patches/')"
|
||||
|
||||
# patch infos
|
||||
pname="$(getvar "2" "# PATCHNAME: " "$f")"
|
||||
maxver="$(getvar "3" "# MAXVER: " "$f")"
|
||||
minver="$(getvar "4" "# MINVER: " "$f")"
|
||||
|
||||
pname=${pname//[^a-zA-Z0-9_& ]/}
|
||||
minver="${minver//[^0-9.]/}"
|
||||
maxver="${maxver//[^0-9.]/}"
|
||||
|
||||
#echo "$f|$pname|$minver|$maxver"
|
||||
|
||||
[ -n "$pname" ] || {
|
||||
warn "[parser] $f missing PATCHNAME, not adding"
|
||||
continue
|
||||
}
|
||||
[ -n "$minver" ] && {
|
||||
[ "$(get_mb_ver)" -gt "$minver" ] || {
|
||||
info "[parser] skipping [$pname] as current version is lower than patch version clamp"
|
||||
continue ; }
|
||||
} || :
|
||||
[ -n "$maxver" ] && {
|
||||
[ "$(get_mb_ver)" -lt "$maxver" ] || {
|
||||
info "[parser] skipping [$pname] as current version is higher than patch version clamp"
|
||||
continue ; }
|
||||
} || :
|
||||
|
||||
opts_arr+=" '$pname'"
|
||||
append+=" '$pname') applyPatch $n $f ;;
|
||||
"
|
||||
done
|
||||
|
||||
opts_arr+=" 'Exit'"
|
||||
#echo "$opts_arr"
|
||||
echo "select opt in $opts_arr" >> patch.sh
|
||||
echo 'do
|
||||
case "$opt" in' >> patch.sh
|
||||
echo "$append
|
||||
'Exit' ) exit ;;
|
||||
esac
|
||||
done" >> patch.sh
|
||||
6
MBCPApp/patches/TEMPLATE
Normal file
6
MBCPApp/patches/TEMPLATE
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME:
|
||||
# MAXVER:
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091
|
||||
. "$DIRPATH"/common.sh
|
||||
12
MBCPApp/patches/add_anime_resources.sh
Normal file
12
MBCPApp/patches/add_anime_resources.sh
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME: Add anime resources
|
||||
# MAXVER:
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091
|
||||
. "$DIRPATH"/common.sh
|
||||
|
||||
cp -f 'blob_patches/anime_resources/rating_illus_fiveStar.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/'
|
||||
cp -f 'blob_patches/anime_resources/rating_illus_fourStar.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/'
|
||||
cp -f 'blob_patches/anime_resources/rating_illus_threeStar.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/'
|
||||
cp -f 'blob_patches/anime_resources/rating_illus_twoStar.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/'
|
||||
cp -f 'blob_patches/anime_resources/rating_illus_oneStar.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/'
|
||||
10
MBCPApp/patches/add_modified_resources.sh
Normal file
10
MBCPApp/patches/add_modified_resources.sh
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME: Add modified resources
|
||||
# MAXVER:
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091
|
||||
. "$DIRPATH"/common.sh
|
||||
|
||||
info "Copying modified resources..."
|
||||
cp -r -f 'blob_patches/resources/raw' 'mbapk/mbapk_unpacked/res/'
|
||||
cp -f 'blob_patches/resources/strings-vi/strings.xml' 'mbapk/mbapk_unpacked/res/values-vi/'
|
||||
97
MBCPApp/patches/autopatch_strings.sh
Normal file
97
MBCPApp/patches/autopatch_strings.sh
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME: Autopatch strings
|
||||
# MAXVER:
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091
|
||||
. "$DIRPATH"/common.sh
|
||||
|
||||
# App embedded links
|
||||
# App update button url
|
||||
sed_libapp 's|market://details?id=com.mbmobile|https://t.me/mbbpatch/2?ref=mbcp|g'
|
||||
# Facebook button url
|
||||
sed_libapp 's|https://www.facebook.com/VietnamMBBank?mibextid=LQQJ4d|https://gitlab.com/mbcp/mbbpatch/? |g'
|
||||
# VNeID download url
|
||||
sed_libapp 's|https://play.google.com/store/apps/details?id=com.vnid|https://www.apkmirror.com/uploads/?appcategory=vneid??|g'
|
||||
|
||||
# App embedded strings
|
||||
sed_libapp 's|online OTP|DigitalOTP|g'
|
||||
sed_libapp 's|Online OTP|DigitalOTP|g'
|
||||
sed_libapp 's|MB Bank|MBCPApp|g'
|
||||
sed_libapp 's|The lastest version|TG/GitLab: mbbpatch|g'
|
||||
sed_libapp 's|User profile|View profile|g'
|
||||
sed_libapp 's|User ID|Phone |g'
|
||||
sed_libapp 's|MB Membership Package|MB Membership |g'
|
||||
sed_libapp 's|email information|Email information|g'
|
||||
sed_libapp 's|Premium Account Number|Open new lucky account|g'
|
||||
sed_libapp 's|Cashback 150K| |g'
|
||||
sed_libapp 's|Request for supplying password|Request for new password |g'
|
||||
sed_libapp 's|ID card/ID card|Old/New ID card|g'
|
||||
sed_libapp 's|Number of document|Number of id card |g'
|
||||
sed_libapp 's|Your device will be locked if you enter incorrectly more than 5 times. Please try again or select the "Forgot password" feature to be reissued.|Your account will be locked if you enter incorrect password more tham 5 times. Please try again or use the "Forgot password" feature to reset. |g'
|
||||
sed_libapp 's|Introduction to receive money|Invite using MB |g'
|
||||
sed_libapp 's|Shopping- Entertainment- Investment|Flutter embedded MiniApps |g'
|
||||
sed_libapp 's|Downloaded themes|Your owned themes|g'
|
||||
sed_libapp 's|Coming soon|Placeholder|g'
|
||||
sed_libapp 's|Coming Soon|Placeholder|g'
|
||||
sed_libapp 's|MBBank app|MBCPApp |g'
|
||||
|
||||
# Adapt for v6.4.56+
|
||||
sed_libapp 's|MBBank APP|MBCPApp |g'
|
||||
# Adapt for v6.4.56+
|
||||
sed_libapp 's|APP MBBank|MBCPApp |g'
|
||||
sed_libapp 's|MBBank App|MBCPApp |g'
|
||||
sed_libapp 's|App MBBank|MBCPApp |g'
|
||||
sed_libapp 's|get notifications|Get notifications|g'
|
||||
sed_libapp 's|Read the announcement|Notify with voice |g'
|
||||
|
||||
sed_libapp 's|Viettel post|Viettel Post|g'
|
||||
sed_libapp 's|This service has been upgraded, please update the app to continue using the service|This app version is expired, please update or repatch with newer version. (GW525) |g'
|
||||
sed_libapp 's|Welcome to the MBBank APP!|Thanks for login to MBCP~ |g'
|
||||
sed_libapp 's|There is no device registered for DOTP|No active DigitalOTP device found :> |g'
|
||||
sed_libapp 's|Transaction authentication code (OTP) has been sent to your phone number|DigitalOTP registration code (OTP) has been sent to your phone number : |g'
|
||||
sed_libapp 's|You can request a new code later|You can request a new code after|g'
|
||||
sed_libapp 's|Verification information is invalid, please contact hotline 1900545426 for support|EKYC failed, please go to our Telegram group (@mbbpatch) for details and help !!! |g'
|
||||
# XPE002/XPE003 dialog contents :
|
||||
sed_libapp 's|MB has detected that the device is currently not secure for performing transactions|This dialog are showing cuz server-side MB changes for rooted devices are enforced.|g'
|
||||
sed_libapp 's|Please try closing and reopening the app, or reinstalling the MBCPApp from the app store to continue using the service.|If you are patching via Patcher with v6.4.59+ or newer, please repatch and dont include [Remove new root detection] patch.|g'
|
||||
|
||||
sed_libapp 's|Set up DigitalOTP|Setup DigitalOTP |g'
|
||||
sed_libapp 's|Set up facial authentication|Setup eKYC for transactions |g'
|
||||
sed_libapp 's|facial|seKYC |g'
|
||||
sed_libapp 's|Dentification|Identifier |g'
|
||||
|
||||
sed_libapp 's|The data synchronization process was not successful, please restart the MBCPApp or redownload it on the app market|Unable to connect to MB server or VTAP isnt properly working. Please restart MBCPApp and try to login again. |g'
|
||||
|
||||
sed_libapp 's|Devices registered with DOTP|Active DigitalOTP devices |g'
|
||||
|
||||
sed_libapp 's|Select Digital OTP Setup / Configuration|3 dots / Setup DigitalOTP / Register |g'
|
||||
sed_libapp 's|Total Balance in VND|Total balance in VND|g'
|
||||
sed_libapp 's|Simply enter the DigitalOTP PIN, and the system will Autoally activate to process encryption and transaction authentication.|Simply enter the DigitalOTP PIN, and the VTAP system will activate to process encryption and transaction authentication. |g'
|
||||
|
||||
sed_libapp 's|productionrn|mbcpreleases|g'
|
||||
|
||||
sed_libapp 's|Momo|MoMo|g'
|
||||
sed_libapp 's|Zalo Pay|ZolaPay |g'
|
||||
sed_libapp 's|MB membership|MB Membership|g'
|
||||
|
||||
sed_libapp 's|Open account ice number|Open new account number|g'
|
||||
sed_libapp 's|Link Management|Link management|g'
|
||||
sed_libapp 's|Set as Default Account|Set as default account|g'
|
||||
sed_libapp 's|Account Balance|Account balance|g'
|
||||
sed_libapp 's|New release|Features |g'
|
||||
sed_libapp 's|Challenge to receive gifts|Others |g'
|
||||
sed_libapp 's|MB will Autoally transfer the entire remaining balance to the account you have selected|MB will transfer the balance from the closed account to the account you have selected. |g'
|
||||
sed_libapp 's|You have not registered for D-OTP|DigitalOTP is not registered |g'
|
||||
sed_libapp 's|Please register for D-OTP to use this feature|DigitalOTP is required for this feature. |g'
|
||||
sed_libapp 's|Register D-OTP|Register now |g'
|
||||
sed_libapp 's|The login session expired. Please login again|Login session are expired. Please login again|g'
|
||||
sed_libapp 's|I understand|OKAY |g'
|
||||
sed_libapp 's|Authentication with DigitalOTP|DigitalOTP authentication |g'
|
||||
sed_libapp 's|DigitalOTP information|DigitalOTP Information|g'
|
||||
sed_libapp 's|Do you want to exit the app?|Back button pressed. Exit ? |g'
|
||||
sed_libapp 's|Exit application|Exit MBCPApp |g'
|
||||
sed_libapp 's|To use this feature, please install|To use this feature, please setup |g'
|
||||
sed_libapp 's|Setup D-OTP|Digital OTP|g'
|
||||
sed_libapp 's|Your login session expired|Login session will end :< |g'
|
||||
# Placeholder toolbox
|
||||
sed_libapp 's|Shopping, entertainment|MBCPApp Toolbox |g'
|
||||
12
MBCPApp/patches/bypass_accessibility_malicious_app_check.sh
Normal file
12
MBCPApp/patches/bypass_accessibility_malicious_app_check.sh
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME: Bypass accessibility & malicious apps check
|
||||
# MAXVER: 55
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091
|
||||
. "$DIRPATH"/common.sh
|
||||
|
||||
info 'Copying patched [MbbankUtilitiesPlugin]...'
|
||||
cp -r -f 'blob_patches/bypass_accessibility_applist/com' 'mbapk/mbapk_unpacked/smali_classes3'
|
||||
manifest_remove 'uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"'
|
||||
sed_libapp 's|PackageName|packageMBBB|g'
|
||||
sed_libapp 's|packageName|packageMBBa|g'
|
||||
27
MBCPApp/patches/bypass_new_zimperium_detection.sh
Normal file
27
MBCPApp/patches/bypass_new_zimperium_detection.sh
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME: Bypass new zimperium detection
|
||||
# MAXVER:
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091
|
||||
. "$DIRPATH"/common.sh
|
||||
|
||||
#if [ -f "$DIRPATH"/mbapk/mbapk_unpacked/smali/androidx/UnderlyingVcl.smali ]
|
||||
info 'Removing [libvvb2060.so]...'
|
||||
rm -f 'mbapk/mbapk_unpacked/lib/arm64-v8a/libvvb2060.so'
|
||||
rm -f 'mbapk/mbapk_unpacked/lib/armeabi-v7a/libvvb2060.so'
|
||||
info 'Removing [libtoolChecker.so]...'
|
||||
rm -f 'mbapk/mbapk_unpacked/lib/arm64-v8a/libtoolChecker.so'
|
||||
rm -f 'mbapk/mbapk_unpacked/lib/armeabi-v7a/libtoolChecker.so'
|
||||
info "Removing checksum from provider..."
|
||||
sed -i 's|e1a14adc915d7ad159edf2668b0dfcb359cf86538642de0e425d027f66eb07b2||g' "$DIRPATH"/mbapk/mbapk_unpacked/smali/androidx/UnderlyingVcl.smali
|
||||
sed -i 's|ca168a2ad00a92b8010d6801c3ca43e6df9f3701f084f6864399eaa4bbfaf56d||g' "$DIRPATH"/mbapk/mbapk_unpacked/smali/androidx/UnderlyingVcl.smali
|
||||
sed -i 's|5c9a139e42e6e6032ddbc1092af9831b8142e4e5ae89700fc7828f5bd62e1671||g' "$DIRPATH"/mbapk/mbapk_unpacked/smali/androidx/UnderlyingVcl.smali
|
||||
sed -i 's|c0a161a71738083df4298a0f03b0c54abf5bfda97c7d230875d97593733226ec||g' "$DIRPATH"/mbapk/mbapk_unpacked/smali/androidx/UnderlyingVcl.smali
|
||||
info "Patching [libdesignersactivists.so]..."
|
||||
sed_libzdefend 's|zimperium.c|zimperium.x|g'
|
||||
sed_libzdefend 's|com.zimperium.threat.new|app.zimperiam.nonpop.all|g'
|
||||
sed_libzdefend 's|com.zimperium.command|app.zimperiam.commall|g'
|
||||
sed_libzdefend 's|com.zimperium.threat.get|app.zimperiam.nonpop.all|g'
|
||||
sed_libzdefend 's|detection|freedom..|g'
|
||||
manifest_remove 'android:name="android.permission.QUERY_ALL_PACKAGES"'
|
||||
warn "Clearing app data is mandatory in order to not trigger root detect screen"
|
||||
35
MBCPApp/patches/change_app_logo.sh
Normal file
35
MBCPApp/patches/change_app_logo.sh
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME: Change app logo
|
||||
# MAXVER:
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091
|
||||
. "$DIRPATH"/common.sh
|
||||
|
||||
PS3='Select app icon variant to continue, or [7] to quit : '
|
||||
select opt in 'MB Classic' 'Tet' 'Valentine 2025' '30/4-1/5' 'Summer 2025' 'Noel' 'Exit'
|
||||
do
|
||||
case "$opt" in
|
||||
'MB Classic') variant="normal" ;;
|
||||
'Tet') variant="tet" ;;
|
||||
'Valentine 2025') variant="valentine" ;;
|
||||
'30/4-1/5') variant="thongnhatVN" ;;
|
||||
'Summer 2025') variant="summer2025" ;;
|
||||
'Noel') variant="noel" ;;
|
||||
'Exit') exit ;;
|
||||
esac
|
||||
|
||||
info 'Removing old logos...'
|
||||
rm -rf "$DIRPATH"/mbapk/mbapk_unpacked/res/mipmap-hdpi
|
||||
rm -rf "$DIRPATH"/mbapk/mbapk_unpacked/res/mipmap-mdpi
|
||||
rm -rf "$DIRPATH"/mbapk/mbapk_unpacked/res/mipmap-xhdpi
|
||||
rm -rf "$DIRPATH"/mbapk/mbapk_unpacked/res/mipmap-xxhdpi
|
||||
rm -rf "$DIRPATH"/mbapk/mbapk_unpacked/res/mipmap-xxxhdpi
|
||||
|
||||
info 'Copying new logos to [mbapk_unpacked/res]...'
|
||||
cp -r -f "$DIRPATH"/mbcpicons/"$variant"/mipmap-hdpi mbapk/mbapk_unpacked/res
|
||||
cp -r -f "$DIRPATH"/mbcpicons/"$variant"/mipmap-mdpi mbapk/mbapk_unpacked/res
|
||||
cp -r -f "$DIRPATH"/mbcpicons/"$variant"/mipmap-xhdpi mbapk/mbapk_unpacked/res
|
||||
cp -r -f "$DIRPATH"/mbcpicons/"$variant"/mipmap-xxhdpi mbapk/mbapk_unpacked/res
|
||||
cp -r -f "$DIRPATH"/mbcpicons/"$variant"/mipmap-xxxhdpi mbapk/mbapk_unpacked/res
|
||||
|
||||
done
|
||||
7
MBCPApp/patches/force_portrait_screen.sh
Normal file
7
MBCPApp/patches/force_portrait_screen.sh
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME: Force portrait screen
|
||||
# MAXVER:
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091
|
||||
. "$DIRPATH"/common.sh
|
||||
sed -i 's|fullSensor|portrait|g' "$DIRPATH"/mbapk/mbapk_unpacked/AndroidManifest.xml
|
||||
21
MBCPApp/patches/hide_vtap_root_detection_activity.sh
Normal file
21
MBCPApp/patches/hide_vtap_root_detection_activity.sh
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME: Hide VTAP root detection activity & dialog
|
||||
# MAXVER:
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091,SC2016
|
||||
. "$DIRPATH"/common.sh
|
||||
|
||||
# Adapt with v6.4.53+
|
||||
sed -i 's|Lcom/vtap/MaintenanceActivity;|Lio/flutter/plugins/MainActivity;|g' "$DIRPATH"/mbapk/mbapk_unpacked/smali_classes4/com/vtap/d.smali > /dev/null 2>&1
|
||||
|
||||
sed -i 's|Lcom/vtap/MaintenanceActivity;|Lio/flutter/plugins/MainActivity;|g' "$DIRPATH"/mbapk/mbapk_unpacked/smali_classes4/com/vtap/VTapSetupPlugin.smali > /dev/null 2>&1
|
||||
rm -f 'mbapk/mbapk_unpacked/smali_classes4/com/vtap/MaintenanceActivity.smali'
|
||||
rm -f 'mbapk/mbapk_unpacked/smali_classes4/com/vtap/MaintenanceActivity$1.smali'
|
||||
rm -f 'mbapk/mbapk_unpacked/smali_classes4/com/vkey/android/vguard/VGDialogActivity.smali'
|
||||
sed -i 's|Lcom/vkey/android/vguard/VGDialogActivity;|Lio/flutter/plugins/MainActivity;|g' "$DIRPATH"/mbapk/mbapk_unpacked/smali_classes4/com/vkey/android/dy.smali
|
||||
# Bypass VKey root check that throw VGFullScreenDialogActivity then exit :)
|
||||
cp -f 'blob_patches/bypass_rootold/BasicThreatInfo.smali' 'mbapk/mbapk_unpacked/smali_classes4/com/vkey/android/internal/vguard/engine/'
|
||||
cp -f 'blob_patches/bypass_rootold/VGThreatAppInfo.smali' 'mbapk/mbapk_unpacked/smali_classes4/com/vkey/android/vguard/model/'
|
||||
cp -f 'blob_patches/bypass_rootold/VGThreatResponse.smali' 'mbapk/mbapk_unpacked/smali_classes4/com/vkey/android/vguard/model/'
|
||||
# Test crash fixes for some Android 13 devices
|
||||
sed -i 's|invoke-virtual {v5, v12}, Lcom/vkey/android/vguard/model/VGThreatResponse;->setUsingLegacyMessage(Z)V| |g' 'mbapk/mbapk_unpacked/smali_classes4/com/vkey/android/eg.smali'
|
||||
86
MBCPApp/patches/modify_app_theme.sh
Normal file
86
MBCPApp/patches/modify_app_theme.sh
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME: Modify app theme
|
||||
# MAXVER:
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091
|
||||
. "$DIRPATH"/common.sh
|
||||
|
||||
info "In order to modify app theme, you must extract assets first if current unpacked APK has MBShield!"
|
||||
PS3='Select themes : '
|
||||
select opt in 'MBCP SemiPriority' 'MBCP MBClassic' 'Noel 2024' 'Exit'
|
||||
do
|
||||
case "$opt" in
|
||||
'MBCP SemiPriority')
|
||||
info 'Moving [priority] folder...'
|
||||
cp -r 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/priority' 'blob_patches/semipriority/'
|
||||
info 'Modifying QR background...'
|
||||
cp 'blob_patches/semipriority/priority/a_background_image.webp' 'blob_patches/semipriority/priority/qr_img_ThemeDefalut.webp'
|
||||
info 'Copying to [flutter_assets/assets/images/dynamic/base]'
|
||||
cp -r -f 'blob_patches/semipriority/priority/*' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
info 'Copying [ic_logo_mb_text.svg]...'
|
||||
cp -f 'blob_patches/semipriority/ic_logo_mb_text.svg' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/svgs/'
|
||||
info 'Copying [welcom_img_eMbee.webp]...'
|
||||
cp -f 'blob_patches/semipriority/welcom_img_eMbee.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
info 'Cleaning...'
|
||||
rm -rf 'blob_patches/semipriority/priority'
|
||||
patch_finish "semipriority_theme"
|
||||
good "Applied [MBCP SemiPriority] theme."
|
||||
;;
|
||||
'MBCP MBClassic')
|
||||
info "Ensure that SemiPriority theme is not applied before this !"
|
||||
info "Otherwise it will have like mixed SemiPriority and MB Classic theme, You've been warned !!! "
|
||||
cp -f 'blob_patches/mbclassic/a_background_image.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/mbclassic/general_bg_screenshot.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/mbclassic/homeLanding_bg_main.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/mbclassic/loading_bg_main.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/mbclassic/login_bg_main.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/mbclassic/qr_img_ThemeDefalut.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
sed_libapp 's|https://filestatic.mbbank.com.vn/mbapp-images/rs/prime/ThemeImage/theme_img_screenLoginClassic.png|https://gitlab.com/-/project/56341767/uploads/f585b28f88876db211f116d1d622031d/mbcp_login.png?git1|g'
|
||||
sed_libapp 's|https://filestatic.mbbank.com.vn/mbapp-images/rs/prime/ThemeImage/theme_img_screenLoginClassic.png|https://gitlab.com/-/project/56341767/uploads/f585b28f88876db211f116d1d622031d/mbcp_login.png?git1|g'
|
||||
sed_libapp 's|https://filestatic.mbbank.com.vn/mbapp-images/rs/prime/ThemeImage/theme_img_thumbnailClassic.png|https://gitlab.com/-/project/56341767/uploads/ba4f0923a4956ba379868e01c55e9cfb/thumb.png?aaaaaaa|g'
|
||||
sed_libapp 's|https://filestatic.mbbank.com.vn/mbapp-images/rs/prime/ThemeImage/theme_img_thumbnailClassic.png|https://gitlab.com/-/project/56341767/uploads/ba4f0923a4956ba379868e01c55e9cfb/thumb.png?aaaaaaa|g'
|
||||
sed_libapp 's|https://filestatic.mbbank.com.vn/mbapp-images/rs/prime/ThemeImage/theme_img_screenHomeClassic.png|https://gitlab.com/-/project/56341767/uploads/1d7fcf300167e87440220a6f0d28b8c1/mbcp_lobby.png?aaa|g'
|
||||
sed_libapp 's|https://filestatic.mbbank.com.vn/mbapp-images/rs/prime/ThemeImage/theme_img_screenHomeClassic.png|https://gitlab.com/-/project/56341767/uploads/1d7fcf300167e87440220a6f0d28b8c1/mbcp_lobby.png?aaa|g'
|
||||
sed_libapp 's|https://filestatic.mbbank.com.vn/mbapp-images/rs/prime/ThemeImage/theme_img_screenSuccessClassic.png|https://gitlab.com/-/project/56341767/uploads/d94e257eb6cf59865016a939541c32fc/mbcp_transfer.png?aaa|g'
|
||||
sed_libapp 's|https://filestatic.mbbank.com.vn/mbapp-images/rs/prime/ThemeImage/theme_img_screenSuccessClassic.png|https://gitlab.com/-/project/56341767/uploads/d94e257eb6cf59865016a939541c32fc/mbcp_transfer.png?aaa|g'
|
||||
patch_finish "mbclassic_theme"
|
||||
good 'Applied [MBCP MBClassic] theme.'
|
||||
;;
|
||||
'Noel 2024')
|
||||
info "Ensure that SemiPriority theme is not applied before this !"
|
||||
info "Otherwise it will have like mixed SemiPriority and MB Classic theme, You've been warned !!! "
|
||||
cp -f 'blob_patches/noel/a_background_image.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/bill_background_gold.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/coreBanking_img_successBackground.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/general_bg_screenshot.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/general_bg_success.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/homeLanding_bg_main.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/loading_bg_main.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/login_bg_main.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/qr_img_ThemeDefalut.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
##############
|
||||
cp -f 'blob_patches/noel/a_background_image.png' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/bill_background_gold.png' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/coreBanking_img_successBackground.png' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/general_bg_screenshot.png' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/general_bg_success.png' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/homeLanding_bg_main.png' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/loading_bg_main.png' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/login_bg_main.png' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/qr_img_ThemeDefalut.png' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
# Change theme preview
|
||||
cp -f 'blob_patches/noel/customUI_img_classicMode.png' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
cp -f 'blob_patches/noel/customUI_img_classicMode.webp' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base'
|
||||
# Lockdown ability to change other theme, also force Noel 2024 theme
|
||||
sed_libapp 's|theme|Noel |g'
|
||||
sed_libapp 's|theme|Noel |g'
|
||||
# Settings
|
||||
sed_libapp 's|Change Noel |Noel 2024 |g'
|
||||
sed_libapp 's|Change Noel |Noel 2024 |g'
|
||||
|
||||
warn "You WON'T be able to use other theme than Noel 2024 on app !"
|
||||
good "Applied [Noel 2024] theme."
|
||||
;;
|
||||
'Exit') exit ;;
|
||||
esac
|
||||
done
|
||||
13
MBCPApp/patches/remove_animated_qr_background.sh
Normal file
13
MBCPApp/patches/remove_animated_qr_background.sh
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME: Remove animated QR background
|
||||
# MAXVER:
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091
|
||||
. "$DIRPATH"/common.sh
|
||||
|
||||
info "This will remove animated QR on bottom navigation bar and replace with white background !"
|
||||
info "Removing animated QR..."
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/static/homeLanding_bg_qrCode.gif'
|
||||
info "Copying new static white background..."
|
||||
mv 'blob_patches/qr_white/150.png' 'blob_patches/qr_white/homeLanding_bg_qrCode.gif' > /dev/null 2>&1
|
||||
cp -f 'blob_patches/qr_white/homeLanding_bg_qrCode.gif' 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/static'
|
||||
7
MBCPApp/patches/remove_app_from_launcher.sh
Normal file
7
MBCPApp/patches/remove_app_from_launcher.sh
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME: Remove app from launcher
|
||||
# MAXVER:
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091
|
||||
. "$DIRPATH"/common.sh
|
||||
sed -i 's|<category android:name="android.intent.category.LAUNCHER"/>||g' "$DIRPATH"/mbapk/mbapk_unpacked/AndroidManifest.xml
|
||||
41
MBCPApp/patches/remove_banner_miniapp.sh
Normal file
41
MBCPApp/patches/remove_banner_miniapp.sh
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME: Remove banners & MiniApp
|
||||
# MAXVER:
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091
|
||||
. "$DIRPATH"/common.sh
|
||||
|
||||
sed_libapp 's|banner|remove|g'
|
||||
sed_libapp 's|marketplacehome|removemarketapp|g'
|
||||
|
||||
info 'Removing related resources...'
|
||||
rm -rf 'mbapk/mbapk_unpacked/assets/flutter_assets/packages'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/billing_img_defaultBanner.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/billing_img_defaultBanner.private.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/explore_img_defaultBanner.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/coreBanking_img_successBanner.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/homeLanding_img_defaultBanner.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/homeLanding_img_defaultBanner.private.webp'
|
||||
# Priority exclusive
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/priority/explore_img_defaultBanner.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/priority/coreBanking_img_successBanner.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/priority/homeLanding_img_defaultBanner.webp'
|
||||
|
||||
# Shield related resources
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/khien_img_hoadon.private.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/khien_img_muasam.private.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/khien_img_offline.private.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/khien_img_hoadon.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/khien_img_muasam.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/khien_img_offline.webp'
|
||||
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/priority/khien_img_hoadon.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/priority/khien_img_muasam.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/priority/khien_img_offline.webp'
|
||||
|
||||
#
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/static/banner_transfer_mass.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/static/banner_transfer_private.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/static/recap_banner.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/static/poster_cyberrisk_noti.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/static/onboarding/ads_banner_borigin.webp'
|
||||
39
MBCPApp/patches/remove_bulitin_fonts.sh
Normal file
39
MBCPApp/patches/remove_bulitin_fonts.sh
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME: Remove bulit-in fonts
|
||||
# MAXVER:
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091
|
||||
. "$DIRPATH"/common.sh
|
||||
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-Black.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-BlackItalic.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-Bold.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-BoldItalic.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-Extrabold.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-ExtraboldItalic.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCy-Extrathin.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCy-ExtrathinItalic.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-Light.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-LightItalic.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-Regular.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-RegularItalic.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-Semibold.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-SemiboldItalic.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-Thin.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-ThinItalic.otf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/SF-Pro-Display-Medium.ttf'
|
||||
rm -f 'mbapk/mbapk_unpacked/res/font/avenir_next_bold.ttf'
|
||||
rm -f 'mbapk/mbapk_unpacked/res/font/bold.ttf'
|
||||
rm -f 'mbapk/mbapk_unpacked/res/font/medium.ttf'
|
||||
rm -f 'mbapk/mbapk_unpacked/res/font/regular.ttf'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/insider.ttf'
|
||||
# Placeholder font to fix display issues when open details balance notifications
|
||||
info "Creating placeholder font..."
|
||||
touch 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/fonts/AvertaStdCY-Regular.otf'
|
||||
# Placeholder to prevent compiling resource fail
|
||||
touch 'mbapk/mbapk_unpacked/res/font/avenir_next_bold.ttf'
|
||||
info 'Copying fix fonts...'
|
||||
# NFC scanning phase requires actual font in order to not throw exception
|
||||
cp -f 'blob_patches/resources/font/bold.ttf' 'mbapk/mbapk_unpacked/res/font/'
|
||||
cp -f 'blob_patches/resources/font/medium.ttf' 'mbapk/mbapk_unpacked/res/font/'
|
||||
cp -f 'blob_patches/resources/font/regular.ttf' 'mbapk/mbapk_unpacked/res/font/'
|
||||
34
MBCPApp/patches/remove_embee.sh
Normal file
34
MBCPApp/patches/remove_embee.sh
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
#!/usr/bin/env bash
|
||||
# PATCHNAME: Remove eMBee
|
||||
# MAXVER:
|
||||
# MINVER:
|
||||
# shellcheck disable=SC1091
|
||||
. "$DIRPATH"/common.sh
|
||||
|
||||
warn "Remove eMBee also remove customer support and any other options on eMBee Helper !"
|
||||
info "Removing eMBee Customer support function..."
|
||||
sed_libapp 's|group_button_support|itsnotworthittouseem|g'
|
||||
sed_libapp 's|Customer support| |g'
|
||||
|
||||
info "Removing assets..."
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/eMBee_img_page.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/eMBee_img_header.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/eMBee_img_login.webp'
|
||||
# Priority support
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/priority/eMBee_img_page.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/priority/eMBee_img_header.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/priority/eMBee_img_login.webp'
|
||||
# Private support
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/eMBee_img_page.private.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/eMBee_img_login.private.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/eMBee_img_header.private.webp'
|
||||
|
||||
# Adapt for v6.4.53+
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/eMBee_img_headerNew.private.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/eMBee_img_headerNew.webp'
|
||||
# Private support
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/eMBee_img_loginSupport.private.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/base/eMBee_img_loginSupport.webp'
|
||||
# Priority support
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/priority/eMBee_img_headerNew.webp'
|
||||
rm -f 'mbapk/mbapk_unpacked/assets/flutter_assets/assets/images/dynamic/priority/eMBee_img_loginSupport.webp'
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue