From 7cc8b27d09c20b55571c1d2e474807a3633c9d96 Mon Sep 17 00:00:00 2001 From: Cuynu Date: Mon, 23 Jun 2025 18:09:29 +0700 Subject: [PATCH] feat: preserve apk signature scheme v2/v3 after repacking apk --- MBCPApp/mbcpapp.sh | 26 +++++++++--------- MBCPApp/mbsig/README.md | 6 ++-- .../mbsig/signatures/0_V2.signature.info.bin | Bin 0 -> 1381 bytes .../mbsig/signatures/1_V3.signature.info.bin | Bin 0 -> 1381 bytes .../signatures/2_STAMP_V2.signature.info.bin | Bin 0 -> 3605 bytes .../3_0x2146444e.signature.info.bin | Bin 0 -> 3802 bytes .../signatures/4_PADDING.signature.info.bin | Bin 0 -> 2087 bytes 7 files changed, 17 insertions(+), 15 deletions(-) create mode 100644 MBCPApp/mbsig/signatures/0_V2.signature.info.bin create mode 100644 MBCPApp/mbsig/signatures/1_V3.signature.info.bin create mode 100644 MBCPApp/mbsig/signatures/2_STAMP_V2.signature.info.bin create mode 100644 MBCPApp/mbsig/signatures/3_0x2146444e.signature.info.bin create mode 100644 MBCPApp/mbsig/signatures/4_PADDING.signature.info.bin diff --git a/MBCPApp/mbcpapp.sh b/MBCPApp/mbcpapp.sh index af95b51..5f5dc47 100755 --- a/MBCPApp/mbcpapp.sh +++ b/MBCPApp/mbcpapp.sh @@ -144,19 +144,19 @@ fi echo "Repacking APK..." touch mbcpinfo.txt 'mbapk/mbapk_unpacked/assets' echo "This app are patched by MBCPApp Patcher on $(uname -s -r) with commit :" $(git rev-parse --short HEAD) at $(date). "That's all xD" > 'mbapk/mbapk_unpacked/assets/mbcpinfo.txt' - java -jar tools/apktool_2.11.1.jar b mbapk/mbapk_unpacked -o mbcpapp_apk/MBCP_Flutter.zip - echo App repacked to [mbcpapp_apk/MBCP_Flutter.zip] !!! - echo ------------------------------------------ - echo ------------------------------------------ - echo You MUST use MT Manager on Android, and copy ALL FILE and FOLDERS on [MBCP_Flutter.zip] to [mbsig.apk] - echo So patched MBBank [MBCPApp] can pass MBShield signature check [if have] and works. - echo "!!! MT Manager are required because Apktool can't handle and keep APK signature scheme v2 and v3 !!!" - echo ----------------------------------------------------- - echo ----------------------------------------------------- - echo Both file will be copied to [/sdcard] !!! - adb push mbcpapp_apk/MBCP_Flutter.zip /sdcard - adb push mbsig/mbsig.apk /sdcard - echo "In case if you want to copy again, use [Copy patched app again function]." + java -jar tools/apktool_2.11.1.jar b mbapk/mbapk_unpacked -o mbcpapp_apk/MBCP_Flutter_TMP.apk + echo "Processing APK signature scheme v2/v3..." + rm -rf 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml' + java -jar tools/APKEditor-1.4.3.jar d -i 'mbcpapp_apk/MBCP_Flutter_TMP.apk' + cp -r 'mbsig/signatures' 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml/' + java -jar tools/APKEditor-1.4.3.jar b -i 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml' + mv 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml_out.apk' 'mbcpapp_apk/MBCP_Flutter_SelfPatched.apk' + rm -rf 'mbcpapp_apk/MBCP_Flutter_TMP_decompile_xml' + rm MBCP_Flutter_TMP.apk + echo "Completed! Repacked APK are saved as [mbcpapp_apk/MBCP_Flutter_SelfPatched.apk] !!!" + echo "Install and trying to open it when ಠ‿ಠ" + echo "If you are facing issues, report it on Telegram [@mbbpatch] or GitLab : mbbpatch !!" + else echo "[mbapk_unpacked] folder not found ! Please unpack APK first !" fi diff --git a/MBCPApp/mbsig/README.md b/MBCPApp/mbsig/README.md index 0ead9f9..1c5ce28 100644 --- a/MBCPApp/mbsig/README.md +++ b/MBCPApp/mbsig/README.md @@ -1,5 +1,7 @@ # Notice -`mbsig.apk` and `mblitesig.apk` are only contain the APK signature scheme of original MB Bank / MB Lite app, which is used after repacking APK to make patched app works. it's NOT closed-source part. +`mbsig.apk` and `mblitesig.apk` are only contain the APK signature scheme of original MB Bank / MB Lite app, which is used after repacking APK to make patched app works. it's NOT closed-source parts. -- The closed source part is whole original MB Bank app and MT Manager (which used to preserve APK signature scheme V2/V3), while MBCPApp Patcher which patches original MB Bank open source. \ No newline at end of file +`signature` folder contains the APK signature scheme of original MB Bank extracted from APKEditor, likes `mbsig.apk` but more easily cuz don't need MT Manager anymore, it's will be used during repacking APK process to make patched app works. it's NOT closed-soruce parts. + +- The closed source part is whole original MB Bank app and MT Manager (which used to preserve APK signature scheme V2/V3), while MBCPApp Patcher which patches original MB Bank open source. diff --git a/MBCPApp/mbsig/signatures/0_V2.signature.info.bin b/MBCPApp/mbsig/signatures/0_V2.signature.info.bin new file mode 100644 index 0000000000000000000000000000000000000000..b833a7bce8491253b72bbedc90c36e5db76f69c4 GIT binary patch literal 1381 zcma!LWdH-IcFw|3RtAPZRt5%PW(Ecw1_lNV1_lOZMg|521_lQApZBWTwrTlA-Ek3o z?#QluLcpJS)&J$ino`TwG#lD5on~TSIL^etV9>;L*r17V^#W!lMkXef$~BIS2E1&X zT5TR}-+37sxmg(ugbW1?_}G|3S-6GSeVr7X67#YRE~X|%MusgqYR_u-eiZo4{{3A1Teov!Pv-I_ z-x0P`a-7^zVfD64j?L)L`;@1mskU3MJ9R%;+N)U5u;#sk{5CO`<_BN;%ugpscujhk zuz4Nd$9aO!(<+s}RR3MY99-POv1O-;nqykB;5)Sm%3IYFd}0dr9;i99a&3>j0)N=4 zt7}5JuS^ja(Ml@XDf`!d&F;F*91|n9@6`Kj{rf{zc0m5xj_DD1m@i2NwI34Jbds$4 zEPdv+!NY>X;x$*|>hCJuYj}J9_4ew0rx$(rT@)Y7pVRav<>-w43!8;^w9lBBbd_~& z$;%hIv45)mGwO&g^PavjFe~NsrqmZj2c?YfFs({nY`%ZjPc2btCT2zk#>I*T@&>YO z%%QS;EMhDoHhlc^Wwoxxs zr^Yd!@>IJP{@o_KSuXHm;C8lHR?q&EyL!8PVjPb0O}ew-`=f4Nq2;ZYSeBnScf)mt zvbP-P+0`>-KjgSs%y(M*VvBLl<8Qf#R~SFxzs_*X--9D)^TKn!`Ip_a@(jd{?(jSG z?~geD?P}eGy1)i;{`SI~7ToXsqMm8&JIbiZ^>V)89nZr)g)Q=N^48rMN~sIB=-et6 z?B8k6`TxQJw(j-PGH=B#tuln#U)=v|tQh@A(KOFyPrUK%XvN7%OBcSq{8H)UF@puu zcKl@K+hYE?RQZBV_5HwxEjB-|+KCDql^$IA&{<=l*n7pYf7unA3+V_RQlh?hlbCcNqhsPh*RoWVD z>j-M~x*ep}wYtXm@ZIK(mww;mnvgZ)!-35=_z%RrUvxcMZiQo8oH6IU`AZL6bx3`@ z_JIBmx%P6cw3|vfy^-Z{#f`fjZh0oZ?4Qt2)dvahf^C|2&l7qfepoR!Qed8A#fMT) zu}cMC4!=EK+Ph;N&kc!&D>;>=nVD_H_xaCT2k-ejS@5)H)g$lQGw+|;r}%uk&X?D3 ya;Gf6onBh+SeaS|8j}5O0;L6=`nsSHAYZ&AI*e>Ga&%8^+`Ga literal 0 HcmV?d00001 diff --git a/MBCPApp/mbsig/signatures/1_V3.signature.info.bin b/MBCPApp/mbsig/signatures/1_V3.signature.info.bin new file mode 100644 index 0000000000000000000000000000000000000000..f4ed5cd312fbaa5b2c2e476f6f163483d6a44708 GIT binary patch literal 1381 zcma!LWdMT%8NnYySs54tSs56(nHd;#7#J8d7#J9s85tN97#JAbf8MKV+ot6gb;m{U zxg)#s2?2lRRsWY4Yf3F!(`;zNbef5Q;W!fmgFzG1VS^^d)eD%J7@3$@D%UtR8t}4l zYPET^edlFlqZwHln41{+84Q{jxtN+585y?ds6DIQ`%&OG`}cG4Z{5y`J(A zB`;s-#{Q}L&!{81%zOIAz^s(hn^IpC9h5S@!?Y@SvHAX8Kea@qnV1H-_Y`P&O`T5!Mji+ZN9?96$y;}4D5WmgqI0WQ zuz#mL=l=@_*t*wC%e)o0w8{`_e{uh>v10TeMbkW+J@Ll3qZKD7EnWEb@=K+Y#|#!s z+wqf`Z;ScoQsoOe)%OD%w%Gi**d-Yz@z;OrL)e7I(0HO`1Srex-A+@3gUFD=17)+9JZa^{~;5 r`zm~zdjgej7(^Lv+Bqp~>Sl#VZG)21u8wO09BPc9>^_n8ppQTn literal 0 HcmV?d00001 diff --git a/MBCPApp/mbsig/signatures/2_STAMP_V2.signature.info.bin b/MBCPApp/mbsig/signatures/2_STAMP_V2.signature.info.bin new file mode 100644 index 0000000000000000000000000000000000000000..414426120c3929f3c882929d1ef1cb2209cd92b4 GIT binary patch literal 3605 zcmd<(V*mr*hX1*&d<+b|tPBhWO{|>;P0WQ0n3))vm_!-&2mjj5?Kh#mUrTA>h6mT{ zbKeUj81S-jYPET^edlFlZ=cTp zT+{34cVy4e;OVd0{{Q5Sm?d#@!n*nODz>YZd+kwXHep{X>Abt$SW#^Mg$T3kb?gm% z4oT+}&bfp!R7tH0YuIENbF1oYp8aK}_e|HeyRN%$y(0gAKzY50Ri@_2o?w&zCh=Oc zOguMUpBK3|^Q>*q1(8TT{hP(VgeKfdNLS~%5r0X@K_`7p{RyM9uWpu|QQlXuVAtHh zyN6b^xC$%^>fO0!g}378+Gl6(2VTmYG9mqVusY}ctCc-l3>cdm!cJd*dVJZz8T&ki zE&uQszms~haq++UkNIcMxE$r3HR1WGZ9R$aS5MLoeEv8{#OU+U7x4>=SVH#sXdX%T zV&f0}9^3SUMPQksU`x`nnH4>i=Tb;;H%Ddhu70*9TLxJy^z3_X7xPo zQ(H%Mjc||rx;ra=h@PG@?O^L}=idiDm2uWAmk~D6eLDSg=EO-269Z#Ugddg{IVk(f z@$!rVDq;oE92fr9&&ZnFeoQ*?w~<*ir)K{@h5Tin$L<}evt8QPz_aQ6MhCmyD;PQM z7ADkZ>#P;>tDAl-mc7l)BXK6Ppi|pzF{`&j9Yp|6aEM1 zPI}<6&iO_5vq^hRS{KZpb1;%cVfQgveldHyKD&qWWciH#OBqJAY`?UMQAL!u^w^t; z>t2MiWR{x#I$V$ucbxH%_mYUl4axnI8zYas;d1yLJZbjEiv_pXcxLkHsEL@{TYQx& zJoUxeQ_ZsQSnatYtywqiFJ3y(@*?JY^p(YHp4^m}7;R~mYr2!K_=4h>IgNZTJ};LO zSCx8n^1=BPauS^1?Uo7^&3SrHc!z^|$~_a`jXyxO5u{RaQKS6Yjfb)CAoIAYePE1K@Fw_omVd7AXj@qc>kt(@-~(i6hxcpt4$ z=7_7B{Z69vcs7fSSW)`6w}HMl^fUQ>mPZ;IZ_f5-zQ1~X<_wvML6bf{mVL|IQOTFo zANO_69{IpI74P($Zr<9y@6#!M>-ER?FrLgdKBDe+J>G-e^2?{A3)en*GFQ~|XOBlz zaJ<)kiG2(H?MY^vzGVH!f>qljT0+-(*C-`Nv7F`+$*Ajd?0lBb5+-JM=F#b@VwMBZ zH+bCmM420Y@0mO!%>K6j{7U;zvBInVmM10c>pIA8R-nHA3>-`h49p-7 z69WSuXAW!GzvXBCY^>TLd454<*vp%X7!J={ed(x?VJx#>UHX%v{f`T8e5%|evE*J- zp0Gs~|KCemWvqpa6CYkveD|nl=E{asdoR}|XRMrE-{W?WQ)7uiY^G_f z{{7i0WQC1dg}$c#`W#*hPT_Q4j#d561y{c3+;`o7eqz+W`QE%+Cxk!HSh8@=h3`|{ z{n?Y=EL!{EeoW8Ylx0FJvmR-le(Ut5{0-}~1s;w@Y`3;H*6{Nko435D>!)67%zTZd z&7QyP_=|Mkue8R=n6%ed2iFSXf7tF}A->cgBHEI~8F0&b)&EIRhJTYcYj@%uCV7`U?vrivyS z2i>@TT1IpFEGc8B%V8;B#Tr7j=FR%-By3fg@3(7bg30SI(ubuhZ!ubUSNop1v9YV! zz_hDAE`Yh{&18eCYrb9*IT|9ECQ^Lt^Sx5GY0;Z_<`#Q?y!zdCh7p(0fz!8jOS<0` zrKUjkw(V+;*{#|)OP?Qlmb**(_A}|jm%HY+GtA=1tT6lYPMq!Ctp=~yC$*(F zzdram_1y{+In4(Wwn=~19ldP3HcxNu73KM9rA`MXGuC+d_1jPAlbPh%&+XA^VKiyd z-e;k1yw2I|g^!;6zhsiL)m`+^de@jzyj8orTDhoqvS5H%xdk@z@cws23KOFYMuuGF+YI_o8#@KLL65Q!NXMZ+!-( z3+B;uF`6#W(**+qg8(R9FfcH}+RYW<_vD>c)+L!*?_#5XEmH#D3fR&Drl z*_7}SqqIPi(-GU}J(Uy=N%+h1*icNQbBTvtPbKgFQ^`IOi804n&tjO z>SSba>9M1);^*$UbLO78yuq(oqI0ZO=RR!u`_{LpaGivR2isi!g&XIbUH=e!SG0`-#E+z0dQfRdQ}6+|3ady~+y57;SE_ zbA9Xz-EDFF_VVua$7Y)@D{Q)SxzyGhl^?2Ic zG?Ax=WV=sR#rgf-efx#-4_myVi}h`Jct7Rd|94=A{Ct-KYp>4R8-4$` z|0Km@LX8Y8i&!6XPFiO*L!_{3&?SgUok&ip_IMG=t7m~ZnDykgnrxT?c6ybkI#zt-u+GM1tQ8)Y>(#4-gD>pWYnwuZfg_s zTXxQgJe=$9^{mJYjd0ePcq;Jhu7eX!?A&qNeZR_Tk#aBhQ-4*@uGr}we|vt;n^g(z GAFTmD>tpW# literal 0 HcmV?d00001 diff --git a/MBCPApp/mbsig/signatures/3_0x2146444e.signature.info.bin b/MBCPApp/mbsig/signatures/3_0x2146444e.signature.info.bin new file mode 100644 index 0000000000000000000000000000000000000000..4035844016ff236d6e920e96a955f5c3a37f6f41 GIT binary patch literal 3802 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 literal 0 HcmV?d00001 diff --git a/MBCPApp/mbsig/signatures/4_PADDING.signature.info.bin b/MBCPApp/mbsig/signatures/4_PADDING.signature.info.bin new file mode 100644 index 0000000000000000000000000000000000000000..68e2f052809b44af0088c3b1538d741193e8dba4 GIT binary patch literal 2087 ncmb2=U;u;i)FLM^W0V*Tfzc2c4S~@R7!85Z5Eu;sNC*G`^)vyv literal 0 HcmV?d00001