commit 08b7b90e9054bb076ae82db1b71cfe8f755bd1e2 Author: Cuynu Date: Mon May 25 16:53:57 2026 +0700 vtpay_vtapfix: initial commit Signed-off-by: Cuynu diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a5c7d3a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.zip diff --git a/META-INF/com/google/android/update-binary b/META-INF/com/google/android/update-binary new file mode 100644 index 0000000..28b48e5 --- /dev/null +++ b/META-INF/com/google/android/update-binary @@ -0,0 +1,33 @@ +#!/sbin/sh + +################# +# Initialization +################# + +umask 022 + +# echo before loading util_functions +ui_print() { echo "$1"; } + +require_new_magisk() { + ui_print "*******************************" + ui_print " Please install Magisk v20.4+! " + ui_print "*******************************" + exit 1 +} + +######################### +# Load util_functions.sh +######################### + +OUTFD=$2 +ZIPFILE=$3 + +mount /data 2>/dev/null + +[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk +. /data/adb/magisk/util_functions.sh +[ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk + +install_module +exit 0 diff --git a/META-INF/com/google/android/updater-script b/META-INF/com/google/android/updater-script new file mode 100644 index 0000000..11d5c96 --- /dev/null +++ b/META-INF/com/google/android/updater-script @@ -0,0 +1 @@ +#MAGISK diff --git a/README.md b/README.md new file mode 100644 index 0000000..c79d45a --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# Viettel Money VTAP Bypass +- Simple VTAP (or so called VKey) bypass module for Viettel Money (Android), made by Cuynu with no AI/LLM-assistance at all. +- This will continue to work as long as Viettel Money still uses VTAP and **does not inject their maximum BShield protection.** + +# Usage + +- Download module from releases here : [cuynu/vtpay_vtapfix releases](/cuynu/vtpay_vtapfix/releases) +- Flash the module with Magisk (v21.0+ recommended) +- It will bypass at app data level, since it does not requires app modification +- After done, Viettel Money app will open, you can continue to use normally without hiding root. +- Everytime you reinstall app, or clear the app data, reinstall this module, or use [Action] for this module from modules list. + +# Limitation + +- [Smart OTP] feature does not work due to old java-based root detection from dex level. You can use SMS OTP for transaction authentication + +# Build module (Unix-based/Linux only) +``` +git clone https://codefloe.com/cuynu/vtpay_vtapfix.git +cd vtpay_vtapfix +./createmodule.sh +``` + +# License +- MIT License + +# Credits +- Cuynu (@cuynu) - developer + diff --git a/action.sh b/action.sh new file mode 100755 index 0000000..2ddfb6b --- /dev/null +++ b/action.sh @@ -0,0 +1,36 @@ +#!/system/bin/sh + +openapp() { + echo "Opening app..." + am start -n com.bplus.vtpay/.activity.MainActivity +} + +appinstalled() { + echo "Viettel Money [com.bplus.vtpay] is installed!" + echo "Forcing stop app..." + am force-stop com.bplus.vtpay + echo "Bypasing :)" + rm -rf /data/data/com.bplus.vtpay/files/firmware + rm -rf /data/data/com.bplus.vtpay/files/profile + rm -rf /data/data/com.bplus.vtpay/files/signature + mkdir -p /data/data/com.bplus.vtpay/files/firmware + mkdir -p /data/data/com.bplus.vtpay/files/profile + mkdir -p /data/data/com.bplus.vtpay/files/signature + # delete bshi libraries + echo "Deleting bshi** libraries..." + for library in $(find /data/app -name libVFaceLib.so | grep com.bplus.vtpay) ; do rm $library ; done + for library in $(find /data/app -name libvkauxj.so | grep com.bplus.vtpay) ; do rm $library ; done + # telemetry + echo "Deleting telemetry libraries..." + for library in $(find /data/app -name libcrash*.so | grep com.bplus.vtpay) ; do rm $library ; done + [ -d /data/data/com.bplus.vtpay/files/firmware ] && echo "Bypass applied!" +} + +appnotfound() { + echo "Viettel Money [com.bplus.vtpay] app not found !!!" + echo "Please install it !!!" + am start -a android.intent.action.VIEW -d https://www.apkmirror.com/uploads/?appcategory=viettel-money +} + +echo "Checking Viettel Money app..." +dumpsys package com.bplus.vtpay > /dev/null 2>&1 && appinstalled || appnotfound diff --git a/createmodule.sh b/createmodule.sh new file mode 100755 index 0000000..3cdcb96 --- /dev/null +++ b/createmodule.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +COMMIT="$(git rev-parse --short HEAD)" + +ls *.zip && rm -rf *.zip + +echo "Creating module..." +zip -r vtpay_vtapfix_$COMMIT.zip META-INF customize.sh README.md action.sh module.prop + +if [ -f vtpay_vtapfix_*.zip ]; then + echo "Module saved to [vtpay_vtapfix_$COMMIT.zip], flash it" +else + echo "Something wrong!" + echo "Check if [zip] is installed or not?" + diff --git a/customize.sh b/customize.sh new file mode 100755 index 0000000..2ddfb6b --- /dev/null +++ b/customize.sh @@ -0,0 +1,36 @@ +#!/system/bin/sh + +openapp() { + echo "Opening app..." + am start -n com.bplus.vtpay/.activity.MainActivity +} + +appinstalled() { + echo "Viettel Money [com.bplus.vtpay] is installed!" + echo "Forcing stop app..." + am force-stop com.bplus.vtpay + echo "Bypasing :)" + rm -rf /data/data/com.bplus.vtpay/files/firmware + rm -rf /data/data/com.bplus.vtpay/files/profile + rm -rf /data/data/com.bplus.vtpay/files/signature + mkdir -p /data/data/com.bplus.vtpay/files/firmware + mkdir -p /data/data/com.bplus.vtpay/files/profile + mkdir -p /data/data/com.bplus.vtpay/files/signature + # delete bshi libraries + echo "Deleting bshi** libraries..." + for library in $(find /data/app -name libVFaceLib.so | grep com.bplus.vtpay) ; do rm $library ; done + for library in $(find /data/app -name libvkauxj.so | grep com.bplus.vtpay) ; do rm $library ; done + # telemetry + echo "Deleting telemetry libraries..." + for library in $(find /data/app -name libcrash*.so | grep com.bplus.vtpay) ; do rm $library ; done + [ -d /data/data/com.bplus.vtpay/files/firmware ] && echo "Bypass applied!" +} + +appnotfound() { + echo "Viettel Money [com.bplus.vtpay] app not found !!!" + echo "Please install it !!!" + am start -a android.intent.action.VIEW -d https://www.apkmirror.com/uploads/?appcategory=viettel-money +} + +echo "Checking Viettel Money app..." +dumpsys package com.bplus.vtpay > /dev/null 2>&1 && appinstalled || appnotfound diff --git a/module.prop b/module.prop new file mode 100755 index 0000000..a1d63e3 --- /dev/null +++ b/module.prop @@ -0,0 +1,6 @@ +id=vtpay_vtapfix +name=Viettel Money VTAP Bypass +version=v1.0-vtpayfix +versionCode=10 +author=cuynu +description=Bypass Viettel Money VTAP root detection, allow use the app without hiding root. Reinstall or run Action in case if you clear or reinstall app.