10 KiB
MBCPApp Patcher for MB Bank
Lightweight AI-free, humanity open source tool for patching MB Bank (Android) app with Flutter framework (v6.4.0+) for rooted user. mostly written in Bash, made possible by Cuynu and community.
- Licensed as MIT License : View license.
DISCLAIMER
I'm not responsible for any illegal action if criminal abuse this patch to do illegal things, since it's originally made for technical or well-known users only and not criminal.
Introduction
- This project was made to remove or limit annoying features & root detection & accessibility detection that implemented by the development team of "MB Bank" Android app with additional features such as custom themes ability,etc. It's not PoC project.
- It's won't meet FOSS requirements due to contains some proprietary smali code (for example: Hide VTAP patch)
- MBCP are closed source before, and many people don't like it cuz worry about security & privacy issues.
- In order to support community and also satisfy my mindset, I spend days to rewritten
MBCPpatches in Bash and open source it so you can patch yourself from original app on (Bare metal, not WSL) Linux environment - Note : MBCP are "MBBank CorePatch" but shorter and
MBCPorMBCPAppare the same thing asMBCP.
Documentation
- Documentation on self-hosted instance (WIP/Incomplete)
Requirements & Usage & How-to use patcher
- Follow documentation here : Patcher Usage (self-hosted)
Patches list :
Important
As of MB v6.4.68+, MB's dev team are finally fight against this project by compressing
libapp.soand even improved their tampered library & dex check from both server & app-side !This means most important patches that is patching
libapp.soare now useless and can't be used :(Current situation :
libapp.socan be decompressed with a specific hook method described by other dev, but the decompressedlibapp.sodoesn't work if you trying to put it to app.
📦 MB Bank : com.mbmobile
| ⚙️ Patch | 📜 Description | 🏦 Suggested version |
|---|---|---|
Autopatch strings |
Modify the strings in-app within libapp.so, and also fixes some translation typo in-app. |
v6.4.0 ~ v6.4.66 |
Block adjust volume on sEKYC |
Prevent the device volume from being adjusted when entering eKYC activity. | v6.4.0 ~ v6.4.71 |
Bypass GW934 checksum |
Bypass the GW934 error rolled-out from MB server-side which prevent MBCP users from logging in to app. Only use this after applied all your patch needs. | v6.4.64 ~ v6.4.66 |
Change app logo |
Change the app logo with set of icons. | v6.4.0 ~ v6.4.71 |
Change widget background to dark |
Change widget background to dark if you use MBBHomeWidget. | v6.4.0 ~ v6.4.71 |
Disable MB Membership |
Disable the MB Membership badge below pfp and all of it's features. | v6.4.0 ~ v6.4.66 |
Force portrait screen |
Force the screen always portrait on app, espcially when launching. | v6.4.0 ~ v6.4.71 |
Remove invoke to mbshield |
Make app don't invoke to mbshield when opening (MainActivity) and (MBBHomeWidgetQR) only | v6.4.22 ~ v6.4.71 |
Remove MB Themes Store |
Remove the MB Themes Store banner from Themes list, preventing access to MB Theme Store. | v6.4.28 ~ v6.4.71 |
Remove new zimperium check |
Remove the new Zimperium (ZDefend) root detection from app. Picked up from Legacy Patch. | v6.4.60 ~ v6.4.71 |
Remove bulit-in fonts |
Remove app font and force to use device font for most app components. | v6.4.0 ~ v6.4.71 |
Remove custom profile picture |
Force the use of default profile picture instead of your current one on MB's server side. | v6.4.0 ~ v6.4.66 |
Modify app theme |
Modify the app theme in app from original one to others. Currently have MBClassic and SemiPriority. | v6.4.30 ~ v6.4.71 |
Restore old 682 lib |
Restore old v6.4.61 libapp.so to prevent enforced quockhanh theme changes on v6.4.62. |
v6.4.62 |
Remove garbage permission and activities |
Removes tracking permission & activities from app. | v6.4.0 ~ v6.4.71 |
Remove eMBee |
Removes eMBee options in app, alongside with Customer support. | v6.4.43 ~ v6.4.66 |
Revert old eMBee logo |
Revert old eMBee logo, specially on product consultation options. | v6.4.53 ~ v6.4.71 |
Remove useless libraries |
Remove the useless libraries from app, only for v6.4.67+ | v6.4.67 ~ v6.4.71 |
Remove animated QR background |
Remove the animated QR background on bottom navigation bar and replace with white background. | v6.4.43 ~ v6.4.71 |
Remove banner & MiniApp |
Removes the banner and MiniApp on homeLanding page when logged in. |
v6.4.43 ~ v6.4.66 |
Remove VPN detection |
Remove the VPN detection that warn users to turn it off on app bundle. | v6.4.52 ~ v6.4.66 |
Remove VNPAY VMB20 |
Remove the VNPAY Airplane related activities. | v6.4.55 ~ v6.4.71 |
Restore old registration resources |
Restore old resources on onboarding page. |
v6.4.48 ~ v6.4.71 |
Spoof app version to v6.4.68 |
Spoof the app version from v6.4.66 to v6.4.68. | v6.4.64 ~ v6.4.66 |
Bypass accessibility & malicious apps check |
Remove the restriction of using the app when an app using accessibility service or "malicious apps" like (HideMyAppList) installed. | v6.4.25 ~ v6.4.54 |
Hide VTAP root detection activity & dialog |
Hide the old root detection screen and dialog showing "Device is rooted" (might have issues on some HyperOS ROMs). | v6.4.0 ~ v6.4.71 |
Legacy hide VTAP activity & dialog |
Hide the first root detection screen with dialog showing "Device is rooted" but not bypassing it. (GW908 will present, unlike standard Hide VTAP root detection activity & dialog patch). Only use for some ugly ROMs which crashing with standard patch. |
v6.4.53 ~ v6.4.71 |
Remove new root detection |
Remove the new Zimperium (ZDefend) root detection from app. (Now requires workaround for v6.4.56+) | v6.4.15 ~ v6.4.58 |
Bypass new zimperium detection |
Bypass the root check from Zimperium within app. | v6.4.56 ~ v6.4.63 |
Remove protection shield |
Remove the MIC protection shield on profile picture and login screen. (not app protection) | v6.4.0 ~ v6.4.71 |
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.4.71 |
Set targetSdkVersion to 34 |
Set the targetSdkVersion to 34 (Android 14). |
v6.4.10 ~ v6.4.71 |
Add modified resources |
Adds the specific strings for MBCP on eKYC phase, and modify the DigiBank logo. | v6.4.0 ~ v6.4.71 |
Add anime resources |
Adds anime-related resources to some components inside app. | v6.4.45 ~ v6.4.71 |
Legacy patches
- Those patches are not implemented or outdated, which is used for discontinued MB app version.
📦 MB Bank : com.mbmobile
| ⚙️ Patch | 📜 Description | 🏦 Suggested version |
|---|---|---|
Bypass signature check |
Not implemented | v6.4.0 ~ v6.4.21 |
[TEST] Remove v6.4.56 root detection |
New workaround that removes new Zimperium (ZDefend) root detection from app. | v6.4.56 |
Bypass 1200 error |
Workaround for 1200 error that happening on original MB app with specific version, now discontinued. | v6.4.45 |
Proprietary code
- This project probably won't meet FOSS requirements due to contains proprietary code extracted from MB app that has been modified to bypass something else. That applies for following folder :
-
blob_patches/bypass_apptampering
-
blob_patches/noadjust_volume_sekyc
-
blob_patches/skip_maintainscreen
-
blob_patches/bypass_accessibility_applist
-
blob_patches/bypass_rootold
-
blob_patches/fix_df16211
- Under
mbsigdirectory, its contain MB original dumped signature, which is necessary to make app works after patching process. - Everything including that listed above code are all licensed under MIT license, it's can be considered as reverse engineered code :>
Usage
- Go to home directory, then clone repository first
cd ~
git clone https://git.disroot.org/mbcp/mbbpatch.git
cd ~/mbbpatch/MBCPApp
-
Since MB Bank are now using split APK (*.apks) since
v5.3 (135)so you have to convert it to regular APK first -
Grab MB Bank apks from eMBee APKs or Lotus Chat if you don't have access to Telegram and copy it to
~/mbbpatch/MBCPApp/mbapk -
Run bash
mbcpapp.shscript
cd ~/mbbpatch/MBCPApp
./mbcpapp.sh
- Download necessary tools first with
Download toolsfunction (otherwise other functions are unlikely to work!) - Convert apks to apk first using
Convert apks to apkfunction - Unpack apk with
Unpack apkfunction - Use
Patch Appfunction and select the patches you want to apply to unpacked app except [Bypss GW934 checksum] patch - When done, apply the [Bypass GW934 checksum] patch, then use
Repack APKfunction to recompile patched app - Patched app will be
MBCP_Flutter_SelfPatched.apkon~/mbbpatch/MBCPApp/mbcpapp_apk/ - Install it to your device (requires MBCP Helper / CorePatch ) with enabled "Disable digest verify" option.
- Profit :)
TODO
-
Bypass the new dex & libraries checksum for MB v6.4.67+
-
Adapt new v6.4.67 zimperium structure
-
Adapt new v6.4.68 trungthu theme
Contributing
- PRs are wekcome, but you are NOT allowed to use any AI-tools for creating PRs to this project even if it's manually reviewed by human, please use your brain and search engine & read documentation (without AI things) !
- If you wish to use AI-tools, please go ahead and find for another project.
Credits
- apktool
- APKEditor
- MT Manager to handle APK signature scheme v2/v3 (in the past)
- Zhaxia CN for sticker packs (Add anime resources)
Contributors
- Cuynu - MBCP project author/maintainer
- fukiame - refactor & other improvements
- Ngankbakaa - contributor