1 implementing-patches
Cuynu edited this page 2025-10-15 01:06:46 +07:00

Implementing patches

  • patch template is implemented by @fukiame from this commit : aa4eb65992 so just need to follow their TEMPLATE
  • they well documented it on the commit message :
adding new patches is now trivial:

  cd patches
  cp TEMPLATE patch_name_whatever.sh
  # then just fill in patch name and ver clamp if desired

this gets rid of the need for excessive if-elses and not-so-pleasing indents

for logging, instead of using pure echo, 4 new "levels" can be utilized
- `info` : normal
- `good` : info but have green color?
- `warn` : warning
- `err` : error
  • they even implemented the sed that patching libapp to one function, called sed_libapp so you just need to call them and define it a value

example :

sed_libapp 's|{old string}|{new string}|g'
  • note that the old string and new string MUST be at the same character length in order to not breaking libapp.so ELF header

same thing with AndroidManifest.xml too, called manifest_remove

manifest_remove "android.manifest.YouWantedToRemove"
  • get_mb_ver function is used to get MB app version by reading version code

  • but that is not actually enough, you have to do smth that is patching the app, like rm, sed, mv operation. below is the example. you can literally do anything you wanted to mess up in the patches file :

#!/usr/bin/env bash
# PATCHNAME: Remove banners & MiniApp
# MAXVER: 67
# MINVER:
# shellcheck disable=SC1091
. "$DIRPATH"/common.sh

sed_libapp 's|banner|remove|g'
sed_libapp 's|marketplacehome|removemarketapp|g'

info 'Moving links...'
sed_libapp 's|https://miniappgw.mbbank.com.vn/homebox/webview/auth?|https://git.disroot.org/mbcp/info/wiki/MiniApp?ref=mb|g'
sed_libapp 's|https://miniappgw-uat.mbbank.com.vn/homebox-public/|https://git.disroot.org/mbcp/info/wiki/MiniApp?refs|g'

info 'Removing related resources...'
rm -rf 'mbapk/mbapk_unpacked/root/assets/flutter_assets/packages'
rm -f 'mbapk/mbapk_unpacked/root/assets/flutter_assets/assets/images/dynamic/base/billing_img_defaultBanner.webp'
rm -f 'mbapk/mbapk_unpacked/root/assets/flutter_assets/assets/images/dynamic/base/billing_img_defaultBanner.private.webp'
rm -f 'mbapk/mbapk_unpacked/root/assets/flutter_assets/assets/images/dynamic/base/explore_img_defaultBanner.webp'
rm -f 'mbapk/mbapk_unpacked/root/assets/flutter_assets/assets/images/dynamic/base/coreBanking_img_successBanner.webp'
rm -f 'mbapk/mbapk_unpacked/root/assets/flutter_assets/assets/images/dynamic/base/homeLanding_img_defaultBanner.webp'
rm -f 'mbapk/mbapk_unpacked/root/assets/flutter_assets/assets/images/dynamic/base/homeLanding_img_defaultBanner.private.webp'