[Moved to fix repository] MBCPApp Patcher for MB Bank Android (Flutter), written from scratch in bash.
This repository has been archived on 2026-04-04. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Smali 69.6%
  • Shell 30.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Cuynu 40a6bdf4f2 patches: correct maximum supported version
Signed-off-by: Cuynu <cuynu@proton.me>
2025-10-01 15:43:10 +07:00
MBCPApp patches: correct maximum supported version 2025-10-01 15:43:10 +07:00
.gitignore [SQUASH] refactor: treewide: separate patches, provide common common, refactor change_app_logo, commonize and enhance logging 2025-09-03 03:10:34 +07:00
LICENSE license as MIT license 2025-09-03 01:25:42 +07:00
README.md README.md: new todo 2025-09-30 18:03:14 +07:00

MBCPApp Patcher for MB Bank

2025_logo

Lightweight "open source" tool for patching MB Bank Flutter (Android) app for rooted user, mostly written in Bash, made possible by Cuynu without any use of AI.

Notice

  • The reMBCP project on GitHub is the garbage repository, which is confirmed that it will contains AI-generated code in the future and even bullying me like a dogshit. Avoid that ugly fork !
  • STOP forking this project and fed to AI-tools as i don't like them. Any forks that is doing this thing is literally slowing down project development !!!
  • PLEASE respect the author code !!!

DISCLAIMER

We are not responsible for any illegal action if criminal abuse this patch to do illegal things, since it's originally made for technical 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 probably won't meet FOSS requirements due to containing 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, we spend days to rewritten MBCP patches once again in Bash and open sourced it so you can patch yourself from original app on (Bare metal, not WSL) Linux environment
  • Note : MBCP are "MBBank CorePatch" but shorter and MBCP or MBCPApp are the same thing as MBCP.

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 :

    1. blob_patches/bypass_apptampering
    1. blob_patches/noadjust_volume_sekyc
    1. blob_patches/skip_maintainscreen
    1. blob_patches/bypass_accessibility_applist
    1. blob_patches/bypass_rootold
    1. blob_patches/fix_df16211
  • Under mbsig directory, 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 :>

Patches list :

📦 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.66
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.67
Change widget background to dark Change widget background to dark if you use MBBHomeWidget. v6.4.0 ~ v6.4.67
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.67
Remove invoke to mbshield Make app don't invoke to mbshield when opening (MainActivity) and (MBBHomeWidgetQR) only v6.4.22 ~ v6.4.66
Remove MB Themes Store Remove the MB Themes Store banner from Themes list, preventing access to MB Theme Store. v6.4.28 ~ v6.4.67
Remove new zimperium check Remove the new Zimperium (ZDefend) root detection from app. Picked up from Legacy Patch. v6.4.60 ~ v6.4.66
Remove bulit-in fonts Remove app font and force to use device font for most app components. v6.4.0 ~ v6.4.67
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.66
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.67
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.67
Remove animated QR background Remove the animated QR background on bottom navigation bar and replace with white background. v6.4.43 ~ v6.4.67
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.66
Restore old registration resources Restore old resources on onboarding page. v6.4.48 ~ 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.66
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.66
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.66
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.67
Set targetSdkVersion to 34 Set the targetSdkVersion to 34 (Android 14). v6.4.10 ~ v6.4.67
Add modified resources Adds the specific strings for MBCP on eKYC phase, and modify the DigiBank logo. v6.4.0 ~ v6.4.67
Add anime resources Adds anime-related resources to some components inside app. v6.4.45 ~ v6.4.67

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

Requirements

  • Any actual Linux x86_64 environment (Arch Linux based recommended) or Termux (not recommended)
  • Termux/macOS/WSL may work but some function (eg : Unpack APK, sed_libapp on macOS) will not work and i don't want to spend more times just to supporting them. I only developing this project with Linux environment.
  • Little knowledge about terminal commands
  • android-tools wget for Arch/Fedora based and android-sdk-platform-tools for Debian based
  • git installed
  • java or jdk-openjdk installed
  • figlet for showing banner (optional)
  • xmlstarlet for reformatting AndroidManifest after unpacking

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.sh script

cd ~/mbbpatch/MBCPApp
./mbcpapp.sh
  • Download necessary tools first with Download tools function (otherwise other functions are unlikely to work!)
  • Convert apks to apk first using Convert apks to apk function
  • Unpack apk with Unpack apk function
  • Use Patch App function 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 APK function to recompile patched app
  • Patched app will be MBCP_Flutter_SelfPatched.apk on ~/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

External projects

MBCPApp Patcher project won't be possible without those external projects !!

Contributors

  • Cuynu - MBCP project author/maintainer
  • fukiame - other improvements to project