diff --git a/MBCPApp/patch.sh b/MBCPApp/patch.sh index 3c00d9d..a90e812 100755 --- a/MBCPApp/patch.sh +++ b/MBCPApp/patch.sh @@ -16,7 +16,7 @@ fi echo --------------------------- echo Patch list for MBCPApp : PS3='Select patch options : ' -select opt in 'Autopatch strings' 'Change app logo' 'Force portrait screen' 'Remove invoke to mbshield' 'Remove bulit-in fonts' 'Modify app theme' 'Remove garbage permission and activities' 'Remove eMBee' 'Revert old eMBee logo' 'Remove animated QR background' 'Remove banners & MiniApp' 'Bypass accessibility & malicious apps check' 'Hide VTAP root detection activity & dialog' 'Remove new root detection' 'Add modified resources' 'Bypass signature check' 'Bypass 1200 error [v6.4.45]' 'Exit' +select opt in 'Autopatch strings' 'Change app logo' 'Force portrait screen' 'Remove invoke to mbshield' 'Remove bulit-in fonts' 'Modify app theme' 'Remove garbage permission and activities' 'Remove eMBee' 'Revert old eMBee logo' 'Remove animated QR background' 'Remove banners & MiniApp' 'Bypass accessibility & malicious apps check' 'Hide VTAP root detection activity & dialog' 'Remove new root detection' 'Add modified resources' 'Fix DF16211 eKYC error' 'Bypass signature check' 'Bypass 1200 error [v6.4.45]' 'Exit' do if [ "$opt" == 'Autopatch strings' ]; then if [ -d ~/mbbpatch/MBCPApp/mbapk/mbapk_unpacked/lib ] @@ -298,6 +298,19 @@ do echo "[revert_old_eMBee] patch not found !" fi + elif [ "$opt" == 'Fix DF16211 eKYC error' ]; then + if [ -d ~/mbbpatch/MBCPApp/patches/fix_df16211 ] + then + echo "Applying patch..." + cp -f 'patches/fix_df16211/R1Native.smali' 'mbapk/mbapk_unpacked/smali_classes3/com/singalarity/sdk/blueshield/tenv/' + cp -f 'patches/fix_df16211/m1/M1RemoteService.smali' 'mbapk/mbapk_unpacked/smali_classes3/com/singalarity/sdk/blueshield/tenv/m1/' + cp -f 'patches/fix_df16211/g5.smali' 'mbapk/mbapk_unpacked/smali/PnsNdyzgXyeb3tEAPFdpbje8b4s' + cp -f 'patches/fix_df16211/j5.smali' 'mbapk/mbapk_unpacked/smali/PnsNdyzgXyeb3tEAPFdpbje8b4s' + echo "Applied [Fix DF16211 eKYC error] !" + else + echo "[fix_df16211] not found!" + fi + elif [ "$opt" == 'Remove invoke to mbshield' ]; then if [ -d ~/mbbpatch/MBCPApp/patches/noinvoke ] then @@ -718,7 +731,6 @@ then ehco "[mbapk_unpacked] not found ! Please unpack APK first !" fi - elif [ "$opt" == 'Noel' ]; then if [ -d ~/mbbpatch/MBCPApp/mbapk/mbapk_unpacked/ ] then diff --git a/MBCPApp/patches/fix_df16211/g5.smali b/MBCPApp/patches/fix_df16211/g5.smali new file mode 100644 index 0000000..2d3a317 --- /dev/null +++ b/MBCPApp/patches/fix_df16211/g5.smali @@ -0,0 +1,60 @@ +.class public final LPnsNdyzgXyeb3tEAPFdpbje8b4s/g5; +.super LPnsNdyzgXyeb3tEAPFdpbje8b4s/t5; +.source "SourceFile" + + +# instance fields +.field public a:Ljava/util/List; + .annotation system Ldalvik/annotation/Signature; + value = { + "Ljava/util/List<", + "LPnsNdyzgXyeb3tEAPFdpbje8b4s/n5;", + ">;" + } + .end annotation +.end field + + +# direct methods +.method private static native $blueshield$B006b8420(Landroid/content/Context;Ljava/util/List;)[Ljava/lang/Object; +.end method + +.method private static native $blueshield$E006b8420(Ljava/lang/Object;Ljava/lang/Object;)V +.end method + +.method static constructor ()V + .locals 1 + + const-string v0, "blueshield" + + invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V + + const v0, -0x23f96fd5 + + invoke-static {v0}, Lblueshield/Loader;->l(I)V + + return-void +.end method + +.method public constructor (Landroid/content/Context;Ljava/util/List;)V + .locals 0 + .annotation build Ldalvik/annotation/Signature; + value = { + "(", + "Landroid/content/Context;", + "Ljava/util/List<", + "LPnsNdyzgXyeb3tEAPFdpbje8b4s/n5;", + ">;)V" + } + .end annotation + + invoke-static {p1, p2}, LPnsNdyzgXyeb3tEAPFdpbje8b4s/g5;->$blueshield$B006b8420(Landroid/content/Context;Ljava/util/List;)[Ljava/lang/Object; + + move-result-object p1 + + invoke-direct {p0}, LPnsNdyzgXyeb3tEAPFdpbje8b4s/t5;->()V + + invoke-static {p0, p1}, LPnsNdyzgXyeb3tEAPFdpbje8b4s/g5;->$blueshield$E006b8420(Ljava/lang/Object;Ljava/lang/Object;)V + + return-void +.end method diff --git a/MBCPApp/patches/fix_df16211/j5.smali b/MBCPApp/patches/fix_df16211/j5.smali new file mode 100644 index 0000000..d1c69b7 --- /dev/null +++ b/MBCPApp/patches/fix_df16211/j5.smali @@ -0,0 +1,33 @@ +.class public final LPnsNdyzgXyeb3tEAPFdpbje8b4s/j5; +.super Ljava/lang/Object; +.source "SourceFile" + +# interfaces +.implements LPnsNdyzgXyeb3tEAPFdpbje8b4s/n5; + + +# direct methods +.method static constructor ()V + .locals 1 + + const-string v0, "blueshield" + + invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V + + const v0, 0x63883241 + + invoke-static {v0}, Lblueshield/Loader;->l(I)V + + return-void +.end method + +.method public constructor ()V + .locals 0 + + invoke-direct {p0}, Ljava/lang/Object;->()V + + return-void +.end method + +.method public final native b()Z +.end method diff --git a/README.md b/README.md index d0ef1a8..c234828 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,7 @@ Lightweight "open source" tool for patching MB Bank Flutter (Android) app for ro | `Hide VTAP root detection activity & dialog` | Hide the old root detection screen and dialog showing "Device is rooted". | v6.4.0 ~ v6.4.54 | | `Remove new root detection` | Remove the new Zimperium (ZDefend) root detection from app. | v6.4.15 ~ v6.4.54 | | `Add modified resources` | Adds the specific strings for MBCP on eKYC phase, and modify the DigiBank logo. | v6.4.0 ~ v6.4.54 | +| `Fix DF16211 eKYC error` | Fixes error while authenticating face with eKYC on some devices. | v6.4.40 ~ v6.4.54 | | `Bypass signature check` | Not implemented | v6.4.0 ~ v6.4.21 | | `Bypass 1200 error` | Workaround for 1200 error that happening on original MB app with specific version, now discontinued. | v6.4.45 |