Compare commits

...
Message SHA1
fix: patches(spoof_appver.sh): missing versionCode for v6.5.14
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-10-11 23:41:41 +07:00
c89ae14ad1
feat: patches(target_sdk_34.sh): adapt with targetSdk 36 for v6.5.20+
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-09-13 14:54:45 +07:00
d5eab6d854
feat: patches(spoof_appver.sh): spoof more versionCode
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-09-13 14:37:22 +07:00
968367822a
feat: patches(spoof_appver.sh): adapt with v6.5.2x & mark v6.5.x as legacy
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-09-13 13:21:29 +07:00
35707bbecc
feat: patches(remove_qr_wave.sh): introduce remove qr scanner wave patch
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-09-13 13:13:44 +07:00
004ff0e974
docs: wrong day
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-09-12 03:24:19 +07:00
65e71fd42e
docs: wrong link
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-09-12 03:23:49 +07:00
0630d8d025
docs: update about new checksum measure
with v6.5.15+, the checksum is enhanced...

Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-09-12 03:20:40 +07:00
db71084199
fix: patcher(mbcpapp.sh): wrong handling
separate function fixed it

Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-09-09 15:50:46 +07:00
f413ecfb68
fix: patcher(mbcpapp.sh): use return 0 instead of exit
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-09-09 15:13:48 +07:00
bf39876c69
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 <cuynu@proton.me>

Cuynu   commited 2026-09-09 03:51:19 +07:00
d15a333726
feat: patcher(mbcpapp.sh): confirmation before running patch app function
for v6.5.15+ with new checksum mechanism only

Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-09-09 03:44:43 +07:00
45ec5e5e11
fix: patcher(mbcpapp.sh): warn does not show for v6.5.15+
it need to be displayed before run patcher.

Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-08-31 01:12:23 +07:00
a21c61f40e
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 <cuynu@proton.me>

Cuynu   commited 2026-08-31 00:53:59 +07:00
bb01c94dfa
feat: patcher(mbcpapp.sh): show warn for v6.5.7+ when select specific install apk option
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-08-17 09:13:32 +07:00
5fbf2c74ce
6 changed files with 151 additions and 50 deletions

View file

@ -313,7 +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 ] && newbehavior
is_unpacked_lib && bash ./parse.sh && bash ./patch.sh
}
@ -474,7 +482,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 !!!"

View file

@ -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

View file

@ -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'
@ -132,12 +144,33 @@ 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'
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'

View file

@ -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

View file

@ -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 :
<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.
</details>
## Introduction
> Fact : MBCP / MBZDefend-Fix is my "hobby project", I maintain it in my free times :>
@ -56,40 +68,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*
<details>
| ⚙️ 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 |
</details>
@ -336,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 :
<details>
- 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.
</details>
## Credits
- [apktool](https://github.com/iBotPeaches/Apktool)

43
docs/checksum_newapp.md Normal file
View file

@ -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 11 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
```