Merge branch 'rf1' into 'mbflutter'
does this look maintainable to you See merge request mbcp/mbbpatch!4
This commit is contained in:
commit
6e14eb400d
1 changed files with 66 additions and 67 deletions
|
|
@ -61,62 +61,27 @@ copy_assets() {
|
|||
adb shell su -c cp -rf "/data/user/0/com.mbmobile/files/$1" /sdcard/assets
|
||||
}
|
||||
|
||||
repack_mbcp() {
|
||||
[ -d ~/mbbpatch/MBCPApp/mbapk/mbapk_unpacked ] || { echo "ERROR : [mbapk_unpacked] folder not found ! Please unpack APK first !" ; exit 127 ; }
|
||||
echo "Repacking APK..."
|
||||
echo "Compiled by MBCPApp Patcher on $(uname -s -r) with commit $COMMIT at $(date). That's all xD" > 'mbapk/mbapk_unpacked/assets/mbcp_info/mbcpinfo.txt'
|
||||
(
|
||||
set -e
|
||||
java -jar tools/apktool.jar b mbapk/mbapk_unpacked -o mbcpapp_apk/MBCP_Flutter_TMP.apk -j$(nproc)
|
||||
echo "Processing APK signature scheme v2/v3..."
|
||||
rm -rf 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml'
|
||||
java -jar tools/apkeditor.jar d -i 'mbcpapp_apk/MBCP_Flutter_TMP.apk' -j$(nproc)
|
||||
cp -r 'mbsig/signatures' 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml/'
|
||||
java -jar tools/apkeditor.jar b -i 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml' -j$(nproc)
|
||||
mv 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml_out.apk' 'mbcpapp_apk/MBCP_Flutter_SelfPatched.apk'
|
||||
rm -rf 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml'
|
||||
rm 'mbcpapp_apk/MBCP_Flutter_TMP.apk'
|
||||
) && {
|
||||
echo 'Completed! Repacked APK are saved as [mbcpapp_apk/MBCP_Flutter_SelfPatched.apk] !!!'
|
||||
echo 'Install and trying to open it when ಠ‿ಠ'
|
||||
echo 'If you are facing issues, report it on Telegram [@mbbpatch] or GitLab : mbbpatch !!'
|
||||
} || echo 'ERROR : Repacking failed !'
|
||||
is_unpacked() { [ -d ~/mbbpatch/MBCPApp/mbapk/mbapk_unpacked ] ; }
|
||||
is_unpacked_lib() {
|
||||
[ -d ~/mbbpatch/MBCPApp/mbapk/mbapk_unpacked/lib ] || {
|
||||
echo "ERROR : [mbapk_unpacked/lib] folder not found ! Please unpack APK first !" ; exit 127
|
||||
}
|
||||
}
|
||||
apktool_exist() {
|
||||
[ -f ~/mbbpatch/MBCPApp/tools/apktool.jar ] || { echo "ERROR : apktool not found" ; exit 127 ; }
|
||||
}
|
||||
mb_apk_exist() {
|
||||
ls ~/mbbpatch/MBCPApp/mbapk/*.apk >/dev/null 2>&1 || {
|
||||
echo "No *.apk found in [mbapk] folder, please copy apk to [mbapk] folder !"
|
||||
echo "If you got apks from eMBee APKs, use [Convert apks to apk] option !"
|
||||
}
|
||||
}
|
||||
|
||||
# Banner
|
||||
$FIGLET "MBCPApp Patcher"
|
||||
echo -------------------------------------------------------------
|
||||
echo "Patching tool for MB Bank app with Flutter engine (v6.4.0+)"
|
||||
echo "Original APK must be inside [mbapk] folder !"
|
||||
echo "IMPORTANT : Script must be run at [~/mbbpatch/MBCPApp] !"
|
||||
echo -------------------------------------------------------------
|
||||
echo "Current commit : $COMMIT (mbflutter)"
|
||||
echo "Source code : https://gitlab.com/mbcp/mbbpatch"
|
||||
echo "Made possible by Cuynu with love <3"
|
||||
echo -------------------------------------------------------------
|
||||
|
||||
# Main functions
|
||||
PS3='Please select options to continue : '
|
||||
select opt in 'Pull latest commit' 'Unpack APK' 'Convert apks to apk' 'Repack APK' 'Install patched app' 'MBShield Check' 'Patch App' 'Legacy patches' 'Extract assets [ROOT]' 'Launch MBCPApp/MBBank' 'Force close MBCPApp/MBBank' 'Clear MBCPApp/MBBank app data' 'Clean patched app' 'Download tools' 'Exit'
|
||||
do
|
||||
if [ "$opt" == 'Download tools' ]; then
|
||||
download_tools
|
||||
|
||||
elif [ "$opt" == 'Unpack APK' ]; then
|
||||
# Check if *.apk exists
|
||||
if ls ~/mbbpatch/MBCPApp/mbapk/*.apk >/dev/null 2>&1
|
||||
then
|
||||
# Check if apk is unpacked or not
|
||||
if [ -d ~/mbbpatch/MBCPApp/mbapk/mbapk_unpacked ]
|
||||
then
|
||||
echo "APK already unpacked, removing unpacked app..."
|
||||
rm -rf 'mbapk/mbapk_unpacked'
|
||||
echo "Please unpack APK again !"
|
||||
else
|
||||
# Check if apktool exists or not
|
||||
if [ -f ~/mbbpatch/MBCPApp/tools/apktool.jar ]
|
||||
then
|
||||
java -jar tools/apktool.jar d mbapk/*.apk -o mbapk/mbapk_unpacked -j$(nproc)
|
||||
unpack_mbcp() {
|
||||
local - ; set -e
|
||||
apktool_exist && mb_apk_exist
|
||||
is_unpacked && rm -rf 'mbapk/mbapk_unpacked' || :
|
||||
java -jar tools/apktool.jar d mbapk/*.apk -o mbapk/mbapk_unpacked -j$(nproc) || { echo "ERROR : Unpacking failed !" ; exit 1 ; }
|
||||
echo "Cleaning useless files..."
|
||||
rm -rf 'mbapk/mbapk_unpacked/assets/_4A9w8flncUrhDOG8dyqLi_azBTYT3PlSXz0hiCzRQA_'
|
||||
rm -rf 'mbapk/mbapk_unpacked/assets/0QDl12M5S2hKxoKF4cNI4kEX1qDQRMiOd34TXjSjy4M_'
|
||||
|
|
@ -147,15 +112,60 @@ then
|
|||
rm -rf 'mbapk/mbapk_unpacked/assets/jNMI79raTvV7VHN5Vrzw4Xs66YP_a1ftP9SmUB24DYg_'
|
||||
echo "Creating [mbcp_info] folder..."
|
||||
mkdir 'mbapk/mbapk_unpacked/assets/mbcp_info/'
|
||||
else
|
||||
echo "Please download tools first !"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# APK not found ?
|
||||
echo "*.apk not found on [mbapk] folder, please copy apk to [mbapk] folder !"
|
||||
echo "If you got apks from eMBee APKs, use [Convert apks to apk] option !"
|
||||
fi
|
||||
}
|
||||
|
||||
repack_mbcp() {
|
||||
apktool_exist
|
||||
is_unpacked || { echo "ERROR : [mbapk_unpacked] folder not found ! Please unpack APK first !" ; exit 127 ; }
|
||||
echo "Repacking APK..."
|
||||
echo "Compiled by MBCPApp Patcher on $(uname -s -r) with commit $COMMIT at $(date). That's all xD" > 'mbapk/mbapk_unpacked/assets/mbcp_info/mbcpinfo.txt'
|
||||
(
|
||||
set -e
|
||||
java -jar tools/apktool.jar b mbapk/mbapk_unpacked -o mbcpapp_apk/MBCP_Flutter_TMP.apk -j$(nproc)
|
||||
echo "Processing APK signature scheme v2/v3..."
|
||||
rm -rf 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml'
|
||||
java -jar tools/apkeditor.jar d -i 'mbcpapp_apk/MBCP_Flutter_TMP.apk' -j$(nproc)
|
||||
cp -r 'mbsig/signatures' 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml/'
|
||||
java -jar tools/apkeditor.jar b -i 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml' -j$(nproc)
|
||||
mv 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml_out.apk' 'mbcpapp_apk/MBCP_Flutter_SelfPatched.apk'
|
||||
rm -rf 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml'
|
||||
rm 'mbcpapp_apk/MBCP_Flutter_TMP.apk'
|
||||
) && {
|
||||
echo 'Completed! Repacked APK are saved as [mbcpapp_apk/MBCP_Flutter_SelfPatched.apk] !!!'
|
||||
echo 'Install and trying to open it when ಠ‿ಠ'
|
||||
echo 'If you are facing issues, report it on Telegram [@mbbpatch] or GitLab : mbbpatch !!'
|
||||
} || echo 'ERROR : Repacking failed !'
|
||||
}
|
||||
|
||||
run_patcher() {
|
||||
is_unpacked_lib && bash ./patch.sh
|
||||
}
|
||||
|
||||
run_legacy_patcher() {
|
||||
is_unpacked_lib && bash ./legacy_patch.sh
|
||||
}
|
||||
|
||||
# Banner
|
||||
$FIGLET "MBCPApp Patcher"
|
||||
echo -------------------------------------------------------------
|
||||
echo "Patching tool for MB Bank app with Flutter engine (v6.4.0+)"
|
||||
echo "Original APK must be inside [mbapk] folder !"
|
||||
echo "IMPORTANT : Script must be run at [~/mbbpatch/MBCPApp] !"
|
||||
echo -------------------------------------------------------------
|
||||
echo "Current commit : $COMMIT (mbflutter)"
|
||||
echo "Source code : https://gitlab.com/mbcp/mbbpatch"
|
||||
echo "Made possible by Cuynu with love <3"
|
||||
echo -------------------------------------------------------------
|
||||
|
||||
# Main functions
|
||||
PS3='Please select options to continue : '
|
||||
select opt in 'Pull latest commit' 'Unpack APK' 'Convert apks to apk' 'Repack APK' 'Install patched app' 'MBShield Check' 'Patch App' 'Legacy patches' 'Extract assets [ROOT]' 'Launch MBCPApp/MBBank' 'Force close MBCPApp/MBBank' 'Clear MBCPApp/MBBank app data' 'Clean patched app' 'Download tools' 'Exit'
|
||||
do
|
||||
if [ "$opt" == 'Download tools' ]; then
|
||||
download_tools
|
||||
|
||||
elif [ "$opt" == 'Unpack APK' ]; then
|
||||
unpack_mbcp
|
||||
|
||||
elif [ "$opt" == 'Repack APK' ]; then
|
||||
repack_mbcp
|
||||
|
|
@ -191,21 +201,10 @@ fi
|
|||
fi
|
||||
|
||||
elif [ "$opt" == 'Patch App' ]; then
|
||||
if [ -d ~/mbbpatch/MBCPApp/mbapk/mbapk_unpacked/lib ]
|
||||
then
|
||||
bash ./patch.sh
|
||||
else
|
||||
echo "[mbapk_unpacked] folder not found ! Please unpack APK first !"
|
||||
fi
|
||||
run_patcher
|
||||
|
||||
elif [ "$opt" == 'Legacy patches' ]; then
|
||||
if [ -d ~/mbbpatch/MBCPApp/mbapk/mbapk_unpacked/lib ]
|
||||
then
|
||||
bash ./legacy_patch.sh
|
||||
else
|
||||
echo "[mbapk_unpacked] folder not found ! Please unpack APK first !"
|
||||
fi
|
||||
|
||||
run_legacy_patcher
|
||||
|
||||
elif [ "$opt" == 'Extract assets [ROOT]' ]; then
|
||||
echo 'To extract encrypted assets [if current app has MBShield protection] you need rooted device'
|
||||
|
|
|
|||
Loading…
Reference in a new issue