yashsingh1/xdaforums huggingface dataset:
[Android General] HiddenRambler:
Fix for latest version of the mobile banking app (version 1.7.1)

I've figured out the changes required for the v1.7.1 of the app which is the latest version as of this post.

Changes from the old 1.4.2 are:

Almost all the classes in the app are now obfuscated, whereas before only some of the core class names were obfuscated.

The string encryption has changed. rather than a single encryption function it now uses a group of functions to perform the encryption. rrrrrr/vuuuvu class seems to manage invoking the proper decryptor based on the arguments.

All root checking is now done via the native library.

Native library now does some checks as soon as it's loaded before any methods are called.

The last change is a big problem since its not possible to do the patching of the dll after loading it as was done before. The onload/init of the dll exits the whole application as soon as it detects the phone is rooted.

My solution was to use a modified version of the 'crazy_linker' custom loader library which comes with the ndk to load the library into memory without invoking it's onload/init functions. This lets us hook into the necessary functions before they are called.

I've attached the smali changes as a diff and the new native hook library in this post.

As a side note I think the version 1.4.2 is a far better version. Why on earth would a banking app need to permissions to take pictures, who spends their time 'customizing' a banking app with personal pictures.

Edit: I've fixed a bug where the root was still being detected when used with chainfire su app. Special thanks to lil-diabo for helping me fix the issue. :good:
[Android General] HiddenRambler:
Xposed module for barclays banking app 1.7.1

Edit: New version (BarcPosed1.1.apk) has some support for barclays pingit. I've not tested this my self as I don't use the application personally. If anyone tries it please let me know.

I've converted my patch into xposed module. This module is compatible with the current banking app (version 1.7.1).

Please consider this as a beta version for now. I've tested it on cyanogenmod but it might have some issues with other roms. If you try it please let me know if it worked.

Assuming you already have a working xposed installation the steps to get the app working are:

1) Install banking app from playstore. Make sure it's version 1.7.1

2) Install the BarcPosed.apk from my post.

3) Run the BarcPosed app and click the 'install' button. You will need to grant it root permissions.

4) Enable the module in xposed and reboot.

5) Use the barclays app as normal.

6) Disable automatic updates for the banking app to prevent it from updating.

I've included the source code for the app.
[Android General] gazza1988:
Thanks, works perfectly. You sir (or madam) are a genius
[Android General] lil-diabo:
Works like a charm

Just tested it and it works!

Most excellent, Thanks again for your hard work.

So much easier than having to manually edit the files etc.
[Android General] x7nofate:
It works,excellent job, finally can use Barclays mobile, thank you very much

sent from Samsung Galaxy S4 Active
[Android General] Zell Dinch:
Just tested and it worked marvellously. Could you please make a fix for pingit as well?
[Android General] HiddenRambler:
I've updated my post with version that stops the rooted warning from pingit. Don't use pingit myself so don't know how successful it is. Let me know if you try it.
[Android General] b1g1an:
Brilliant, been struggling in vain with Root Cloak Plus on my N5 but this works perfectly. Many thanks.
[Android General] vivelafrance:
Before I switched to KK, I used Barclays App 1.3 doing a small trick with SuperSU. It worked perfectly. I signed the app myself so that it wouldn't update itself from the market and so that I could still use the automatic update in the market.

Do you think it would be possible to make your AMAZING solution work with my v1.3 signed app instead?

thnx
[Android General] HiddenRambler:
You could try "root cloak" or "root cloak plus" they probably will work.
[Android General] vivelafrance:
Actually, what I did, is sign the app with OneClickSigner and it worked fine. Now, the app is not attached to the market anymore since the signature changed, so that means I can continue to use the "automatic update" from the market and it won't ask me to update the app all the time when Barclays upload a new version.

thnx
[Android General] LoMAX_HUN:
Hello,

I have a request, can you make it compatible with GingerBread plz?

Thanks.
[Android General] HiddenRambler:
Can you try the attached apk. It's the same code but built as an app for gingerbread version (API lvl 10). I couldn't test it as I don't have a phone for that version.

If it doesn't work please give me a logcat.
[Android General] talyene:
Banking Works, but Not PingIt

xposed is fantastic!

