Compare commits

..
Message SHA1
feat: zdefend-fix(customize.sh): handle zimperium instead of replacing custom.txt
prevent overriding `custom.txt`

test fix zimperium still present

tested on vsmart joy 2+ with android 12

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

Cuynu   commited 2026-07-26 17:17:56 +07:00
41470f2919
feat: bump v4.4-mb-bindhosts
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-07-22 09:59:47 +07:00
59f22590f1
feat: zdefend-fix(custom.txt): new zimperium eu host
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-07-22 09:42:58 +07:00
806bf439c7
feat: zdefend-fix(action.sh): delete all files with size larger than 2000kb
only zimperium has such size

should not affect any other components like vkey vtap or ekyc

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

Cuynu   commited 2026-07-22 09:41:46 +07:00
f8ebb721d4
feat: zdefend-fix(action.sh): check for mountify & handle disabled metamodule
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-07-22 09:41:35 +07:00
bc24902f8f
fix: zdefend-fix(action.sh): missing timeout check & wrong exit condition
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-07-22 09:41:26 +07:00
4b015c136a
feat: zdefend-fix(action.sh): check for network before zimperium test
also detect for /data/adb/magisk before deleting /data/magisk and magisk backup

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

Cuynu   commited 2026-07-22 09:41:19 +07:00
ab23886665
fix: zdefend-fix(module.prop): typo & correct vtap meaning
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-07-22 09:41:05 +07:00
f28f6c4107
feat: zdefend-fix(action.sh): new implementation for v6.5.7+
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-07-22 09:39:44 +07:00
83fe7efd02
fix: zdefend-fix(customize.sh): module failing to install
due to incorrect app detection method

APKPATH is not present yet but still using it to check, cause false positive

using find instead

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

Cuynu   commited 2026-07-22 09:39:36 +07:00
13abad4768
feat: zdefend-fix(customize.sh): check for built-in magisk systemless hosts and disable it
it conflict with this module and need to be disabled

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

Cuynu   commited 2026-07-22 09:39:09 +07:00
7a5cad0cce
feat: zdefend-fix(customize.sh): check for v6.5.7+ and use notify to use new method
while keep old method in codebase for who still use older app, with condition to check app version.

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

