Shaw Free Range v 4.2.1.001 on MI Box
I used these instruction posted from another user in a different forum, thought i would share.
Tools used:
APK Icon Editor
apktool
APK 4.2.1.001 APK from apkpure.com ( shaw Freerange )
1.) Download APK
2.) Decompile the APK
apktool d {download location} -o {output location}
3.) Goto {output location} open AndroidManifest.xml
4.) Add the below lines after line 61 (other apk may not be line 61)
Code:
Code:
<activity android:label="" android:launchMode="singleTop" android:name="com.xfinity.cloudtvr.view.AndroidTvBrowseActivity" android:theme="@style/DefaultAppTheme.Xtv.Browse" android:windowSoftInputMode="adjustPan"/>
<activity android:configChanges="orientation|screenSize" android:label="" android:launchMode="singleTop" android:name="com.xfinity.cloudtvr.view.PlayerActivity" android:parentActivityName="com.xfinity.cloudtvr.view.AndroidTvBrowseActivity" android:theme="@style/DefaultAppTheme.Xtv.Browse.Player" android:windowSoftInputMode="adjustPan">
<meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".view.AndroidTvBrowseActivity"/>
</activity>
5.) Recompile the APK
apktool b {output location}
6.) open APK in APK Icon Editor
7.) In APK Icon Editor File -> Explore APK Contents
8.) copy {output location}/build/apk/AndroidManifest.xml to the Explore APK Contents - [replace file]
9.) In APK Icon Editor File -> Export (Pack) APK
10.) Sideload to you Mi Box
Extra stuff abbout the shaw mod
Shaw Freerange.
The menu items on the top of the screen are still chopped but it manageable. Just to clarify this is working for the MI Box. The App will not launch if you are using the Sideload Launcher. You must launch from the Apps in Settings. .
Would either of you be willing to post the APK here for download? I'd love to test this on my Shield TV.
Shaw/Xfinity Android TV TOP MENU FIX!
Tools Used: APK Icon Editor
Process:
1. Open APK with APK-Icon-Editor
2. Change Current mode to APKTOOL (If you are in ZIP mode, you will not see all files.)
3. Explorer APK Contents
4. Open file (\res\layout-television-v13\actionbar_custom.xml)
5. Change the following to 78.0dip form 64dip ( android:layout_height="78.0dip) and save.
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:gravity="bottom|center" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<com.xfinity.common.view.metadata.ActionViewContainer android:id="@id/ab_animated_button_bar" android:background="@drawable/animated_button_bar_bg" android:layout_width="fill_parent" [B][SIZE="5"]android:layout_height="78.0dip[/SIZE][/B]" android:layout_marginLeft="24.0dip" android:layout_marginTop="8.0dip" android:layout_marginRight="24.0dip" android:layout_marginBottom="8.0dip" app:textSize="@dimen/nav_bar_button_text_size" />
</LinearLayout>
5. Open file ( \res\values-television-v13\dimens.xml)
6. change the follwoing to 25dip from 32dip (<dimen name="nav_bar_button_text_size">25.0dip</dimen>) and save
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="list_item_side_padding">48.0dip</dimen>
<dimen name="action_view_spacing_inner">64.0dip</dimen>
<dimen name="overscan_horizontal_adjustment">48.0dip</dimen>
<dimen name="overscan_vertical_adjustment">27.0dip</dimen>
[B][SIZE="5"]<dimen name="nav_bar_button_text_size">25.0dip</dimen>[/SIZE][/B]
<dimen name="nav_item_text_selected_spacing">16.0dip</dimen>
<dimen name="nav_item_text_spacing">8.0dip</dimen>
</resources>
7. Export (Pack) APK
8. Install apk and Enjoy
atheoncrutch said:
Would either of you be willing to post the APK here for download? I'd love to test this on my Shield TV.
Click to expand...
Click to collapse
Can you please let us know if you are successful with the apk on Shield TV? Thanks very much.
Integrity2 said:
Can you please let us know if you are successful with the apk on Shield TV? Thanks very much.
Click to expand...
Click to collapse
With the fixed mentioned above, along with the first fix at the top of the form, the one to make it work on Android TV, i do believe this does work on Shield TV as well. Sorry i don't have a shield TV box to test with. There is another form that may be of help from Xfinity TV Mod Android Box (HDMI output) by aiemassfiria. He will be taking my menu fix and integrating it into some of the APK's he's been working on.
https://forum.xda-developers.com/android/apps-games/xfinity-tv-mod-android-box-hdmi-output-t3535881
I used the steps above to modify the apk but unfortunately it crashes immediately upon launch on my shield. If anyone wants to post their modified apk I can try that as well, in case I messed up with mine.
Shaw FreeRange TV no longer works on my android tv (Sony Bravia from 2016 -- model KDL-55W800C).
The last version that worked (always had to sideload it) was 2.1.0.004 but I believe they updated something on the server-side so it no longer works
Here's a direct download to it in case you want to look at what changed in the android protections since then: https://drive.google.com/open?id=0B7UKT-gQprNPSkwzRmRyWl9hNVU
I can confirm the apk here doesn't work: https://forum.xda-developers.com/showpost.php?p=72048755&postcount=65
Shaw Free Range v 4.2.2.001
t0i said:
Shaw FreeRange TV no longer works on my android tv (Sony Bravia from 2016 -- model KDL-55W800C).
The last version that worked (always had to sideload it) was 2.1.0.004 but I believe they updated something on the server-side so it no longer works
Here's a direct download to it in case you want to look at what changed in the android protections since then: https://drive.google.com/open?id=0B7UKT-gQprNPSkwzRmRyWl9hNVU
I can confirm the apk here doesn't work: https://forum.xda-developers.com/showpost.php?p=72048755&postcount=65
Click to expand...
Click to collapse
Try this one From
http://199.175.53.21/shawfreerangetv.leanback422001.apk
buggine said:
Try this one From
h t t p : / / 199.175.53.21/ shawfreerangetv.leanback422001.apk
Click to expand...
Click to collapse
This one works! thanks.
Who is responsible for this apk? Can I learn how this is done?
Thanks,
Shaw TV
t0i said:
This one works! thanks.
Who is responsible for this apk? Can I learn how this is done?
Thanks,
Click to expand...
Click to collapse
Who is responsible for the APK? Well, we all are! The link I provided was from this thread https://forum.xda-developers.com/an...v-mod-android-box-hdmi-output-t3535881/page13. I don't personally post links to my server. If you would like to know how its done, I suggest you follow the steps listed in this thread to modify the APK. the first one will get it to work on android TV boxes for Shield and Mi box, the second fixes the menu. There is also a fix for the HDMI as well, but not needed for the MI box or the Shield TV. you will find it in the link in this post and thanks to aiemassfiria . One thing I've observed though, the App will not work if your time isn't correct on your device, it will give a connection error when registering. So make sure the time is correct.
buggine said:
Who is responsible for the APK? Well, we all are! The link I provided was from this thread https://forum.xda-developers.com/an...v-mod-android-box-hdmi-output-t3535881/page13. I don't personally post links to my server. If you would like to know how its done, I suggest you follow the steps listed in this thread to modify the APK. the first one will get it to work on android TV boxes for Shield and Mi box, the second fixes the menu. There is also a fix for the HDMI as well, but not needed for the MI box or the Shield TV. you will find it in the link in this post and thanks to aiemassfiria . One thing I've observed though, the App will not work if your time isn't correct on your device, it will give a connection error when registering. So make sure the time is correct.
Click to expand...
Click to collapse
Thanks very much for posting the apk, it works great! I can confirm it's working for me on the Nvidia Shield and Nexus Player.
Shaw Free Range v 4.2.2.001
atheoncrutch said:
Thanks very much for posting the apk, it works great! I can confirm it's working for me on the Nvidia Shield and Nexus Player.
Click to expand...
Click to collapse
Curious, what version of android is running on the shield? 6.0 or 7.0
buggine said:
Curious, what version of android is running on the shield? 6.0 or 7.0
Click to expand...
Click to collapse
Shield is running 7.0 with the latest Shield Experience 5.2 update.
atheoncrutch said:
Thanks very much for posting the apk, it works great! I can confirm it's working for me on the Nvidia Shield and Nexus Player.
Click to expand...
Click to collapse
Confirmed working on the first-gen FireTV and Beelink GT1 as well.
buggine said:
Try this one From
Click to expand...
Click to collapse
This is awesome! Thanks for posting. I'm a Shaw Direct subscriber (satellite TV only) and usually after the Get Started prompt the login credentials includes a banner allowing you to select Shaw Direct to enter an account number in a ###-###-#### format, but this seems to be missing in this version. Any idea if it can be accessed? The login page seems to be for Shaw cable subscribers only as my account number isn't recognized. Thanks again!
fearandtrembling said:
This is awesome! Thanks for posting. I'm a Shaw Direct subscriber (satellite TV only) and usually after the Get Started prompt the login credentials includes a banner allowing you to select Shaw Direct to enter an account number in a ###-###-#### format, but this seems to be missing in this version. Any idea if it can be accessed? The login page seems to be for Shaw cable subscribers only as my account number isn't recognized. Thanks again!
Click to expand...
Click to collapse
Do the following,
Shaw Cable:
Sign in with your Shaw ID, My Account Username, or @Shaw.ca email.
Shaw Direct:
Your username is your account number - do not include dashes.
Mi box remote doesn't work with the app
Having problems......
First, I couldn't edit anything. I had to use an external xml editor to change my files.
Then when I tried to load the new apk to the Amazon FireTV (using adblink), in wouldn't install, adblink just loops on 'adb running'.
The original, pre-modified-by-me apk installed and worked fine before, using adblink.
just want to say thanks to the creator of this modded apk. finally got freerange working on my firetv box.
Related
Update: Paul O'Brien of Modaco has made a web based tool for you to quickly make a new apk to your own requirements without the need to compile and decompile yourself, it can be found here - http://www.modaco.com/topic/358494-lj1-note-2-multi-window-tool/ (please pay attention to his last paragraph too!).
Dear all
Better laid out page with quick guide - http://lennyuk.co.uk/lennyuks-multi-screen-extend-mod-for-n7100/
What it is:
This is my quick fix before a real fix comes at a later date to add more apps to the multi-scren mode. It is not perfect and only allows for apps I have listed below (and the ones that were already there).
This is just a simple xml mod, it is easy to do yourself if you know how to decompile and recompile framework-res.apk, I will not accept the credit for finding where in the xml it needs to be edited, I have just made the changes below, recompiled and made a .zip for you.
As a warnning if your planning on making your own edit, there is a general bug in the way this works (not confirmed but believed) that if you have more than 1 page full of apps in that "edit" screen the whole split-screen crashes.
So don't go adding too many apps at this point in time!
What it is not:
This is not an ideal solution to add all your apps, it is just a quick xml change to add the apps I have detailed below.
What does it add?
The apps I have added are as follows (by package name, if you don't understand package names then try to google it, it will probably tell you the name of the app, but its easy to work out in most cases):
Code:
In v1.2:
<item>com.google.android.apps.authenticator2</item>
<item>com.lastpass.lpandroid</item>
<item>com.google.android.apps.plus</item>
<item>com.quoord.tapatalkpro.activity</item>
<item>com.adaptiveblue.GetGlue</item>
<item>com.androirc</item>
<item>bbc.iplayer.android</item>
<item>com.gzero.tv</item>
<item>com.dropbox.android</item>
<item>dk.tacit.android.foldersync.full</item>
<item>com.imdb.mobile</item>
<item>se.footballaddicts.livescore</item>
<item>com.android.vending</item>
<item>com.google.android.music</item>
<item>com.spotify.mobile.android.ui</item>
<item>com.amazon.mp3</item>
<item>com.amazon.venezia</item>
<item>com.bskyb.android.skyplus</item>
<item>com.ideashower.readitlater.pro</item>
<item>com.levelup.touiteur</item>
<item>com.speedsoftware.rootexplorer</item>
In v1.3:
<item>org.connectbot</item>
<item>com.handmark.tweetcaster.premium</item>
<item>com.google.android.apps.docs</item>
<item>com.whatsapp</item>
<item>jackpal.androidterm</item>
<item>de.shapeservices.implusfull</item>
<item>de.shapeservices.impluslite</item>
<item>com.quoord.tapatalkxda.activity</item>
<item>com.quoord.tapatalkxdapre.activity</item>
<item>kik.android</item>
<item>com.ebuddy.android</item>
<item>com.skype.raider</item>
Do not worry if you don't have some of these apps installed, they will just be ignored.
IT MIGHT LOG YOU OUT OF YOUR ACCOUNTS, THIS CANNOT BE AVOIDED, BUT YOU CAN JUST ADD THEM BACK
Install
1) NANDROID FIRST!! This way if something goes wrong, or you don't like my mod you can easily revert.
2) Flash in CWM (or other custom) recovery.
3) Boot and add back all your accounts!
Files
v1.3 - CLICK HERE
v1.2 - click here
Updates
I might update this with other apps requested if and only if it appears a real fix is taking too long.
I strongly advise you keep a close eye on Modaco or Paul O'Brien's twitter feed as he might have some interesting information on this subject soon.
IF YOU ARE AN APP DEVELOPER PLEASE READ THIS - http://www.modaco.com/page/news/_/a...rt-for-samsung-multi-window-to-your-apps-r823
Apps to be added (if I make an update!):
- Slices
- <item>com.metago.astro</item>
- <item>com.instagram.android</item>
- <item>com.phonezoo.android.streamzoo></item>
- <item>com.alensw.picfolder</item>
- uk.Amazon.mShop.android
- Shazam
- GoSMS
- Google Translate
- <item>com.infraware.polarisoffice4</item>
- WeChat messenger
- email (stock)
- calculator
Changelog
v1.3
- More apps added, see list above
v1.2
- initial release
- based on LJ1 (but should be fine on any stock based rom that has multi-screen feature)
- includes apps listed in section 1 above (future apps, if updated, will be split into separate sections in the list so its clear they were added later)
Request to add whatsapp...please..
Thanks in advance..
Sent from my GT-N7100 using Tapatalk 2
sumeshd said:
Request to add whatsapp and tapatalk..please..
Thanks in advance..
Sent from my GT-N7100 using Tapatalk 2
Click to expand...
Click to collapse
tapatalk is already there
+1 on whatsapp, and :
- Andftp
- Andsmb
- Terminal (both those on the market)
Which toolkit did you use to decompile + recompile this framework file?
Can I request Stylish Girl - Fashion Closet please
https://play.google.com/store/apps/details?id=com.ddnmedia.stylishgirl
eitama said:
+1 on whatsapp, and :
- Andftp
- Andsmb
- Terminal (both those on the market)
Which toolkit did you use to decompile + recompile this framework file?
Click to expand...
Click to collapse
I didn't use a toolkit if you mean a pre-made script tool thing, I just used the latest apktool and a command prompt window.
thanks, amazon is good for italian shop?
Lennyuk said:
I didn't use a toolkit if you mean a pre-made script tool thing, I just used the latest apktool and a command prompt window.
Click to expand...
Click to collapse
Does that apktool also sign the apk after recompiling?
Do you have to copy the resource.asec thingy? (Been some time since I handled apktool)
Marchintosh said:
thanks, amazon is good for italian shop?
Click to expand...
Click to collapse
the app is the same for every country as far as I know, it just detects where you account is registered when you login, so yes it should be fine.
OK I'm test good on Wannam v1.1
Can you add app Yahoo, IM+
eitama said:
Does that apktool also sign the apk after recompiling?
Do you have to copy the resource.asec thingy? (Been some time since I handled apktool)
Click to expand...
Click to collapse
no it doesn't sign, we don't have access to samsungs keys anyway.
I copied resources.arsc after compiling over to the original apk and replaced the existing one.
If people want to get a list of their own packages for personal editing:
Code:
adb shell
pm list packages -f
Then select the ones you want to add and strip out the spurious 'package:/system/app/xxxxxxxxx=' or 'package:/data/app/xxxxxxxxx='
As a warnning, there is a general bug in the way this works (not confirmed but believed) that if you have more than 1 page full of apps in that "edit" screen the whole split-screen crashes.
So don't go adding too many apps at this point in time!
At least folk can take out the ones they don't want to make space for others
Done. This is awesome thanks Lennyuk!!!!
where edit xml in framework-res.apk?? i want add app for me
dale89 said:
where edit xml in framework-res.apk?? i want add app for me
Click to expand...
Click to collapse
res/values/arrays.xml
thanks for the mod, i will try to edit !
i don't see anything res/values/arrays.xml
dale89 said:
i don't see anything res/values/arrays.xml
Click to expand...
Click to collapse
You need to decompile framework-res.apk first.
Running CM 10 on Nook Tablet - cm-10-20121207-UNOFFICIAL-acclaim.zip
The zinio app is not detecting wifi, as discussed here:
http://forum.xda-developers.com/showthread.php?p=34906858&highlight=zinio#post34906858
I searched up and down and could not find any fixes for this posted in the forum, anyone know how to get zinio to work with this CM10 mod?
I got Zinio to work on my Nook Tablet by editing to the following in build.prop:
ro.product.model=Nexus 7
ro.product.manufacturer=asus
This setting can affect other apps, but I have not had any problems yet.
Yep - that worked like a charm
Brad_J said:
I got Zinio to work on my Nook Tablet by editing to the following in build.prop:
ro.product.model=Nexus 7
ro.product.manufacturer=asus
This setting can affect other apps, but I have not had any problems yet.
Click to expand...
Click to collapse
Thanks Brad, that worked perfectly. :highfive:
For newbies, here are the steps I used:
1. Use a File Browser app (I used File Manager) to go to the root folder and then navigate to /system. In that location, you will find the build.prop file.
2. In the file, locate the lines mentioned by Brad_J above and make a copy of each line, then comment out the previous line by putting a # in front of it (you will see there's several comments in the file already - and it's a standard UNIX practice to make a copy of the old line and comment it).
3. Modify the new uncommented lines you created with the right values from Brad_J's post - be sure to copy exactly including upper/lower case.
4. Save the file
5. Reboot the device
6. Once the device boots back up, enjoy the Zinio app.
As far as I can see, this has not affected anything else in any way. The only change is that the tablet now proclaims itself as a Nexus 7 in the Settings -> About Tablet menu.
Edit: I've created a xposed module which works with the banking app version 1.7.1 see post below.
---------------------------------------------------
Edit: The changes needed to work with the latest version of the app (1.7.1) are listed in a post below below.
---------------------------------------------------
*There was a error in the diff file. I've uploaded the correct version. Also this patch will definitely not work with the latest version of the app.*
I managed to patch the Barclays mobile banking app version 1.4.2 to make it work with cyanagonmod 10.0 and cyanogenmod 11.
I realize that the current version on play store is 1.7.1 but I haven't updated to the latest version yet. If you do try the latest version please let me know if it differs greatly from the current version in it's root checks
I'm not going to attach the patched apk since using banking app from a stranger on the internet is really not a smart thing . Instead I will detail the work I did which hopefully someone else will find useful.
This guide is geared towards more technical people who already have some experience with android development. It will not give a detailed step by step how to, rather a general information about the process.
Obfuscation methods used in the app
The app obfuscates the names of some but not all of the namespaces/classes/methods which can stump some decompilers.
It seems to generously sprinkle useless switch statements and loops which does nothing but make the code appear way more complicated than it really is. I would guess quite a lot of the bulk in the code is coming through these dummy statements. smali2java-toolkit was of great help to figure this out.
All strings in the app have been encrypted by a simple xor algorithm which is then decrypted at run time just before they are used:
for example rather than
Code:
myfunction(“Hello world”)
the code writes something in the sort of:
Code:
myfunction(decrypt(“Juqqdxidqw”, 'x'))
The decryption function is a static method 'bЮЮЮЮЮЮ' in the class appears to be 'rrrrrr.srrrrr' (the method/class/namespace names are obfusecated)
I extracted the decompiled code from this method to write a console application which let me decrypt any string in the application:
Code:
static String decrypt(String crypStr, char keyChar) {
char[] arrayOfChar1 = crypStr.toCharArray();
char[] arrayOfChar2 = new char[arrayOfChar1.length];
for (int i = 0; i < arrayOfChar1.length; i++)
{
int j = keyChar ^ arrayOfChar1[i];
arrayOfChar2[i] = ((char)j);
}
return new String(arrayOfChar2);
}
Anti root methods used in the app
Checking for 'test-keys' string in the build tag. (/system/build.prop file)
Checking for superuser related package/apk files.
Checking for superuser hider package/apk files.
Checking for existance of 'su' binary
Attempting to execute 'su' binaryThe above checks are done both in the java/dex code and in a native code library.
Defeating the anti-root methods in Java/dex code:
The Java code is fairly easy defeat since changing the strings of the apk/file names which are checked as root related will make it think that no 'bad' apps are on the phone.
A bulk of checks happen in the isRootedDevice method of the com.barclays.android.application.BMBApplication class. While it checks for quite a lot of apk's, for my particular purpose I only needed to patch 2 lines in the method:
Smali file line 306 – which starts the checks for “test-keys” string in the build tag.
Smali file line 407 – which start the check for the string “/system/app/Superuser.apk”.The next method in the same class 'runRootCommand' attempts to execute 'su'
Smali line: 956 – which contains the string “su” which will be passed to java.lang.Runtime.exec
A (mostly?) duplicate of the isRootedDevice function exists in the com.barclays.android.container.DeviceData the relevant lines are :
smali file line 1237: "test-keys" string check
smali file line 1271: "/system/app/Superuser.apk" file checkAll of the above checks can easily be defeated by changing the the string so that it will check for a non existent package or file.
Keep in mind that all the strings listed above are in encrypted form. You can use the decrypt function listed above to decode them. I found the key char/byte needed to decrypt a given string is in the very next line to the one containing the encrypted string.
Defeating the anti-root methods in Native library
From what I can see the exact same tests which were done in the Java code is repeated in the native code library 'libtest_ndk.so'. As this check appears to form part of the authentication mechanism i don't believe it's possible to simply stop this check from being called from the Java code.
Also the com.barclays.android.container.sampler.SharedLibraryLoader which loads the native library appears to be doing some kind of checksum validation. While this probably could be easily worked around, disassembling an arm shared library was non trivial for me.
My approach was to write another native library which would hook into all the system calls such as 'system' 'stat' 'fopen', '__system_property_get' and redirect any operations to non existent targets, or change the return value. This achieves the same thing as what was done for the java code.
I put in some extra code into the smali classes to load my native library and to call it's initializer with the path to the actual native library.
Basic steps performed to patch the library:
Use apktool to decompile the original apk.
Code:
apktool d barclays.apk barclays
Use smali2java as helper to understand the code: This tool cannot decompile the critical check functions due to obfuscation. However it made it easier to understand the smali files generated by the apktool.
Patch the smali files to work around the checks as described above.
Build the hooking native library seperately
Code:
~/adt/adt-bundle-linux-x86_64-20131030/sdk/tools/android update project --path . --target android-19
ndk-build
Include the hooking shared library into the lib/armeabi of the decompiled package and change the smali files to load the new shared library.
Use apktool to rebuild the apk.
Code:
Apktool b barclays barclays.apk
Sign the apk from using your own key.
Create keystore:
Code:
keytool.exe -genkey -v -keystore my-release-key.keystore -alias release -keyalg RSA -keysize 2048 -validity 20000
Sign Keystore:
Code:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore barclays.apk release
Attached is the code for the hook library native project and the diff for the smali changes. Please note that this is for the smali files for generated by apktool (v1.5.2) for the version 1.4.2 of the Barclays mobile banking app.
For Users of other ROMs/SU applications and root hiders.
The app checks for a lot of common packages which I did not bother to patch since I don't use them, but if you do then you should put fixes for all those package/file names in both the smali and native code hook library.
A non exhustive list of files it check are:
Code:
/system/bin/amphoras
/system/bin/su
/system/xbin/su
/system/app/superuser.apk
/data/data/com.amphoras.hidemyroot
/data/data/eu.chainfire.supersu
/data/data/stericson.busybox
/data/data/stericson.busybox.donate
/data/data/com.jrummy.busybox.installer.pro
/data/data/com.jrummy.busybox.installer
/data/data/com.rootuninstaller.free
/data/data/com.rootuninstaller
Hey i will try this out shortly and post a APK (whether you use it or not thats up to you, but i am well known in the xperia play section of this website and should be trusted, Still its up to you.)
EDIT: well i am not a android developer, i can follow almost all this post except the bits about the native library any chance of a bit more information
specifically this bit "Include the hooking shared library into the lib/armeabi of the decompiled package and change the smali files to load the new shared library."
i assume that means just simply copy the built lib file in to that folder then include the file in the code somewhere? where do i do that to?
Sorry about the late reply but I just saw this message.
fma965 said:
EDIT: well i am not a android developer, i can follow almost all this post except the bits about the native library any chance of a bit more information
specifically this bit "Include the hooking shared library into the lib/armeabi of the decompiled package and change the smali files to load the new shared library."
i assume that means just simply copy the built lib file in to that folder then include the file in the code somewhere? where do i do that to?
Click to expand...
Click to collapse
That's pretty much correct. There is already a 'libtest_ndk.so' file in the lib/armeabi folder of the apk. You just have to build my code from the zip file to get the libhooktest.so, which should then be copied into the lib/armeabi folder alongside the libtest_ndk.so.
Edit: Not sure if this is enough instructions. I'm just not good at writing instructions. Steps you need to build the native library are in my post. If you need more info i suggest about building the library http://code.google.com/p/awesomeguy/wiki/JNITutorial#Setup_Environment is a good
Afterwards you have to do the modifications I've listed in the diff to the .smali files.
But i have some bad news about this patch:
The diff file i have attached in the post is wrong. I've mistakenly uploaded the patch to reverse the changes i did . I will update the post with the correct diff file.
It will only work for Barclays app version 1.4.2. it will definitely not work for the latest version of the app which is 1.7.1.
I'm currently going through the code of 1.7.1 I've made some headway into the code but there I'm quite way off from getting it to work.
If you wish I can give you a copy of the original 1.4.2 of Barclays app, the built lib file and the patched app. I would recommend against using the patched app blindly but it might make it easier to figure out the changes i did. I would rather not upload them to xda though.
HiddenRambler said:
Sorry about the late reply but I just saw this message.
That's pretty much correct. There is already a 'libtest_ndk.so' file in the lib/armeabi folder of the apk. You just have to build my code from the zip file to get the libhooktest.so, which should then be copied into the lib/armeabi folder alongside the libtest_ndk.so.
Edit: Not sure if this is enough instructions. I'm just not good at writing instructions. Steps you need to build the native library are in my post. If you need more info i suggest about building the library http://code.google.com/p/awesomeguy/wiki/JNITutorial#Setup_Environment is a good
Afterwards you have to do the modifications I've listed in the diff to the .smali files.
But i have some bad news about this patch:
The diff file i have attached in the post is wrong. I've mistakenly uploaded the patch to reverse the changes i did . I will update the post with the correct diff file.
It will only work for Barclays app version 1.4.2. it will definitely not work for the latest version of the app which is 1.7.1.
I'm currently going through the code of 1.7.1 I've made some headway into the code but there I'm quite way off from getting it to work.
If you wish I can give you a copy of the original 1.4.2 of Barclays app, the built lib file and the patched app. I would recommend against using the patched app blindly but it might make it easier to figure out the changes i did. I would rather not upload them to xda though.
Click to expand...
Click to collapse
No worries about the late reply, yeah you basically told me what i assumed it was i had to do, however when i was trying to do it i didn't have a 1.4.2 apk so was trying ot use 1.7.X and obviously failed .
Yeah the modifications to smali files is easy well when you know what your changing xD
if you could upload the apk for 1.4.2 that would be great, i would assume that as long as the signature matches the official apk its untampered, your modified one will obviously be signed with a different signature though.
:cyclops:
Good news. I've managed to get latest version 1.7.1 patched . I will try to post the patch information this weekend. In the meantime i suggest anyone interested download a copy from the play store and keep a backup of the apk in case they release a new version.
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:
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.
Thanks, works perfectly. You sir (or madam) are a genius
Sent from my GT-I9300 using XDA Premium 4 mobile app
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.
It works,excellent job, finally can use Barclays mobile, thank you very much
sent from Samsung Galaxy S4 Active
Just tested and it worked marvellously. Could you please make a fix for pingit as well?
Zell Dinch said:
Just tested and it worked marvellously. Could you please make a fix for pingit as well?
Click to expand...
Click to collapse
HiddenRambler said:
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.
Click to expand...
Click to collapse
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.
Brilliant, been struggling in vain with Root Cloak Plus on my N5 but this works perfectly. Many thanks.
Sent from my Xoom Wifi using Tapatalk
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
vivelafrance said:
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
Click to expand...
Click to collapse
You could try "root cloak" or "root cloak plus" they probably will work.
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
HiddenRambler said:
...
I've converted my patch into xposed module. This module is compatible with the current banking app (version 1.7.1).
...
Click to expand...
Click to collapse
Hello,
I have a request, can you make it compatible with GingerBread plz?
Thanks.
LoMAX_HUN said:
Hello,
I have a request, can you make it compatible with GingerBread plz?
Thanks.
Click to expand...
Click to collapse
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.
Banking Works, but Not PingIt
HiddenRambler said:
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.
Click to expand...
Click to collapse
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.
Hello,
I noticed that many of you don't like the CyanogenMod superuser indicator ('#') in the status bar and that some of you even flash SuperSU or Xposed, just to get rid of it. Well, that's not necessary, because there is a much easier way. So here is the "right way" to remove the # in CM13/14.x/Lineage 15.x (probably not working in CM12.x):
Edit: @Dyt199412syam found an easier way to do this, please take a look: https://forum.xda-developers.com/showpost.php?p=73916650&postcount=35
==== Original post ====
1. Go to Settings > status bar > icons
2. Uncheck and re-check one of the items (to make sure the required settings entry is created)
3. Backup the file /data/system/users/0/settings_secure.xml
4. Open /data/system/users/0/settings_secure.xml with a text editor (as root)
5. Search for "icon_blacklist"
6. you will find something like this:
Code:
<settings id="269" name="icon_blacklist" value="" package="com.android.systemui" />
(ID may vary)
7. Add "su" between the quotation marks after value, so it looks like this:
Code:
<settings id="269" name="icon_blacklist" value="su" package="com.android.systemui" />
If value is not empty, just append ",su" (with a seperating comma):
Code:
<settings id="269" name="icon_blacklist" value="other,icons,su" package="com.android.systemui" />
8. Double check the XML syntax (a mistake here might cause a bootloop)
9. Save and reboot
For ROM builders:
If you want to implement an option to hide superuser icon in your ROM, please do not use a hacky, unclean way to do so. The right way is the following:
Open frameworks/base/packages/SystemUI/res/xml/tuner_prefs.xml.
- Search for
Code:
<com.android.systemui.tuner.StatusBarSwitch
android:key="alarm_clock"
android:title="@string/status_bar_alarm" />
and below insert
Code:
<com.android.systemui.tuner.StatusBarSwitch
android:key="su"
android:title="@string/status_bar_su" />
- Add
Code:
<string name="status_bar_su">Superuser</string>
to strings.xml
Or simply apply this patch to frameworks/base.
Working fine! Thanks!
Send with my Moto G4 Plus (XT1642) on CyanogenMod 14.1, Android 7.1, using Tapatalk!
Excellent... Works perfectly on Xeperience 7.1.1 for Moto G 2
Enviado desde mi Moto G 2014 mediante Tapatalk
Works on my LG D724 running CM14.1! Thanks for this!
It works great on CyanogenMod 14.1
Sent from my Moto G 2014 using XDA-Developers mobile app
Thanks!!! Working great on Lineage OS 14.1 using in my Xperia Z2!!!
This works fine on cyanogenmod 14 (lineageOs), droid turbo. Thanks!
Couldn't find "icon_blacklist" on the file, using official LOS 14.1for my device LG v500, can I manually add the line?
Any help?
aaswar said:
Couldn't find "icon_blacklist" on the file, using official LOS 14.1for my device LG v500, can I manually add the line?
Any help?
Click to expand...
Click to collapse
Have you tried to uncheck / check one of the items in Settings/Status Bar/Icons? icon_blacklist should be created after this.
MaxMustermann2.0 said:
Have you tried to uncheck / check one of the items in Settings/Status Bar/Icons? icon_blacklist should be created after this.
Click to expand...
Click to collapse
Thanks a lot, appreciated.
Works fine on Lineage, thanks??
Love you, works fine without having to install xposed mods.
Thank you very much
Which text editor do I use? Im use one without option to "Double check XML syntax" and cause a bootloop on my device
Onedmunds said:
Which text editor do I use? Im use one without option to "Double check XML syntax" and cause a bootloop on my device
Click to expand...
Click to collapse
Double check your XML syntax just means that you shall pay attention that the number of opening and closing brackets (<>) matches and that you don't forget a quotation mark or sth like that.
delete
Thanks to OP this worked on Lineage OS 14.1 on Mi 5
Hello everybody,
Probably, or also surely, caused by the Nova Launcher, always the root # symbol is displayed in the status bar.
This help here would work for me on the S5 and OP3. The Moto G4 does not work that way. After I changed the concerned and then restart the smartphone, suddenly all settings are set to the factory setting .... I copy the previously saved original file over it again, it remains nevertheless there by ... everything on factory setting...
Does anyone know another way that symbol is going to hide?
This Way here does not seem to work with the G4.
Or someone know, maybe what is the Problem?
Thanks in advance
Gustl6500 said:
Hello everybody,
Probably, or also surely, caused by the Nova Launcher, always the root # symbol is displayed in the status bar.
This help here would work for me on the S5 and OP3. The Moto G4 does not work that way. After I changed the concerned and then restart the smartphone, suddenly all settings are set to the factory setting .... I copy the previously saved original file over it again, it remains nevertheless there by ... everything on factory setting...
Does anyone know another way that symbol is going to hide?
This Way here does not seem to work with the G4.
Or someone know, maybe what is the Problem?
Thanks in advance
Click to expand...
Click to collapse
Works fine with Nova Launcher. It is probably the editor or explorer you are using. Are you sure that it has enough permissions to overwrite the file?
Try another editor or root explorer.
tested on seraph unofficial lineage OS on my OP2.
working like a charm, thanks a lot to @MaxMustermann2.0
used MiXplorer to find and edit settings_secure.xml file, and edited it via inbuilt text editor.
Hi,
Im modded Shaw Canada apk for playing at Android Box
http://199.175.53.21/shawmodhdmi.apk
New Latest Shaw Canada Mod
Fix Crash on Some Device + Leanback Icon
http://199.175.53.21/shawfreerangetv.leanback422001.apk
Never tested. Please leave respond.
This is nothing working anymore, can you mod the latest version of the app ?
The version of the Shaw app I had has stopped working too. Any chance you could mod it and upload or share the workflow you did to mod it?
Thanks!
fillalph said:
The version of the Shaw app I had has stopped working too. Any chance you could mod it and upload or share the workflow you did to mod it?
Thanks!
Click to expand...
Click to collapse
The newest version of the Shaw app can be modded to remove the HDMI check, but it doesn't quite work on Fire TV Stick 4k (guide is missing, searches result in 500 error, and other issues) and I've heard it has the same issue on other FireOS devices as well. I'm currently using a modded version 531004 on my Fire TV stick and it works well, but requires a mouse or the Mouse Toggle app and at least on the Fire TV Stick, location services enable via ADB shell.
My workflow for disabling the HDMI requirement is as follows:
1. Decompile the app using apktool with the -r flag to leave the resources compiled
- I've not been able to successfully recompile the resources, so if anyone has a solution for that, I'd love to know what it is.
2. Edit <decompile folder>/smali_classes2/com/xfinity/cloudtvr/model/video/locks/SecondaryDisplayPlaybackLock$2.smali
3. Find the string "android.intent.action.HDMI_PLUGGED" and replace it with ""
- In other words, delete android.intent.action.HDMI_PLUGGED leaving empty quotes
4. Recompile/build the app using apktool and the --copy-original flag
5. Sign the modded app
6. Side-load it on to your device
Hope this helps!
If anyone knows how to recompile the resources without error, and if it's possible to make it work without the --copy-original flag, please let me know the solution as I'd love to be able to modify the AndroidManifest.xml.
deleted because it was a nood question and I found my answer with research
zer0blivion said:
If anyone knows how to recompile the resources without error, and if it's possible to make it work without the --copy-original flag, please let me know the solution as I'd love to be able to modify the AndroidManifest.xml.
Click to expand...
Click to collapse
I'm almost a decade removed from Java programming, but can't you use a Java Bytecode Editor to do this without having to decompile?
zer0blivion said:
The newest version of the Shaw app can be modded to remove the HDMI check, but it doesn't quite work on Fire TV Stick 4k (guide is missing, searches result in 500 error, and other issues) and I've heard it has the same issue on other FireOS devices as well. I'm currently using a modded version 531004 on my Fire TV stick and it works well, but requires a mouse or the Mouse Toggle app and at least on the Fire TV Stick, location services enable via ADB shell.
My workflow for disabling the HDMI requirement is as follows:
1. Decompile the app using apktool with the -r flag to leave the resources compiled
- I've not been able to successfully recompile the resources, so if anyone has a solution for that, I'd love to know what it is.
2. Edit <decompile folder>/smali_classes2/com/xfinity/cloudtvr/model/video/locks/SecondaryDisplayPlaybackLock$2.smali
3. Find the string "android.intent.action.HDMI_PLUGGED" and replace it with ""
- In other words, delete android.intent.action.HDMI_PLUGGED leaving empty quotes
4. Recompile/build the app using apktool and the --copy-original flag
5. Sign the modded app
6. Side-load it on to your device
Hope this helps!
If anyone knows how to recompile the resources without error, and if it's possible to make it work without the --copy-original flag, please let me know the solution as I'd love to be able to modify the AndroidManifest.xml.
Click to expand...
Click to collapse
I followed your instruction but I am having trouble installing the .apk. Getting App not installed package appears to be corrupted error.
I used apktool b -c command to rebuid the apk and I signed the modded app too
nevermind. i got it figure out. apktool b -c doens't copy the certificate properly, and when i manual sign the apk, there is couple things that error out.
did a little bit of research and able to use the injection method and use the apk studio ediot to pack it back up nicely
i create a github repo with instruction on it.
https://github.com/wtengi/redsquaretvapp
afai1984 said:
nevermind. i got it figure out. apktool b -c doens't copy the certificate properly, and when i manual sign the apk, there is couple things that error out.
did a little bit of research and able to use the injection method and use the apk studio ediot to pack it back up nicely
i create a github repo with instruction on it.
https://github.com/wtengi/redsquaretvapp
Click to expand...
Click to collapse
latest Shaw tv apk for fire sticks aren’t working
Do you have a working one or able to mod the latest version?