This worked for me. It's so nice to be able to update my SU binaries without fear of breaking the app.

I'm running Cyanogenmod v10.2.0 on a Samsung Galaxy S3 (International) (i9300).

I tried using the v1.1 of the BarcPosed.apk with PingIt, but it still tried to gain root and then closed itself immediately.
[Android General] SlingShot:
Thanks for this information! I just removed the latest Barclays app on my rooted LG G2. I then installed the 1.7.1 app from a previous thread. Then the Xposed framework along with the BarcPosed1.1.apk and activated it. Rebooted and was able to run the Barclays app perfectly! I signed up successfully. It did tell me there was a newer version but I wasn't forced to update. Perfect.

Due to my pincentry going wrong and not having received the new one yet, this was essential to be able to view my account!

Mobile Pincentry isn't working on my handset though for some reason.
[Android General] spetrie:
You have to be registered for 10 days before it is activated in the mobile app.
[Android General] SlingShot:
Aha, thanks for that. I don't think I saw that when I first installed the app on my un-rooted phone. Cool to know it'll still work on this patched version after 10 days.
[Android General] lil-diabo:
There's a new update to the Barclays app. Now sitting at version 1.17

I've updated (to see if it works) But it keeps force closing, even after removing the patch

Installed the older version and re-enabled the xposed module and it's working fine again

Anyone had any luck?
[Android General] vivelafrance:
yeah I tried it too just in case, but same thing, keep crashing.. Using the 1.71 app (old versionning, not sure why Barclays suddenly changed its version numbers)
[Android General] oran3e1:
I bailed

I completely reverted back to stock android and now i can safely use this pathetic app...

Once again i am screwed over by a bank, im not bothered as soon a new big update will come out i think 5.0
[Android General] Faz1980:
Maybe they're finally sorting themselves out. Only says about Pingit but they'll do a banking app if they have any sense.
[Android General] sabret00the:
They've been saying that a while.
[Android General] Faz1980:
I know, just living in hope. I've just opened an account with Natwest because their app works on rooted phones. I'd rather not change banks but I work away a lot so need access to my account on the move. I'm still keeping my Barclays account though.
[Android General] ozanerdemb:
Xposed + BarcPosed1.1.apk + Barclays mobile 1.7.1 works on rooted device!

I hopefully found this thread on the forum.

I rooted my Galaxy s4 i9506 and the latest Barclays application stopped working.

0) I installed Xposed (if you don't know how to install xposed, google for it or install Greenify, tap "experimental features" and it will guide you for the installation).

1) I used the old Barclays installation file (apk, version 1.7.1) that ViveLaFrance shared (page 18 of this thread: signed-Barclays171.apk). Once downloaded, I installed it and granted root permissions to it.

2) I installed, as explained by HiddenRambler, the BarcPosed1.1.apk (the very first entry of the thread: BarcPosed1.1.apk). I granted root permissions to it.

4) I enabled the BarcPosed module in Xposed interface and reboot my phone.

5) Voila! When you launch the Barlays Mobile application, it works!

6) Disable automatic updates for Barclays Mobile (Google Play > Settings > Disable automatic updates) to prevent it from updating.

Thank you HiddenRambler and ViveLaFrance (I used the buttons to thank you so please do so for them)! :good:
[Android General] vivelafrance:
np :)
[Android General] x7nofate:
Does any one can upload mobile banking v. 1.7 please

sent from Samsung Galaxy S4 Active
[Android General] vivelafrance:
My link is already in this thread!!! But because it's Christmas, here it is again:

https://drive.google.com/file/d/0By6ge7RHIorjRWl6UGNxejN1ZE0/view?usp=sharing
[Android General] korscar:
A fix that works!

Thank you so much.

I had put off rooting until I couldn't bear it any longer because of the Barclays App. Now I have root and a working App on S3 mini.

:D
[Android General] aniilv:
I don't get how Barcley thinks this is safe when you have to install someones apk just to get the app working?!

Also, mine did not work, version 1.7.1 the app is crashing every time I open it. With or without this apk. Stock S4.

ok so I did this