Cuynu   commited 2026-07-22 09:33:15 +07:00
6b11163666
feat: zdefend-fix(customize.sh): use new method to detect original app
libvvb2060.so` is blacklisted by MB since v6.5.7+

if it's getting deleted, the app will refuse to login with checksum error dialog (GW934)

i switch to check for mbcp* instead, not found = original app

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

Cuynu   commited 2026-07-22 09:33:00 +07:00
50106f4753
fix: zdefend-fix(customize.sh): missing folder condition checks
-q flag for some grep operations

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

Cuynu   commited 2026-06-16 21:43:44 +07:00
917b594945
feat: zdefend-fix(customize.sh): remove vtap firmware from app data folder & misc changes
current firmware in app data folder only get removed if `fix_vtap_cert` patch is found in app

helpful for restoring old detection behavior

added grep check for magisk.db to check if `com.mbmobile` is in Denylist or not, some devices does not put the app to denylist even though the command is executed

remove restriction for bypassed app

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

Cuynu   commited 2026-06-09 15:27:04 +07:00
a1958e7deb
feat: zdefend-fix(customize.sh): check for older LSPosed and open link to install Vector
other LSPosed can be used aswell, as long as it newer than 7199+

older LSPosed causes [Device is not compatible] dialog in app with VTAP 40202 error [Runtime Tampering]

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

Cuynu   commited 2026-05-05 16:51:05 +07:00
c0afcd6745
feat: bump v4.3-mb-bindhosts
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-05-01 22:06:56 +07:00
e1d2612690
fix: zdefend-fix(customize.sh): missing flags
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-05-01 21:57:01 +07:00
b57a5427c5
feat: zdefend-fix(customize.sh): handle app reinstallation fail in selinux permissive case
also cleanup after module installation

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

Cuynu   commited 2026-05-01 21:56:50 +07:00
946a687c58
fix: zdefend-fix(customize.sh): app installation failure does not exit
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-05-01 21:08:17 +07:00
90d98d5cf1
feat: zdefend-fix(customize.sh): handle reinstall app after MBCP app check
move selinux check to after app check

also handle app installation failure too

some other changes idk

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

Cuynu   commited 2026-05-01 20:37:03 +07:00
89129e9819
feat: bump v4.2-mb-bindhosts
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-05-01 17:51:37 +07:00
13e88242b9
feat: zdefend-fix(customize.sh): handle selinux permissive & move from vtapfix to afterinstall
reinstalling app itself when selinux is permissive, so the app can work without vtap 40202 error

check selinux status before get apk path, so it wont show duplicate apk path

vtapfix is deprecated, it is now afterinstall page.

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

Cuynu   commited 2026-05-01 17:39:57 +07:00
20cc01436a
feat: customize.sh: set selinux to enforcing
helpful for some roms with permissive by default, fixes 40202 vtap fail for v6.4.80+ with new vtap check

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

Cuynu   commited 2026-02-05 21:45:43 +07:00
f18036134d
fix: customize.sh: wrong ANDROIDSDK version
must be 32 instead, the flag is greeter than, not equal to 33, so it need to be 32.

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

Cuynu   commited 2026-02-05 21:44:15 +07:00
0692b9f69b
feat: customize.sh: check for already bypassed app
app comes with zimperium bypass patches does not need to install this module since it is useless anyway

for prebulit users, it's called FullTest variant.

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

Cuynu   commited 2026-02-01 16:55:45 +07:00
4f7aefcf16
feat: customize.sh: check vtap status again by call from vtapfail function & misc changes
added -q flag to not print all vtap status anymore

also check crash for old VTAP activity

no longer rely on root manager `packageName` to open vtapfix since it can be be randomized

added restore network after vtap fails multiple times

for `vtapstillfail`: notice that the fix is needed

new vtap phase and start app phase

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

Cuynu   commited 2026-02-01 16:45:41 +07:00
d15ba6a8c4
feat: new VTAP fail ~check method & vtapfail/vtapstillfail as a function
using logcat for finding VTAP activity, if it exists then open vtapfix site

can handle some specific cases such as VTAP is provisioned, but the app not work and crashing or opens VTAP activity

it might happens with KernelSU (original packageName) , the app is triggering but VTAP still got provisioned

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

Cuynu   commited 2026-02-01 16:45:07 +07:00
e1de578d25
fix: customize.sh: wrong second
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-02-01 16:44:50 +07:00
f30a77966b
feat: do not block installation for kitsune 30.6 & nirtal magisk users
with warning about data risk and 15 seconds delay

someone created the another fork of mbzdefend-fix and push it to guthib and bullying me

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

Cuynu   commited 2026-02-01 16:09:15 +07:00
b342a54841
fix: customize.sh: reduce to just exit instead of uninstalling malicious magisk app
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-02-01 11:51:11 +07:00
c045f59ce3
feat: customize.sh: timer before uninstallation
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-02-01 11:50:59 +07:00
995df7c018
feat: customize.sh: service.sh: detect and uninstall unknown magisk
there's new proprietary nirtal magisk, which is found from Telegram, this Magisk is unknown and the developer is anonymous.

it might malicious, and takes user data

im not going to allow use of this root impl, this commit will uninstall that proprietary nirtal magisk, as long as the app is not hidden with randomized packageName.

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

Cuynu   commited 2026-02-01 11:50:41 +07:00
05d4015c54
readme: link fixes
brain issues

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

Cuynu   commited 2026-01-16 16:43:08 +07:00
7fa871e24b
readme: build guide & link changes
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-01-16 16:42:58 +07:00
7b27652a81
feat: bump v4.0-mb-bindhosts
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-01-16 16:42:44 +07:00
b2081c907a
feat: service.sh: delete module itself if proprietary kitsune mask is found
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-01-16 16:41:25 +07:00
0ca9aca8ea
feat: customize.sh: hide com.tsng.hidemyapplist package during module installation
vtap is flagging this application as runtime tampering

since this app is now outdated, there another fork for it like HMA-OSS or HMAL-OSS which is way lots better than the original one

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

Cuynu   commited 2026-01-16 01:48:45 +07:00
c5db7e02bc
fix: customize.sh: missing nobindhosts function
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2026-01-16 01:36:17 +07:00
0243bbccba
feat: customize.sh: enforce foss kitsune mask
there's new proprietary magisk based on the original kitsune mask, named as kitsune mask revived

this one is shit because it doesn't have source code and it's UI looks like vibe coded with liquid glass style

im not going to allow use of this root impl, this commit should work and prevent proprietary kitsune mask users from install this module, as long as the app is not hidden with randomized packageName.

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

Cuynu   commited 2026-01-16 01:34:47 +07:00
f5dcf2ac53
fix: wrong ip
122.122.0.122 worked from rooted shell, but not with module installation:(

i'm going to use medium.com again

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

Cuynu   commited 2026-01-16 01:31:38 +07:00
3a07e37513
feat: redirect to fake IP instead
also reference code

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

Cuynu   commited 2026-01-16 01:31:25 +07:00
1f60b0467b
fix: customize.sh: unzip shortcut after termux bootstrap is found
prevent copy error for users who don't use termux

more effective

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

Cuynu   commited 2026-01-16 01:31:11 +07:00
37514d63ec
feat: customize.sh: depends on syslang to open right mbcpinstall page
also only display deleting /data/magisk if it's actually found

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

Cuynu   commited 2026-01-16 01:30:49 +07:00
26154efc71
readme: remove current module version
i forgotten to change this version when bumping new module version many times, its need to be removed for good so i don't need to worry about it anymore

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

Cuynu   commited 2025-12-19 16:56:55 +07:00
5b6c13d4ed
feat: bump v3.9-mb-bindhosts
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2025-12-19 16:40:20 +07:00
be93f4280a
feat: action.sh: also check vtap provision status for action script
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2025-12-19 16:36:51 +07:00
5011e9d040
fix: createmodule.sh: wrong name
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2025-12-18 16:14:18 +07:00
f5d799674a
feat: bump v3.8-mb-bindhosts
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2025-12-18 15:59:52 +07:00
ecb8075007
feat: customize.sh: handle hosts with bindhost
Signed-off-by: Cuynu <cuynu@proton.me>

Cuynu   commited 2025-12-18 15:56:24 +07:00
3228034bfb
8 changed files with 22 additions and 355 deletions

119
README.md
View file

@ -1,119 +0,0 @@
# MB ZDefend Bypass Module for MB/MBCP
- Download from [releases tab](/mbcp/mbzdefend-fix/releases)
- Author : [Cuynu](/cuynu) and [backslashxx](https://github.com/backslashxx) for sed script
- Status : Working with MBCP!
- Required app version : MBCP `v6.4.67` and up for `v3.2-mb+` | MB `v6.4.15` up to `v6.4.58` for `v3.0-mb` or lower
- Required Biz MBBank v2.0 app version : `v1.0.85` and newer :>
## Why this exists ?
- Zimperium and MB Bank development team didn't respect our freedom and privacy by blocking rooted devices (KernelSU/KernelSU-Next/Magisk/APatch), device using LSPosed with a screen showing "THIẾT BỊ JAILBROKEN HOẶC ROOTED" or "JAILBROKEN DEVICE OR ROOTED" (in English) with only "Close app" option.
## Building
```
git clone https://git.disroot.org/mbcp/mbzdefend-fix.git
cd mbzdefend-fix
./createmodule.sh
```
## Source code
This project are licensed under [MIT License](https://git.disroot.org/cuynu/mbzdefend-fix).
- For module : Located on [module_new](https://git.disroot.org/cuynu/mbzdefend-fix/src/branch/main/module_new/zdefend-fix)
- For patched lib (Deprecated) : There is no source code for that as it belong to MB Bank development team and Zimperium. You can make your own patched lib with old method below if you don't want to use my pre-patched lib :)
## Usage (Module)
- Ensure that old root detection (vtap) is bypassed by hiding MB Bank or Biz MBBank v2.0 App from root with any old ways, like Denylist as the module does not handle this old root detection method (For Magisk : [Here](https://www.youtube.com/watch?v=OfFoRltRlME) | For Magisk Delta/Kitsune : [Here](https://www.youtube.com/watch?v=tToyWfJQ-yw)
- Download mbzdefend-fix module from [releases](https://git.disroot.org/cuynu/mbzdefend-fix/releases) or clone the repo, then `./createmodule.sh`
- Flash with your root app (Magisk, KernelSU, KernelSU Next, APatch, etc)
- It should automatically patches `libZDefend.so` and `libapp.so` then open MB/MBCP or Biz MB Bank v2.0 app once it finished.
- NOTE : Every time you need to use MB Bank, you MUST run "Action" on root app -> Modules -> MB ZDefend Bypass instead of open app directly from app drawer (Applies for v6.4.56+ due to server-side MB changes)
- NOTE : App will open with 1005/1007 error or stuck on MB logo, DON'T PANIC and wait for error popup appears, then press "Try again" until app enter login screen !!!
# Tested app version (Outdated)
- Checked mark is the version that already tested and working~
- [x] [MB Bank v6.4.58](https://t.me/embeeapks/48) (MBShield) (need workaround)
- [x] [MB Bank v6.4.57](https://t.me/embeeapks/47) (MBShield) (need workaround)
- [x] [MB Bank v6.4.56](https://t.me/embeeapks/46) (MBShield) (need workaround)
- [x] [MB Bank v6.4.55](https://t.me/embeeapks/45) (MBShield) (no crashes)
- [x] [MB Bank v6.4.54](https://t.me/embeeapks/43) (MBShield) (no crashes)
- [x] [MB Bank v6.4.53](https://t.me/embeeapks/42) (MBShield) (no crashes)
- [x] [MB Bank v6.4.52](https://t.me/embeeapks/41) (MBShield) (no crashes)
- [x] [MB Bank v6.4.51](https://t.me/embeeapks/36) (MBShield) (no crashes)
- [x] [MB Bank v6.4.50](https://t.me/embeeapks/35) (MBShield) (no crashes)
- [x] [MB Bank v6.4.49](https://t.me/embeeapks/32) (MBShield) (no crashes)
- [x] [MB Bank v6.4.48](https://t.me/embeeapks/30) (MBShield) (no crashes)
- [x] [MB Bank v6.4.47](https://t.me/embeeapks/29) (MBShield) (no crashes)
- [x] [MB Bank v6.4.46](https://t.me/embeeapks/28) (MBShield) (no crashes)
- [x] [MB Bank v6.4.45](https://t.me/embeeapks/25) (no crashes)
- [x] [MB Bank v6.4.44](https://t.me/embeeapks/24) - No Zimperium found. (MBShield)
- [x] [MB Bank v6.4.43](https://t.me/embeeapks/23) (MBShield) (no crashes)
- [x] [MB Bank v6.4.42](https://t.me/embeeapks/22) (MBShield) (no crashes)
- [x] [MB Bank v6.4.41](https://t.me/embeeapks/21) (MBShield) (no crashes)
- [x] [MB Bank v6.4.40](https://t.me/embeeapks/20) (MBShield) (no crashes)
- [x] [MB Bank v6.4.39](https://t.me/embeeapks/19) (MBShield) (no crashes)
- [x] [MB Bank v6.4.38](https://t.me/embeeapks/18) (MBShield) (no crashes)
- [x] [MB Bank v6.4.37](https://t.me/embeeapks/17) (MBShield) (no crashes)
- [x] [MB Bank v6.4.36](https://t.me/embeeapks/16) (MBShield) (no crashes)
- [x] [MB Bank v6.4.35](https://t.me/embeeapks/14) (MBShield) (no crashes)
- [x] [MB Bank v6.4.34](https://t.me/embeeapks/13) (MBShield) (no crashes)
- [x] [MB Bank v6.4.33](https://t.me/embeeapks/11) (MBShield) (no crashes)
- [x] [MB Bank v6.4.32](https://t.me/embeeapks/9) (MBShield) (no crashes)
- [x] [MB Bank v6.4.31](https://t.me/embeeapks/6) (MBShield)
- [x] [MB Bank v6.4.30](https://t.me/mbmobileold/198) (MBShield)
- [x] [MB Bank v6.4.29](https://t.me/mbmobileold/197) (MBShield)
- [x] [MB Bank v6.4.28](https://t.me/mbmobileold/196) (MBShield)
- [x] [MB Bank v6.4.27](https://t.me/mbmobileold/195) (MBShield)
## How this was done (Pre-patched binary only) (OUTDATED)
- Use HxD Hex Editor (can be run on Linux env with wine)
- Get `libZDefend.so` from MB Bank app, APKs can be get from Google Play or Aurora Store
- For `libvvb2060.so`, create a empty file and name it as `libvvb2060.so`
- Open `libZDefend.so` with HxD Hex Editor, use Replace feature (Ctrl + R)
- In search for field, type `zimperium`
- In replace with field, fill 9 empty blank space characters or any random words that has 9 characters -> Replace all (Be careful, if something went wrong then modified `libZDefend.so` file will not work at all)
- After HxD replaced zimperium with 9 empty black space characters or empty, save it with (Ctrl + S)
- Copy that`libZDefend.so` you just modified to MB Bank lib folder
- Force close MB Bank app if its not completely stopped, then open MB Bank app again, from now its should load new library and the root & hook detection from Zimperium should be bypassed

View file

@ -5,16 +5,16 @@ COMMIT="$(git rev-parse --short HEAD)"
echo "Creating module (*.zip)..."
cd module_new/zdefend-fix
zip -r mbzdefend_fix_$COMMIT.zip . >/dev/null 2>&1
zip -r mbzdefend_fix_bindhosts_$COMMIT.zip . >/dev/null 2>&1
cd ..
cd ..
mv module_new/zdefend-fix/mbzdefend_fix_*.zip mbzdefend_fix_$COMMIT.zip
mv module_new/zdefend-fix/mbzdefend_fix_*.zip mbzdefend_fix_bindhosts_$COMMIT.zip
if [ -f mbzdefend_fix_*.zip ]; then
echo "Module saved to [mbzdefend_fix_$COMMIT.zip], try to flash it :>"
echo "Module saved to [mbzdefend_fix_bindhosts_$COMMIT.zip], try to flash it :>"
rm -rf module_new/zdefend-fix/*.zip
else
echo "Where is [mbzdefend_fix_$COMMIT.zip] ?"
echo "Where is [mbzdefend_fix_bindhosts_$COMMIT.zip] ?"
echo "Did module actually created yet... Try fetch repo and use command again!"
echo "If your system doesn't have [zip], pls install it"
fi

View file

@ -1,197 +0,0 @@
# MBZDefend-Fix by Cuynu
Bypass MB Bank zimperium root/hook detection (does not bypass VTAP V-Key root detection)
Main repository : [Disroot Forgejo](https://git.disroot.org/mbcp/mbzdefend-fix/)
* As of v3.1-mb+, MBCP is required due to MB limitations from original app.
## Changelogs :
- v4.4-mb
```
feat: zdefend-fix(hosts): new zimperium eu host
feat: zdefend-fix(action.sh): delete all files with size larger than 2000kb
feat: zdefend-fix(action.sh): check for mountify & handle disabled metamodule
fix: zdefend-fix(action.sh): missing timeout check & wrong exit condition
feat: zdefend-fix(action.sh): check for network before zimperium test
fix: zdefend-fix(module.prop): typo & correct vtap meaning
feat: zdefend-fix(action.sh): new implementation for v6.5.7+
fix: zdefend-fix(customize.sh): module failing to install
feat: zdefend-fix(customize.sh): check for built-in magisk systemless hosts and disable it
feat: zdefend-fix(customize.sh): check for v6.5.7+ and use notify to use new method
feat: zdefend-fix(customize.sh): use new method to detect original app
fix: zdefend-fix(customize.sh): missing folder condition checks
feat: zdefend-fix(customize.sh): remove vtap firmware from app data folder & misc changes
feat: zdefend-fix(customize.sh): check for older LSPosed and open link to install Vector
```
- v4.3-mb
```
fix: zdefend-fix(customize.sh): missing flags
feat: zdefend-fix(customize.sh): handle app reinstallation fail in selinux permissive case
fix: zdefend-fix(customize.sh): app installation failure does not exit
feat: zdefend-fix(customize.sh): handle reinstall app after MBCP app check
```
- v4.2-mb
```
feat: zdefend-fix(customize.sh): handle selinux permissive & move from vtapfix to afterinstall
feat: customize.sh: check for bindhost & require user to install bindhost variant instead
feat: customize.sh: set selinux to enforcing
fix: customize.sh: wrong ANDROIDSDK version
```
- v4.1-mb
```
feat: customize.sh: check for already bypassed app
feat: customize.sh: check vtap status again by call from vtapfail function & misc changes
feat: new VTAP fail check method & vtapfail/vtapstillfail as a function
fix: customize.sh: wrong second
feat: do not block installation for kitsune 30.6 & nirtal magisk users
fix: customize.sh: reduce to just exit instead of uninstalling malicious magisk app
feat: customize.sh: timer before uninstallation
feat: customize.sh: service.sh: detect and uninstall unknown magisk
```
- v4.0-mb
```
feat: service.sh: delete module itself if proprietary kitsune mask is found
feat: customize.sh: hide com.tsng.hidemyapplist package during module installation
feat: customize.sh: enforce foss kitsune mask
fix: wrong ip
feat: redirect to fake IP instead
fix: customize.sh: unzip shortcut after termux bootstrap is found
feat: customize.sh: depends on syslang to open right mbcpinstall page
```
- v3.9-mb
```
feat: action.sh: also check vtap provision status for action script
```
- v3.8-mb
```
fix: customize.sh: execute denylist fix before vtap check
```
- v3.7-mb
```
feat: bump v3.7-mb
feat: createmodule.sh: commit id after module name
feat: vtapstillfail.sh: open vtapfix after vtap failling to init
feat: customize.sh: handle denylist for magisk & depends on syslang to open proper vtapfix web
```
- v3.6-mb
```
feat: misc changes
- remove old patching code (v6.4.55 or older please use older version)
- new auto granting app permission
- improve code logic
- support english & vietnamese language for MBZDefend-Fix notification
- other changes idk
```
- v3.5-mb
```
feat: redirect zimperium to localhost
```
- v3.4-mb
```
feat: adapt with new detection point
```
- v3.3-mb
```
fix: customize.sh: typo fix
feat: vtapstillfail.sh: notice for low-end devices that is failing to properly provision vtap
feat: implement MB & termux & magisk check
feat: check if vtap is provisioned or not
```
- v3.2-mb
```
fix: installation failling on some devices
```
- v3.1-mb
```
moved to new code structure, only works with patched MB app (MBCP)
```
- v3.0-mb
```
added termux script for easier use
```
- v2.9-mb
```
workaround for v6.4.56+, ugly but works :<
- it's now requires you to run "Action" on root app -> modules -> MB ZDefend Bypass everytime you need to use MB Bank app...
```
- v2.8-mb
```
open url that guide users follow step to hide vtap detection
```
- v2.6-mb
```
module name changed to "MB ZDefend Bypass"
delete fake "libZDefend.so" for both MB Bank & BizMB Flutter
add support for Biz MB Bank v2.0 (Flutter)
```
- v2.5-mb
```
fix module description.
```
- v2.4-mb
```
disable provider silently
```
- v2.3-mb
```
disable provider before patching
```
- v2.2-mb
```
patching [com.mbmobile] only and minor other changes
```
- v2.1-mb
```
adapt with v6.4.48+
```
- v2.0-mb
```
deleting /data/magisk to prevent eKYC failling
deleting /data/magisk for startup script and actions
```
- v1.9-mb
```
- change patch arguments
- check for sed version before patching
```
- v1.8-mb
```
- fix patching failure on startup for Magisk
```
- v1.7-mb
```
- fix patching failure on Magisk by don't use busybox
```
- v1.6-mb
```
- Test fix installation issue on Magisk/Kitsune Mask
```
- v1.5-mb
```
- Initial release
```

View file

@ -1,6 +0,0 @@
{
"version": "v4.4-mb",
"versionCode": "44",
"zipUrl": "https://git.disroot.org/mbcp/mbzdefend-fix/releases/download/v4.4-mb/mbzdefend_fix_6a81cd4.zip",
"changelog": "https://git.disroot.org/cuynu/mbzdefend-fix/raw/branch/main/module_new/CHANGELOG.md"
}

View file

@ -45,6 +45,7 @@ echo "VTAP status : " && cat '/data/data/com.mbmobile/databases/vtap' | grep -q
echo "Checking VTAP status again..."
cat '/data/data/com.mbmobile/databases/vtap' | grep -q "true" && echo "VTAP is provisioned!" || vtapstillfail || exit 169
# Delete /data/magisk if it exists so MB doesnt failling when eKYC with error code EKYC3002-MS6998 for Magisk users
[[ -d /data/adb/magisk ]] && rm -r /data/magisk
[[ -d /data/adb/magisk ]] && find /data/. -name 'magisk_backup*' -delete
@ -101,17 +102,6 @@ checkmetamodule() {
[ ! -d /data/adb/metamodule ] && nometamodule
}
folkmetamodulecheck() {
[ ! -d /data/adb/metamodule ] && folkHandle
}
folkHandle() {
# enable built-in meta magic mount folk mount api
touch /data/adb/.magic_mount_enable
echo "This module requires metamodule, but you don't have any installed"
echo "So we enabled built-in [Folk Mount API] instead. Please reboot and run action again."
exit 1
}
zimperiumpresent() {
echo "Zimperium still present! Cannot continue :("
@ -119,8 +109,6 @@ zimperiumpresent() {
[ -f /data/adb/modules/mountify ] && echo "You are using [Mountify] metamodule!" && echo "Please install [bindhosts] module and use MBZDefend-Fix bindhosts variant or use custom DNS with host blocking instead!" && exit 1
[ -f /data/adb/metamodule/disable ] && echo "Current installed metamodule is disabled, enabling again!" && rm -f /data/adb/metamodule/disable && echo "Reboot and try again?" && exit 1
[ -f /data/adb/ksud ] && cat /data/adb/ksud | grep -q ksud::metamodule && checkmetamodule
# check for folkpatch before apatch
[ -f /data/adb/apd ] && cat /data/adb/apd | grep -q FolkPatch && folkmetamodulecheck
[ -f /data/adb/apd ] && cat /data/adb/apd | grep -q apd::metamodule && checkmetamodule
echo "Please remove any module override hosts, or use alternative DNS with zimperium host blocking!"
exit 1

View file

@ -50,13 +50,22 @@ notmbcp() {
exit 1
}
bindhostfound() {
echo "Bindhost module found !!"
echo "Please install MBZDefend-Fix with [bindhost] variant instead!"
exit 1
# Replacement for /system/etc/hosts
# Fixes module being disabled due to bindhosts module
nobindhosts() {
echo "[bindhosts] module not found"
echo "Please use normal MBZDefend-Fix module instead !"
exit 169
}
# old HideMyAppList is triggering VTAP, that's why it's must be hidden
bindhosts() {
echo "bindhosts module found ! Applying blacklist rules"
[ $(cat /data/adb/bindhosts/blacklist.txt | grep zimperium*) ] || echo "*.zimperium.com" >> /data/adb/bindhosts/blacklist.txt
}
[ -d /data/adb/bindhosts ] && bindhosts || nobindhosts
tsnghma() {
echo "Dr-TSNG HideMyAppList detected!"
echo "Hiding app..."
@ -143,8 +152,6 @@ magiskhosts() {
[[ -d /data/adb/modules/hosts ]] && magiskhosts
[[ -d /data/adb/modules/bindhosts ]] && bindhostfound
[[ -d /data/data/com.tsng.hidemyapplist ]] && tsnghma
[[ -d /data/data/io.github.Nirtal0.magisk ]] && maliciousmagisk

View file

@ -1,7 +1,7 @@
id=zdefend-fix
name=MB ZDefend Bypass
version=v4.4-mb
name=MB ZDefend Bypass (bindhosts)
version=v4.4-mb-bindhosts
versionCode=44
author=cuynu, xfirstnamelastname
description=Bypass "Rooted device or JAILBROKEN" screen for MBCP App by trick the app detection libraries. \nNOTE : This does not bypass V-Key (VTAP) screen, you have to fix it if you are using Magisk (or original KernelSU).
updateJson=https://git.disroot.org/cuynu/mbzdefend-fix/raw/branch/main/module_new/remoteupdate.json
updateJson=

View file

@ -1,6 +0,0 @@
127.0.0.1 localhost
::1 localhost
127.0.0.1 zimperium.com
127.0.0.1 cdn.zimperium.com
127.0.0.1 gts.zimperium.com
127.0.0.1 eu01.zimperium.com