From 5fbf2c74ce5fe2e120ea66bab138746a44245327 Mon Sep 17 00:00:00 2001 From: Cuynu Date: Mon, 17 Aug 2026 09:13:32 +0700 Subject: [PATCH 01/15] feat: patcher(mbcpapp.sh): show warn for v6.5.7+ when select specific install apk option Signed-off-by: Cuynu --- MBCPApp/mbcpapp.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MBCPApp/mbcpapp.sh b/MBCPApp/mbcpapp.sh index f60cf38..760d89e 100755 --- a/MBCPApp/mbcpapp.sh +++ b/MBCPApp/mbcpapp.sh @@ -474,7 +474,8 @@ do fi elif [ "$opt" == 'Install & delete local detection model & open app' ]; then - warn "This method only works with v6.4.58 ~ v6.5.6 !" + # handle method for newer app + [ -f "$DIRPATH"/mbapk/mbapk_unpacked/root/lib/arm64-v8a/libcode.so ] && warn "This method works best with v6.4.58 ~ v6.5.6. For newer app please block Zimperium host first !" if [ -f "$DIRPATH"/mbcpapp_apk/MBCP_Flutter_SelfPatched_$COMMIT.apk ] then warn "MBCP Helper / CorePatch must be installed with disable digest verify on !!!" From bb01c94dfa8d8c5f059fd21ddb21fae2db8604ca Mon Sep 17 00:00:00 2001 From: Cuynu Date: Mon, 31 Aug 2026 00:53:59 +0700 Subject: [PATCH 02/15] feat: patcher(mbcpapp.sh): check for v6.5.15+ and warn before run patch app func since v6.5.15, the check is more stricter, extended to all files in assets and apk after converted to apk it will trigger checksum fail error and throw GW934 error as response. fix is not implemented yet, but it depends on new lib : `libnframes.so`, without that the login button is not clickable. Signed-off-by: Cuynu --- MBCPApp/mbcpapp.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MBCPApp/mbcpapp.sh b/MBCPApp/mbcpapp.sh index 760d89e..8e811ac 100755 --- a/MBCPApp/mbcpapp.sh +++ b/MBCPApp/mbcpapp.sh @@ -315,6 +315,8 @@ convert_apks() { run_patcher() { is_unpacked_lib && bash ./parse.sh && bash ./patch.sh + # check v6.5.15+ + [ -f "$DIRPATH"/mbapk/mbapk_unpacked/root/lib/arm64-v8a/libnframes.so ] && warn "You are using v6.5.15+! Patches continue to work but you can't login until a workaround is implemented !" } run_legacy_patcher() { From a21c61f40ed3d2d8c40140c10ea08a06fd4e7f54 Mon Sep 17 00:00:00 2001 From: Cuynu Date: Mon, 31 Aug 2026 01:12:23 +0700 Subject: [PATCH 03/15] fix: patcher(mbcpapp.sh): warn does not show for v6.5.15+ it need to be displayed before run patcher. Signed-off-by: Cuynu --- MBCPApp/mbcpapp.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MBCPApp/mbcpapp.sh b/MBCPApp/mbcpapp.sh index 8e811ac..40d5091 100755 --- a/MBCPApp/mbcpapp.sh +++ b/MBCPApp/mbcpapp.sh @@ -314,9 +314,9 @@ convert_apks() { } run_patcher() { - is_unpacked_lib && bash ./parse.sh && bash ./patch.sh # check v6.5.15+ [ -f "$DIRPATH"/mbapk/mbapk_unpacked/root/lib/arm64-v8a/libnframes.so ] && warn "You are using v6.5.15+! Patches continue to work but you can't login until a workaround is implemented !" + is_unpacked_lib && bash ./parse.sh && bash ./patch.sh } run_legacy_patcher() { From 45ec5e5e114bf9a9b45b80414db49730206519d6 Mon Sep 17 00:00:00 2001 From: Cuynu Date: Wed, 9 Sep 2026 03:44:43 +0700 Subject: [PATCH 04/15] feat: patcher(mbcpapp.sh): confirmation before running patch app function for v6.5.15+ with new checksum mechanism only Signed-off-by: Cuynu --- MBCPApp/mbcpapp.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MBCPApp/mbcpapp.sh b/MBCPApp/mbcpapp.sh index 40d5091..d995a01 100755 --- a/MBCPApp/mbcpapp.sh +++ b/MBCPApp/mbcpapp.sh @@ -315,7 +315,7 @@ convert_apks() { run_patcher() { # check v6.5.15+ - [ -f "$DIRPATH"/mbapk/mbapk_unpacked/root/lib/arm64-v8a/libnframes.so ] && warn "You are using v6.5.15+! Patches continue to work but you can't login until a workaround is implemented !" + [ -f "$DIRPATH"/mbapk/mbapk_unpacked/root/lib/arm64-v8a/libnframes.so ] && warn "You are using v6.5.15+! Patches continue to work but you can't login until a workaround is implemented !" && confirm || exit is_unpacked_lib && bash ./parse.sh && bash ./patch.sh } From d15a333726b683e619b6389b7aa14881459dba69 Mon Sep 17 00:00:00 2001 From: Cuynu Date: Wed, 9 Sep 2026 03:51:19 +0700 Subject: [PATCH 05/15] docs: bump suggested version to v6.5.14 (semi-final) might be final if no workaround available for v6.5.15+ Signed-off-by: Cuynu --- README.md | 62 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 21bcfe3..030e447 100644 --- a/README.md +++ b/README.md @@ -56,40 +56,42 @@ ### [📦 `MB Bank : com.mbmobile`](https://t.me/embeeapks) +> Any version from v6.4.63 and above should be patchable, but some version, such as v6.5.15, or v6.4.67+ has enhanced checksum mechanism, the patch still works, but the app itself will refuse to login. *Last updated situation: 2026/09/09* +
| ⚙️ Patch | 📜 Description | 🏦 Suggested version | |:--------:|:--------------:|:-----------------:| -| `Add verified badge` | Replaces the MIC protection shield with verified badge to make it looks more cute :3 | v6.4.0 ~ v6.5.11 | -| `Adaptive launcher icon` | Adds the adaptive & themed icon support to the app. Thanks to @fukiame ! | v6.4.0 ~ v6.5.11 | -| `Proper notification icon` | Temporary fixes for the app notification icon. Thanks to @fukiame ! | v6.4.0 ~ v6.5.11 | -| `Better custom background screen` | Replace the preview custom background from awful to useful. | v6.4.84 ~ v6.5.11 | -| `Change app logo` | Change the app logo with set of icons. | v6.4.0 ~ v6.5.11 | -| `Change widget background to dark ` | Change widget background to dark if you use MBBHomeWidget. | v6.4.0 ~ v6.5.11 | -| `Custom VTAP screen` | Warn users about critical VTAP trigger error from app. | v6.4.53 ~ v6.5.11 | -| `Custom sub-badge` | Replace original animated promotion badge with static badge for Basic users | v6.4.44 ~ v6.5.11 | -| `Disable MB Membership` | Disable the MB Membership badge below pfp and all of it's features. (limited features with v6.4.67+) | v6.4.0 ~ v6.5.11 | -| `Tian37 Fix` | Nuke detection points within Tian37 libraries. (Causing GW934 error for v6.5.7+) | v6.4.87 ~ v6.5.11 | -| `Force portrait screen` | Force the screen always portrait on app, especially when launching app. | v6.4.0 ~ v6.5.11 | -| `Fix VTAP certificate` | Update or downgrade VTAP certificate for older/newer app version, so it can work again in future. Read `docs/fix-vtap-cert.md` to know how to use it. | v6.4.67 ~ v6.5.11 | -| `Remove MB AI Slop resources` | Remove the MB AI slop resources from app. | v6.4.74 ~ v6.5.11 | -| `Remove MB Themes Store` | Remove the MB Themes Store banner from Themes list, preventing access to MB Theme Store. | v6.4.28 ~ v6.5.11 | -| `Remove invoke to zShield` | Make the app stop invoking to zShield when opening (MainActivity) and (MBBHomeWidgetQR) only (causing GW934 error for v6.4.67+) | v6.4.22 ~ v6.5.11 | -| `Remove built-in fonts` | Remove app font and force to use device font for most app components. | v6.4.0 ~ v6.5.11 | -| `Modify app theme` | Modify the built-in app theme from original one to other themes. | v6.4.30 ~ v6.5.11 | -| `Remove garbage permission and activities` | Removes tracking permission & activities from app. | v6.4.0 ~ v6.5.11 | -| `Revert old eMBee logo` | Revert old eMBee logo, especially on product consultation options. | v6.4.53 ~ v6.5.11 | -| `Remove useless libraries` | Remove the useless libraries from app, only for v6.4.67+ | v6.4.67 ~ v6.5.11 | -| `Remove animated QR background` | Remove the animated QR background from bottom navigation bar and replace with white background. | v6.4.43 ~ v6.5.11 | -| `Remove VNPAY VMB20` | Remove the VNPAY Airplane related activities. | v6.4.55 ~ v6.5.11 | -| `Restore old registration resources` | Restore old resources on `onboarding` page. | v6.4.48 ~ v6.5.11 | -| `Hide VTAP root detection activity & dialog` | Hide the old root detection screen and dialog showing "Device is rooted" (might have issues with some HyperOS ROMs). (causing GW934 error for v6.4.67+) | v6.4.0 ~ v6.5.6 | -| `Legacy hide VTAP activity & dialog` | Hide the first root detection screen with dialog showing "Device is rooted" but not bypassing it. (GW908 will still present, unlike standard `Hide VTAP root detection activity & dialog` patch). Only use for some ugly ROMs which is crashing with standard patch. (Causing GW934 error for v6.4.67+) | v6.4.53 ~ v6.5.11 | -| `Remove protection shield` | Remove the MIC protection shield on profile picture and login screen. (not app protection) | v6.4.0 ~ v6.5.11 | -| `Remove app from launcher` | Remove the app icon from launcher, and start with `am start` or with MBZDefend-Fix Action/Termux. | v6.4.0 ~ v6.5.11 | -| `Set targetSdkVersion to 34` | Set the `targetSdkVersion` to 34 (Android 14) to prevent UI issues on some activities. | v6.4.10 ~ v6.5.11 | -| `Add modified resources` | Adds the specific strings for MBCP on eKYC phases, and modify the DigiBank logo. | v6.4.0 ~ v6.5.11 | -| `Add anime resources` | Adds anime-related resources to some components inside app. | v6.4.45 ~ v6.5.11 | +| `Add verified badge` | Replaces the MIC protection shield with verified badge to make it looks more cute :3 | v6.4.0 ~ v6.5.14 | +| `Adaptive launcher icon` | Adds the adaptive & themed icon support to the app. Thanks to @fukiame ! | v6.4.0 ~ v6.5.14 | +| `Proper notification icon` | Temporary fixes for the app notification icon. Thanks to @fukiame ! | v6.4.0 ~ v6.5.14 | +| `Better custom background screen` | Replace the preview custom background from awful to useful. | v6.4.84 ~ v6.5.14 | +| `Change app logo` | Change the app logo with set of icons. | v6.4.0 ~ v6.5.14 | +| `Change widget background to dark ` | Change widget background to dark if you use MBBHomeWidget. | v6.4.0 ~ v6.5.14 | +| `Custom VTAP screen` | Warn users about critical VTAP trigger error from app. | v6.4.53 ~ v6.5.14 | +| `Custom sub-badge` | Replace original animated promotion badge with static badge for Basic users | v6.4.44 ~ v6.5.14 | +| `Disable MB Membership` | Disable the MB Membership badge below pfp and all of it's features. (limited features with v6.4.67+) | v6.4.0 ~ v6.5.14 | +| `Tian37 Fix` | Nuke detection points within Tian37 libraries. (Causing GW934 error for v6.5.7+) | v6.4.87 ~ v6.5.14 | +| `Force portrait screen` | Force the screen always portrait on app, especially when launching app. | v6.4.0 ~ v6.5.14 | +| `Fix VTAP certificate` | Update or downgrade VTAP certificate for older/newer app version, so it can work again in future. Read `docs/fix-vtap-cert.md` to know how to use it. | v6.4.67 ~ v6.5.14 | +| `Remove MB AI Slop resources` | Remove the MB AI slop resources from app. | v6.4.74 ~ v6.5.14 | +| `Remove MB Themes Store` | Remove the MB Themes Store banner from Themes list, preventing access to MB Theme Store. | v6.4.28 ~ v6.5.14 | +| `Remove invoke to zShield` | Make the app stop invoking to zShield when opening (MainActivity) and (MBBHomeWidgetQR) only (causing GW934 error for v6.4.67+) | v6.4.22 ~ v6.5.14 | +| `Remove built-in fonts` | Remove app font and force to use device font for most app components. | v6.4.0 ~ v6.5.14 | +| `Modify app theme` | Modify the built-in app theme from original one to other themes. | v6.4.30 ~ v6.5.14 | +| `Remove garbage permission and activities` | Removes tracking permission & activities from app. | v6.4.0 ~ v6.5.14 | +| `Revert old eMBee logo` | Revert old eMBee logo, especially on product consultation options. | v6.4.53 ~ v6.5.14 | +| `Remove useless libraries` | Remove the useless libraries from app, only for v6.4.67+ | v6.4.67 ~ v6.5.14 | +| `Remove animated QR background` | Remove the animated QR background from bottom navigation bar and replace with white background. | v6.4.43 ~ v6.5.14 | +| `Remove VNPAY VMB20` | Remove the VNPAY Airplane related activities. | v6.4.55 ~ v6.5.14 | +| `Restore old registration resources` | Restore old resources on `onboarding` page. | v6.4.48 ~ v6.5.14 | +| `Hide VTAP root detection activity & dialog` | Hide the old root detection screen and dialog showing "Device is rooted" (might have issues with some HyperOS ROMs). (causing GW934 error for v6.4.67+) | v6.4.0 ~ v6.5.14 | +| `Legacy hide VTAP activity & dialog` | Hide the first root detection screen with dialog showing "Device is rooted" but not bypassing it. (GW908 will still present, unlike standard `Hide VTAP root detection activity & dialog` patch). Only use for some ugly ROMs which is crashing with standard patch. (Causing GW934 error for v6.4.67+) | v6.4.53 ~ v6.5.14 | +| `Remove protection shield` | Remove the MIC protection shield on profile picture and login screen. (not app protection) | v6.4.0 ~ v6.5.14 | +| `Remove app from launcher` | Remove the app icon from launcher, and start with `am start` or with MBZDefend-Fix Action/Termux. | v6.4.0 ~ v6.5.14 | +| `Set targetSdkVersion to 34` | Set the `targetSdkVersion` to 34 (Android 14) to prevent UI issues on some activities. | v6.4.10 ~ v6.5.14 | +| `Add modified resources` | Adds the specific strings for MBCP on eKYC phases, and modify the DigiBank logo. | v6.4.0 ~ v6.5.14 | +| `Add anime resources` | Adds anime-related resources to some components inside app. | v6.4.45 ~ v6.5.14 |
From bf39876c69bf57252b7c10e7fcc79548c09842b5 Mon Sep 17 00:00:00 2001 From: Cuynu Date: Wed, 9 Sep 2026 15:13:48 +0700 Subject: [PATCH 06/15] fix: patcher(mbcpapp.sh): use `return 0` instead of `exit` Signed-off-by: Cuynu --- MBCPApp/mbcpapp.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MBCPApp/mbcpapp.sh b/MBCPApp/mbcpapp.sh index d995a01..5c44cfe 100755 --- a/MBCPApp/mbcpapp.sh +++ b/MBCPApp/mbcpapp.sh @@ -315,7 +315,7 @@ convert_apks() { run_patcher() { # check v6.5.15+ - [ -f "$DIRPATH"/mbapk/mbapk_unpacked/root/lib/arm64-v8a/libnframes.so ] && warn "You are using v6.5.15+! Patches continue to work but you can't login until a workaround is implemented !" && confirm || exit + [ -f "$DIRPATH"/mbapk/mbapk_unpacked/root/lib/arm64-v8a/libnframes.so ] && warn "You are using v6.5.15+! Patches continue to work but you can't login until a workaround is implemented !" && confirm || return 0 is_unpacked_lib && bash ./parse.sh && bash ./patch.sh } From f413ecfb68193a59e93fc913db2d9f7a9fce6501 Mon Sep 17 00:00:00 2001 From: Cuynu Date: Wed, 9 Sep 2026 15:50:46 +0700 Subject: [PATCH 07/15] fix: patcher(mbcpapp.sh): wrong handling separate function fixed it Signed-off-by: Cuynu --- MBCPApp/mbcpapp.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/MBCPApp/mbcpapp.sh b/MBCPApp/mbcpapp.sh index 5c44cfe..8c3e56f 100755 --- a/MBCPApp/mbcpapp.sh +++ b/MBCPApp/mbcpapp.sh @@ -313,9 +313,15 @@ convert_apks() { info "You probably can continue to unpack APK!" } +newbehavior() { + warn "App is newer v6.5.15+! Patches continue to work, but you can't login" + warn "Until a workaround is implemented :(" + confirm || exit 1 +} + run_patcher() { # check v6.5.15+ - [ -f "$DIRPATH"/mbapk/mbapk_unpacked/root/lib/arm64-v8a/libnframes.so ] && warn "You are using v6.5.15+! Patches continue to work but you can't login until a workaround is implemented !" && confirm || return 0 + [ -f "$DIRPATH"/mbapk/mbapk_unpacked/root/lib/arm64-v8a/libnframes.so ] && newbehavior is_unpacked_lib && bash ./parse.sh && bash ./patch.sh } From db7108419982cebdebcf56115c25254d0c760b2f Mon Sep 17 00:00:00 2001 From: Cuynu Date: Sat, 12 Sep 2026 03:20:40 +0700 Subject: [PATCH 08/15] docs: update about new checksum measure with v6.5.15+, the checksum is enhanced... Signed-off-by: Cuynu --- README.md | 21 +++++++++++--------- docs/checksum_newapp.md | 43 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 9 deletions(-) create mode 100644 docs/checksum_newapp.md diff --git a/README.md b/README.md index 030e447..bd5b237 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,18 @@ > > Older releases (v6.4.90 or older) has mismatch commit ID with this new repo, for reference to the exactly same commit, see [MBCP_VersionReference.md](MBCP_VersionReference.md) in repository. +## Checksum + +- More information about checksum measure : +
+ +- Since v6.5.15+, the checksum is more strict, see [this explain](/docs/checksum_newapp.md) for more details. + +- The checksum measure (which throws GW934 as response) is known enabled from the server-side (v6.4.64 works since days 0, but return with GW934 error after 11 days), it requires client (MBCP/MBBank) app to sent the SHA256 hash of 3 app libraries `libapp.so` | `libmbshield.so` | `libclosestmadagascar.so` and all of 5 dex files (classes1->5.dex) to the server for comparing hash, and if it doesn't match, the server will prevent the app from logging in with GW934 error : `Re-install app to continue using app.` +- The other function (eg: DigitalOTP) that works without logging in still works. + +
+ ## Introduction > Fact : MBCP / MBZDefend-Fix is my "hobby project", I maintain it in my free times :> @@ -338,15 +350,6 @@ Early note : When I created @mbbmod channel back in 2023, no one knows it for mo - [x] Adapt new v6.4.68 trungthu theme -## Old measure - -- More information about GW934 measure : -
- -- The `GW934` error is known enabled from the server-side (v6.4.64 works since days 0, but return with GW934 error after 11 days), it requires client (MBCP/MBBank) app to sent the SHA256 hash of 3 app libraries `libapp.so` | `libmbshield.so` | `libclosestmadagascar.so` and all of 5 dex files (classes1->5.dex) to the server for comparing hash, and if it doesn't match, the server will prevent the app from logging in with GW934 error : `Re-install app to continue using app.` -- The other function (eg: DigitalOTP) that works without logging in still works. - -
## Credits - [apktool](https://github.com/iBotPeaches/Apktool) diff --git a/docs/checksum_newapp.md b/docs/checksum_newapp.md new file mode 100644 index 0000000..553d891 --- /dev/null +++ b/docs/checksum_newapp.md @@ -0,0 +1,43 @@ + + +# MBBank v6.5.15+ checksum list + +in first day of v6.5.15+ released, there is no such checksum, it still the same as before, only until 4 days since release, there is toggle in backend that enable the check, remain unaffected for older base + +same as v6.4.63+, in first day nothing happens, no checksum, but after 9 days, checksum appears. + +if one of these is modified (even one bit) will trigger checksum fail that refuse to accept login from + +all of this is both app & server side, server side ask for checksum, the client get sha256 hash and send to server side `getSHFiles` and if something mismatch, the server side will refuse to login and return GW934 as response to app + +```shell +# outside assets (v6.5.15+) +mb.apk/AndroidManifest.xml +mb.apk/lib/arm64-v8a/*.so # previously is libapp / zshield & zdefend libs only since v6.4.63+ +mb.apk/lib/armeabi-v7a/*.so # previously is libapp / zshield & zdefend libs only since v6.4.63+ +mb.apk/classes*.dex # since v6.4.63+ + +# in assets +# zimperium (v6.5.15+) +mb.apk/assets/zimperium_local_model_randomized_filename* +mb.apk/assets/zimperium_encrypted_dex_folder/*.odex +mb.apk/assets/*.szip # zshield encrypted files + +# vkey vtap (v6.5.15+) +mb.apk/assets/firmware # vkey vtap fw +mb.apk/assets/profile # vkey vtap profile +mb.apk/assets/signature # vtap vkey signature +mb.apk/version.json # vtap vkey vos info +mb.apk/voscodesign.vky +mb.apk/vkeylicensepack + +# singalarity ekyc files (v6.5.15+) +mb.apk/assets/sgprofile +mb.apk/assets/smart_ekyc_finall.zip +mb.apk/assets/media_init_data + +# flutter assets (v6.5.15+) +mb.apk/assets/flutter_assets/assets/fonts/* +mb.apk/assets/flutter_assets/fonts/* +mb.apk/assets/flutter_assets/FontManifest.json +``` \ No newline at end of file From 0630d8d02556a9b0ac7cd1743d8ad9d5ac8b3eb0 Mon Sep 17 00:00:00 2001 From: Cuynu Date: Sat, 12 Sep 2026 03:23:49 +0700 Subject: [PATCH 09/15] docs: wrong link Signed-off-by: Cuynu --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bd5b237..97a76f9 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ - More information about checksum measure :
-- Since v6.5.15+, the checksum is more strict, see [this explain](/docs/checksum_newapp.md) for more details. +- Since v6.5.15+, the checksum is more strict, see [this explain](docs/checksum_newapp.md) for more details. - The checksum measure (which throws GW934 as response) is known enabled from the server-side (v6.4.64 works since days 0, but return with GW934 error after 11 days), it requires client (MBCP/MBBank) app to sent the SHA256 hash of 3 app libraries `libapp.so` | `libmbshield.so` | `libclosestmadagascar.so` and all of 5 dex files (classes1->5.dex) to the server for comparing hash, and if it doesn't match, the server will prevent the app from logging in with GW934 error : `Re-install app to continue using app.` - The other function (eg: DigitalOTP) that works without logging in still works. From 65e71fd42e7cd426133df22935a77992e688c324 Mon Sep 17 00:00:00 2001 From: Cuynu Date: Sat, 12 Sep 2026 03:24:19 +0700 Subject: [PATCH 10/15] docs: wrong day Signed-off-by: Cuynu --- docs/checksum_newapp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/checksum_newapp.md b/docs/checksum_newapp.md index 553d891..e7f3308 100644 --- a/docs/checksum_newapp.md +++ b/docs/checksum_newapp.md @@ -4,7 +4,7 @@ in first day of v6.5.15+ released, there is no such checksum, it still the same as before, only until 4 days since release, there is toggle in backend that enable the check, remain unaffected for older base -same as v6.4.63+, in first day nothing happens, no checksum, but after 9 days, checksum appears. +same as v6.4.63+, in first day nothing happens, no checksum, but after 11 days, checksum appears. if one of these is modified (even one bit) will trigger checksum fail that refuse to accept login from @@ -40,4 +40,4 @@ mb.apk/assets/media_init_data mb.apk/assets/flutter_assets/assets/fonts/* mb.apk/assets/flutter_assets/fonts/* mb.apk/assets/flutter_assets/FontManifest.json -``` \ No newline at end of file +``` From 004ff0e974e54e2dc733cf0fbfbd4959e4607246 Mon Sep 17 00:00:00 2001 From: Cuynu Date: Sun, 13 Sep 2026 13:13:44 +0700 Subject: [PATCH 11/15] feat: patches(remove_qr_wave.sh): introduce remove qr scanner wave patch Signed-off-by: Cuynu --- MBCPApp/patches/remove_qr_wave.sh | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 MBCPApp/patches/remove_qr_wave.sh diff --git a/MBCPApp/patches/remove_qr_wave.sh b/MBCPApp/patches/remove_qr_wave.sh new file mode 100644 index 0000000..497ec9c --- /dev/null +++ b/MBCPApp/patches/remove_qr_wave.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# PATCHNAME: Remove QR Scanner Wave +# MAXVER: +# MINVER: +# shellcheck disable=SC1091 +. "$DIRPATH"/common.sh + +rm -f "$DIRPATH"/mbapk/mbapk_unpacked/root/assets/flutter_assets/assets/images/static/ic_wave_qr_scanner.webp From 35707bbecc4d66f3edf1b8e30296ee6c03b213c1 Mon Sep 17 00:00:00 2001 From: Cuynu Date: Sun, 13 Sep 2026 13:21:29 +0700 Subject: [PATCH 12/15] feat: patches(spoof_appver.sh): adapt with v6.5.2x & mark v6.5.x as `legacy` Signed-off-by: Cuynu --- MBCPApp/patches/spoof_appver.sh | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/MBCPApp/patches/spoof_appver.sh b/MBCPApp/patches/spoof_appver.sh index 46943e7..d2d1868 100644 --- a/MBCPApp/patches/spoof_appver.sh +++ b/MBCPApp/patches/spoof_appver.sh @@ -12,6 +12,18 @@ info "Spoofing app version..." +# v6.5.2x +sed -i 's|"6.5.29"|"6.5.29.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.28"|"6.5.28.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.27"|"6.5.27.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.26"|"6.5.26.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.25"|"6.5.25.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.24"|"6.5.24.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.23"|"6.5.23.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.22"|"6.5.22.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.21"|"6.5.21.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.20"|"6.5.20.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' + # v6.5.1x sed -i 's|"6.5.19"|"6.5.19.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' sed -i 's|"6.5.18"|"6.5.18.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' @@ -25,16 +37,16 @@ sed -i 's|"6.5.11"|"6.5.11.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' sed -i 's|"6.5.10"|"6.5.10.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' # v6.5.x -sed -i 's|"6.5.9"|"6.5.9.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' -sed -i 's|"6.5.8"|"6.5.8.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' -sed -i 's|"6.5.7"|"6.5.7.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' -sed -i 's|"6.5.6"|"6.5.6.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' -sed -i 's|"6.5.5"|"6.5.5.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' -sed -i 's|"6.5.4"|"6.5.4.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' -sed -i 's|"6.5.3"|"6.5.3.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' -sed -i 's|"6.5.2"|"6.5.2.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' -sed -i 's|"6.5.1"|"6.5.1.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' -sed -i 's|"6.5.0"|"6.5.0.mbcp"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.9"|"6.5.9.legacy"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.8"|"6.5.8.legacy"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.7"|"6.5.7.legacy"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.6"|"6.5.6.legacy"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.5"|"6.5.5.legacy"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.4"|"6.5.4.legacy"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.3"|"6.5.3.legacy"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.2"|"6.5.2.legacy"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.1"|"6.5.1.legacy"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|"6.5.0"|"6.5.0.legacy"|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' # v6.4.9x sed -i 's|6.4.99|6.4.99.legacy|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' From 968367822a06ec951c27094a5a3cc9da722ce6c1 Mon Sep 17 00:00:00 2001 From: Cuynu Date: Sun, 13 Sep 2026 14:37:22 +0700 Subject: [PATCH 13/15] feat: patches(spoof_appver.sh): spoof more `versionCode` Signed-off-by: Cuynu --- MBCPApp/patches/spoof_appver.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/MBCPApp/patches/spoof_appver.sh b/MBCPApp/patches/spoof_appver.sh index d2d1868..191ddfb 100644 --- a/MBCPApp/patches/spoof_appver.sh +++ b/MBCPApp/patches/spoof_appver.sh @@ -150,6 +150,24 @@ sed -i 's|762|2030|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' sed -i 's|763|2031|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' sed -i 's|764|2032|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' sed -i 's|765|2033|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|766|2034|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|767|2035|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|768|2036|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|769|2037|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|770|2038|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|771|2039|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|772|2040|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|773|2041|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|774|2042|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|775|2043|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|776|2044|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|777|2045|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|778|2046|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|779|2047|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|780|2048|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|781|2049|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +sed -i 's|782|2050|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' + sed -i 's|v6.4.66|v6.4.68|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' sed -i 's|v6.4.65|v6.4.68|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' From d5eab6d854d40faeacdc36e04da265910f5fede8 Mon Sep 17 00:00:00 2001 From: Cuynu Date: Sun, 13 Sep 2026 14:54:45 +0700 Subject: [PATCH 14/15] feat: patches(target_sdk_34.sh): adapt with targetSdk 36 for v6.5.20+ Signed-off-by: Cuynu --- MBCPApp/patches/target_sdk_34.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MBCPApp/patches/target_sdk_34.sh b/MBCPApp/patches/target_sdk_34.sh index ac4e793..392aeee 100644 --- a/MBCPApp/patches/target_sdk_34.sh +++ b/MBCPApp/patches/target_sdk_34.sh @@ -5,4 +5,7 @@ # shellcheck disable=SC1091 . "$DIRPATH"/common.sh +# applies for v6.4.62 ~ v6.5.19 sed -i 's|android:targetSdkVersion="35"|android:targetSdkVersion="34"|g' "$DIRPATH"/mbapk/mbapk_unpacked/AndroidManifest.xml +# applies for v6.5.20+ +sed -i 's|android:targetSdkVersion="36"|android:targetSdkVersion="34"|g' "$DIRPATH"/mbapk/mbapk_unpacked/AndroidManifest.xml From c89ae14ad16cc36ac979905a44e8752bf526e70b Mon Sep 17 00:00:00 2001 From: Cuynu Date: Sun, 11 Oct 2026 23:41:41 +0700 Subject: [PATCH 15/15] fix: patches(spoof_appver.sh): missing versionCode for v6.5.14 Signed-off-by: Cuynu --- MBCPApp/patches/spoof_appver.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MBCPApp/patches/spoof_appver.sh b/MBCPApp/patches/spoof_appver.sh index 191ddfb..b056436 100644 --- a/MBCPApp/patches/spoof_appver.sh +++ b/MBCPApp/patches/spoof_appver.sh @@ -144,6 +144,9 @@ sed -i 's|755|2024|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' sed -i 's|756|2025|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' sed -i 's|757|2026|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' sed -i 's|758|2027|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +# v6.5.14 +sed -i 's|759|2028|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' +# other versions sed -i 's|760|2028|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' sed -i 's|761|2029|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml' sed -i 's|762|2030|g' 'mbapk/mbapk_unpacked/AndroidManifest.xml'