and it works, thanks!
[Android General] vivelafrance:
Has anyone found a way to not allow Barclays 1.7.1 to be lilnked with Google Play so that it doesn't notify us of an upgrade available?

I can't take it anymore to have to use Titanium backup to detach it from the PlayStore sometimes several times a day to be able to batch update the other apps installed...

I tried some things with Lucky Patcher but couldn't make it work.

A few months back, I created a new APK with ZipSigner and it worked, but it doesn't work anymore.
[Android General] x7nofate:
Is not working again. App ask for update this time

sent from Samsung galaxy note 4
[Android General] vivelafrance:
Unfortunately you're right...

To be honest, i'll receive my SGS6 Edge in a few days and I don't think I'll root it at all since it has become harder and harder to get those apps working on rooted devices
[Android General] x0149128:
Looks like another 6 month wait until they believe they've forced everyone to update before it will work again. Barclays really annoy me over this.
[Android General] Biggenz:
I've given up rooting my devices because I can't live without my Barclays app and can't be bothered with all the hassle of getting it working on a rooted device.

What I can say though is, if you did want to root your phone because you wanted a custom rom etc. and didn't mind losing root you've got your phone setup the way you want, you can make the Barclays app work.

On my last few devices I have rooted them, installed custom roms and then just deleted the su file in the bin and xbin system folders. Doing it this way your custom recovery still works as well as Titanium backup, so some of the important root features are still there, Titanium Backup being the most important one for me. Plus the Barclays app works fine like that.

The good thing about this is, you can make a nandroid backup of your phone at this stage, so you can always go back to that state if you wanted to make changes or something went wrong.
[Android General] flamix:
Tried for my rooted Cynogen android 5.1.1. The barclays application continuously crashes.
[Android General] 160lightning:
I'm guessing it may take some time for the OP to possibly decide whether it's worth tweaking to work on lollipop.

Let's not forget that Barclay's security frequent this forum so as soon as a workaround is found and posted they know about it and do what they need to do.... it's a never ending battle.

Easier way I've found is to simply modify my chrome browser from default 'Non zoom' on mobile pages to 'force zoom' so you can actually see what your doing and then use the Barclays online banking log-in via mobi browser page and copy a shortcut from login page to your homescreen.

I actually have a really nice Barclays blue eagle logo icon on my homescreen when I set the shortcut.

Yeah.... I know it's extra input (surname plus 19 keypresses versus 10 total on the app) and it's not as sexy as the app.... but it gets the job done and allows you to move money while you're on the go..... and surely that is all we really want.... well it works for me.

let's also not forget that it would be really easy to set up a fraud on your own account with root access to a banking app.... hence why all banks will not allow access to their apps on rooted devices.

Nick
[Android General] DonDino1:
Actually, "all" banks allow their apps to run on rooted phones. Natwest, RBS, Nationwide, HSBC to name a few. Barclays is in the small minority that are still so mind-numbingly stubborn.
[Android General] lynchyy89:
They could of been lying to shut me up but there could be hope for barclays..
[Android General] ruffnek786:
Excellent work on this. Respect to the dev.

Any chance we will be seeing this for lollipop devices.
[Android General] lynchyy89:
Just downgraded my Barclay's app back to 1.7.1 (using xinstallers 'downgrade app' enabled) used barcposed and the app let me get as far as entering my details.. Then told me I needed to update the banking app to continue.. is their a way to stop this?
[Android General] anees167:
worked without problem, until now as it forces me to update the app .....
[Android General] x0149128:
It does this everytime there's a new app. Normally if you wait a month or two, it lets you login again without uploading. In the meantime I just access via the computer using the phone for pin sentry
[Android General] verg0:
Would it be possible to create an open source banking app to give the correct user agent and format the pages, just like the barclays app does with the option to remember the password? Eg a modified browser or something, then they can throw all the protection they like at their silly app :p
[Android General] ovation1357:
Has everyone given up on Barclays?

It's been nearly a year since the last update to this thread, and it really looks like use of a crazy linker and native library interposistion is key to defeating Barclay's blindingly stubborn and stupid attitude to 'rooted' devices (I'm using CM13 with root disabled).

The Barclays app is now at version 1.31 (unhelpfully close to the much older 1.3.1 when it comes to searching Google)

Does anyone have a working set up of the Barclays mobile banking app on a modern custom ROM?

I'm tempted to have a look at the interposer library released by the OP, but I presume that it has long since been broken by Barclays' updates and may take me many hours of trawling through obfuscated code to make even a tiny bit of progress... It might be quicker and less painful for me to switch banks.

Santander looks promising and appears to be okay with root, but as some other banks (Lloyds/Halifax/BOS at the least) have now also gone non-root; I wonder if it's just a matter of time before all UK banking apps attempt to block rooted phones.

Cheers in advance for any updates

Jonathan
[Android General] earazi:
I'd be interested in knowing, it's kind of the main reason I've but rooted my htc 10, I might anyway and just you their web based sore but it's far from ideal
[Android General] UpGrad3:
Anybody successfully running the latest app with root ? Magisk hide the app and dialer doesnt help
[Android General] sufy1000:
Hi, i'm running the Pixel Experience ROM, and my Barclays mobile banking app was working great as i used Magisk to hide it, but now when i go to open the app, it crashes for some odd reason. It was working for a while, then all of a sudden it stopped working. Now, can't get into it. I've tried uninstalling/reinstalling but that doesn't seem to do the trick.

I don't have any other apps installed like busybox or anything else like that.

Anyone know what's wrong, as i really need this app to work.

Any help would be appreciated.
[Android General] HiddenRambler:
Strange. It was able to go registration screen for me, but i didn't test it any further. Could you tell me the Pingit version and your ROM type/version?
[Android General] talyene:
PingIt

I don't think I saw the regsistration screen because I've already registered via the Banking app.

When I last had both running on an unrooted phone, Pingit picked up that the Banking app had already verified who I was and opened straight away.

When I tried to run PingIt this time, it tried asking for su permissions and then shut down.

I'm running v1.14 of Pingit.

ROM is CyanogenMod v10.2.0-i9300.
[Android General] HiddenRambler:
Would it be possible to give me a logcat?
[Android General] talyene:
Success!

So this is strange. I went to generate you a logcat using the Cat Log app.

I opened the Cat Log app to check it works, minimised it and then opened Pingit.

Pingit didn't grumble or groan, it just asked me if I wanted to use the existing registration for the banking app and is now working fine.

Weird!

If you don't mind, I'd like to give you a little bit of feedback on BarcProsed1.1.apk.

It wasn't clear to me if the hook for Pingit had been installed (this may have been why it didn't work at first).

When you run the app and tap Install hook for Pingit, Library copied appears, but then never disappears.

If you're installing both hooks for the first time, it's not clear whether the Pingit hook has installed, because that Library copied message never disappears after tapping Install hook for Mobile Banking.

Would you consider something more overt and transitory in a future version?

I know it's garish, but something like a big green SUCCESS! with a tick followed by Library copied, that then fades after a second or so would be awesome and give me confidence that everything had been installed OK.

I guess the other thing is that I would have expected to see two modules now available for xposed, not just one. This was a bit confusing for me as I'd assumed that there would be separate modules for the Banking app and Pingit.

Anyway, these are purely cosmetic, user interface stuff for us non-devs.

I cannot tell you how happy I am that I now have the latest versions of the Banking app and Pingit working on my rooted phone and that I've been able to update the su binaries.

Thank you so much.
[Android General] HiddenRambler:
Glad you got it to work.

Your suggestions are quite welcome.

I've not come across the situation where the message does not disappear. But it's controlled by android and i'm not sure if I can do anything about. But the good news is I have now realised that it's not necessary for the file to be copied, it could be run in place. I will implement this in a next version, which should make the whole thing far simpler. I'm also trying to get the code merged with root cloak so maybe there wont even be a next release.

In any case I appreciate the suggestions UI design is one my strengths ;).
[Android General] smar:
Support for Barclaycard?

Thanks for all your work on this [MENTION=3536811]HiddenRambler[/MENTION]! Any chance you could also link in the Barclaycard app (https://play.google.com/store/apps/details?id=com.barclays.bca)?
[Android General] b1g1an:
From a quick look, I don't think the Barclaycard app offers anything different for a card account than is possible from the main Barclays app, might be wrong though. I was surprised to see mine automatically listed in there with a load of useful features as i run the accounts separately.
[Android General] geovass:
Thank you! Great Job!
[Android General] smar:
Are you saying that you can see your Barclaycard account from within the main Barclays account? If so, I'm not, nor am I seeing any option to add it.
[Android General] HiddenRambler:
Yes. My barclays banking app lists the barclaycard account and shows the remaining credit, transaction list, and allows to make payments. Not sure if it's worth installing barclaycard app if you already have the mobile banking app. Maybe you need to enable it in settings or something.

In anycase i will try to see if i can get barclaycard app working as well when i get some time.
[Android General] b1g1an:
Yep, it was just there after registering the app for my bank account, no action on my part.

The options mentioned by HiddenRambler are all there and, as far as I could see from the Play store at least, are all that the separate app offers.

I was surprised because I took the BarclayCard out independently of the bank account so never thought of them being related beyond both being Barclays products obviously.

---------- Post added at 06:17 PM ---------- Previous post was at 06:16 PM ----------

Just found this on the Barclays website...

Can I view my Barclaycard through my Barclays Mobile Banking app?

You’ll need a Barclays current account to register for the app. If you’ve registered your account and are using the Barclays Mobile Banking app, you should be able to view your Barclaycard through the app. If you can’t, call us on 0333 200 1014*. If you don’t have a Barclays current account, download the MyBarclaycard app instead.

*Lines are open 24 hours a day, 7 days a week. To maintain a quality service, we may monitor or record phone calls. (Calls to 03 numbers use free plan minutes if available. Otherwise, they cost the same as 01/02 prefix calls.)
[Android General] smar:
Thanks both. As I don't see my Barclaycard option, I'll try giving them a call. If this works, then yes, definitely don't need the Barclaycard app.

UPDATE: Just called Barclays. As it is the weekend, they'll hopefully be adding the Barclaycard to my account by end of day Tuesday!
[Android General] mziada:
Brilliant, Works fine on N9005 Stock 4.3 CF-Auto root

Thanks
[Android General] meandu229:
Just wanted to say thanks, the xposed module was a life saver. The apk wouldnt install directly from this thread I had to use an apk installer, but worked perfectly after that. Thanks alot
[Android General] liamwli:
This works perfectly, for both Pingit and Mobile Banking!

Thank you so very much!

Liam
[Android General] 706mix:
Thanks very much!

This works on Resurrection Remix v5.0.1 KitKat ROM on SGS2.

The only problem I had was installing the Xposed framework as it reported "no space"

My Sys Partition was full (504MB/504MB) so I used RootAppDelete to delete some unwanted system apps first. Then Xposed framework installed no problem. :D
[Android General] vrooom666:
Can I uninstall this barexposed app after I finished using it?
[Android General] HiddenRambler:
No. Its an xposed module which actively prevents the banking app from detecting root. It needs to stay installed for as long as you use the banking app.
[Android General] ryan19:
Great job mate :)
[Android General] alias86uk:
Donate Button

Hello

Thanks so much ! I maybe able to leave natwest now as the only reason i back with them now is because of there online banking.

If you can do the barclaycard App too that would be more than awesome.

also i would like to donate to you, if you could give me some details

thanks

alias
[Android General] HiddenRambler:
If you already use banking app then you can apparently call them to enable managing barclaycard account from within the same app by calling them :

Thanks for the donation offer, but I don't really need any. I did this for my own use and glad that others find it useful as well.
[Android General] b1g1an:
Much appreciated it is too.

I've never bothered with banking apps since the early days when they could do little more than check your balance but seeing you post this, and not being able to resist something that lets you do something you're not supposed to, I gave it a go and have to say I am so impressed. Much better to use than their website, partly because you don't need to use that poxy PINsentry, and seems to do everything I ever do with my account in much simpler steps.

My phone is not only more useful for being rooted but my banking is a much more pleasant experience thanks to your encouragement.

Top man :good:
[Android General] SomeWelshGuy:
One of the things I missed the most about being on a custom ROM/rooted. Great to see this annoying and totally arbitrary restriction has finally been lifted. Works absolutely great for me and means I can finally do proper banking on the go, cheers!