TL;DR : working photo pro for systems without Sony telemetry services: AFH
Hey guys I've been running a GSI of Descendant OS on my Xperia 5 II and I have been trying to get this photo pro app to work. All the versions I found on apkmirror crashes on launch, not to mention the ones that refuse to install. So after tinkering with some magisk modules I decided to decompile it and see what's going on inside. After a bit of log checking, I discovered some unimplemented telemetry functions which seems to be the cause of those crashes. After patching these the app runs like how it should be. I also removed the restrictions in AndroidManifests.xml that prevents the app to be installed on devices without com.sony.device lib, so any system should be able to install it just fine (not sure why Sony set restrictions for photo pro but not cinema pro).
Let me know if there's more issues to be solved
I've been running the APK from Photopro III for months and have had no significant issues. I got my APK from, I think, ADK.
2nd post down its from the Xperia 1 iii
@hx64 any chance for a patch for the latest version, or a guide as to how to patch it?
That would be awesome!
SeventhRaven said:
@hx64 any chance for a patch for the latest version, or a guide as to how to patch it?
That would be awesome!
Click to expand...
Click to collapse
I'm a bit busy these days so maybe I'll work on that a few weeks later.
Meanwhile, what I did is fairly simple and anyone can do it themselves. Once the app crashes, grab the crash log with `adb logcat --buffer=crash` and find the entry with the package name. There will be an attribute that points to a specific line of code which caused the crash, usually an explicit error `throw` action. You'll then need to decompile the .apk file and modify the corresponding file. I use an extension called apklab in VScode but you can do it with apktool too. You should be able to edit the source code (.smali or .java, depending on the tools you used) and locate the lines that throw errors (based on my experience it is usually the unimplemented methods in com.sonyerricsson.idd.api.Idd component that caused the errors so I just removed those `throw` statements in .java files or replace them with `return-void` statements in .smali files). The last step is to recompile and sign the package (using the same tool you used to decompile). You may need to test and repeat these steps a few more times to resolve all the error throws but the process is fairly straight forward and you can find a lot of tutorials online.
Good luck fiddling!
hx64 said:
I'm a bit busy these days so maybe I'll work on that a few weeks later.
Meanwhile, what I did is fairly simple and anyone can do it themselves. Once the app crashes, grab the crash log with `adb logcat --buffer=crash` and find the entry with the package name. There will be an attribute that points to a specific line of code which caused the crash, usually an explicit error `throw` action. You'll then need to decompile the .apk file and modify the corresponding file. I use an extension called apklab in VScode but you can do it with apktool too. You should be able to edit the source code (.smali or .java, depending on the tools you used) and locate the lines that throw errors (based on my experience it is usually the unimplemented methods in com.sonyerricsson.idd.api.Idd component that caused the errors so I just removed those `throw` statements in .java files or replace them with `return-void` statements in .smali files). The last step is to recompile and sign the package (using the same tool you used to decompile). You may need to test and repeat these steps a few more times to resolve all the error throws but the process is fairly straight forward and you can find a lot of tutorials online.
Good luck fiddling!
Click to expand...
Click to collapse
I tried working on that by simply removing the requirements (although I actually have zero development experience), but I would always get a parsing error (probably an issue with the signing? No idea how to do that properly) when trying to install it.
As for the unmodified version, I cannot install it at all, as it says it's not compatible. So a crash technically never occurs.
But I don't mind waiting for a patch. Just glad to see it's an option still.
SeventhRaven said:
I tried working on that by simply removing the requirements (although I actually have zero development experience), but I would always get a parsing error (probably an issue with the signing? No idea how to do that properly) when trying to install it.
As for the unmodified version, I cannot install it at all, as it says it's not compatible (using a custom ROM). So a crash technically never occurs.
But I don't mind waiting for a patch. Just glad to see it's an option still.
Click to expand...
Click to collapse
Oh I forgot to mention the install issues. There's a `use-library` line in the AndroidManifest.xml that requires the `com.sony.device` library which you'll need to remove in order to install it on non-official systems.
And be sure to use deCOMPILE tools first (it won't work if you deCOMPRESS and edit since a signature is required), google for apktool or check out the apklab github page. I have little java knowledge previously but in this case fortunately you don't need much
I'll try switching to my dev environment as soon as possible.
hx64 said:
Oh I forgot to mention the install issues. There's a `use-library` line in the AndroidManifest.xml that requires the `com.sony.device` library which you'll need to remove in order to install it on non-official systems.
And be sure to use deCOMPILE tools first (it won't work if you deCOMPRESS and edit since a signature is required), google for apktool or check out the apklab github page. I have little java knowledge previously but in this case fortunately you don't need much
I'll try switching to my dev environment as soon as possible.
Click to expand...
Click to collapse
Yeah I tried apktool and I guess I recompiled it with Android Studio. All I changed was setting the requirement for com.sony.device lib to false.
I'll try my luck with the tool you've linked, thanks!
hx64 said:
I'm a bit busy these days so maybe I'll work on that a few weeks later.
Meanwhile, what I did is fairly simple and anyone can do it themselves. Once the app crashes, grab the crash log with `adb logcat --buffer=crash` and find the entry with the package name. There will be an attribute that points to a specific line of code which caused the crash, usually an explicit error `throw` action. You'll then need to decompile the .apk file and modify the corresponding file. I use an extension called apklab in VScode but you can do it with apktool too. You should be able to edit the source code (.smali or .java, depending on the tools you used) and locate the lines that throw errors (based on my experience it is usually the unimplemented methods in com.sonyerricsson.idd.api.Idd component that caused the errors so I just removed those `throw` statements in .java files or replace them with `return-void` statements in .smali files). The last step is to recompile and sign the package (using the same tool you used to decompile). You may need to test and repeat these steps a few more times to resolve all the error throws but the process is fairly straight forward and you can find a lot of tutorials online.
Good luck fiddling!
Click to expand...
Click to collapse
Welp, that was easy. Used VScode with the extension, swapped the lib flag to false and removed the component you mentioned. Now it works (although that bokeh setting still crashes it if selected, but whatever).
I've attached the patched .apk for your convenience. Big thanks again for pointing me towards those tools!
(I didn't touch anything else, though...so idk about analytics, but I firewall apps anyway so not like it can send anything)
SeventhRaven said:
Welp, that was easy. Used VScode with the extension, swapped the lib flag to false and removed the component you mentioned. Now it works (although that bokeh setting still crashes it if selected, but whatever).
I've attached the patched .apk for your convenience. Big thanks again for pointing me towards those tools!
Click to expand...
Click to collapse
Nice work!
Glad I could help xD
SeventhRaven said:
Welp, that was easy. Used VScode with the extension, swapped the lib flag to false and removed the component you mentioned. Now it works (although that bokeh setting still crashes it if selected, but whatever).
I've attached the patched .apk for your convenience. Big thanks again for pointing me towards those tools!
Click to expand...
Click to collapse
Any chance someone could do this for the Video Pro app (1.0.a.0.26)?
I took a shot at trying to mod the apk..
I successfully installed with the Manifest.xml library edit, but upon crashing here's my log:
Code:
04-27 16:54:12.702 8085 8148 E AndroidRuntime: FATAL EXCEPTION: IddManagerThread
04-27 16:54:12.702 8085 8148 E AndroidRuntime: Process: jp.co.sony.mc.videopro, PID: 8085
04-27 16:54:12.702 8085 8148 E AndroidRuntime: java.lang.RuntimeException: Not an implementation
04-27 16:54:12.702 8085 8148 E AndroidRuntime: at com.sonyericsson.idd.api.Idd.addEvent(Idd.java:114)
04-27 16:54:12.702 8085 8148 E AndroidRuntime: at jp.co.sony.mc.videopro.idd.core.IddManager.addAppData(IddManager.kt:99)
04-27 16:54:12.702 8085 8148 E AndroidRuntime: at jp.co.sony.mc.videopro.idd.core.IddManager.handleMessage(IddManager.kt:88)
04-27 16:54:12.702 8085 8148 E AndroidRuntime: at jp.co.sony.mc.videopro.idd.core.IddManager.access$handleMessage(IddManager.kt:17)
04-27 16:54:12.702 8085 8148 E AndroidRuntime: at jp.co.sony.mc.videopro.idd.core.IddManager$Companion$init$1$1.handleMessage(IddManager.kt:50)
04-27 16:54:12.702 8085 8148 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
04-27 16:54:12.702 8085 8148 E AndroidRuntime: at android.os.Looper.loop(Looper.java:223)
04-27 16:54:12.702 8085 8148 E AndroidRuntime: at android.os.HandlerThread.run(HandlerThread.java:67)
And this is where I get lost. Swapping the throw code in com.sonyerricsson.idd.api.Idd doesn't seem to solve the crashes, and I'm not sure where to go next. I don't see any HandlerThread or loop smali files, and in jp.co.sony.mc.videopro.idd.core.IddManager, I'm not familiar with the code in the lines where the errors are defined.
SeventhRaven said:
Welp, that was easy. Used VScode with the extension, swapped the lib flag to false and removed the component you mentioned. Now it works (although that bokeh setting still crashes it if selected, but whatever).
I've attached the patched .apk for your convenience. Big thanks again for pointing me towards those tools!
(I didn't touch anything else, though...so idk about analytics, but I firewall apps anyway so not like it can send anything)
Click to expand...
Click to collapse
Just installed your patched version on the latest Pixel Experience GSI (v414/June security patch) on a Xperia 1 III and it worked perfectly including bokeh.
Any chance you'll be sharing patched versions of more recent releases of the app?
Thanks!
Patched version of the latest (1.4.A.0.20-2621460) attached.
Thanks for your work around this @hx64.
@delfuhd I also could not untangle the logcat so I ended up replacing all instances of 'throw p0' in com.sonyericsson.idd.api.Idd with 'return-void' and there doesn't seem to be an issue (yet).
Is the app asking for some Sony exclusive features? I mean, do we lose something like postprocessing or image management? thanks!
Not working
Double post.
The 70mm lens causes the app to crash in Auto mode in every 1.4 and 1.5 version I tested. The only one that seems to work is the older 1.3 version.
Still here is the latest patched 1.5 version that I tried. Thanks for the guide above!
cari66eam said:
The 70mm lens causes the app to crash in Auto mode in every 1.4 and 1.5 version I tested. The only one that seems to work is the older 1.3 version.
Still here is the latest patched 1.5 version that I tried. Thanks for the guide above!
Click to expand...
Click to collapse
Thank you so much for providing the patched version!!! I'm on lineageos 20, no gapps etc. and the 1.2 works great. Haven't tried 1.3, but 1.4 and 1.5 don't work for me...
Related
Hi all,
Right after dealing with rooting and building recovery for the new device (the result is here) I've decided to try go further and port CM10.1. Of course I didn't wait that it appears to be an easy process but some things made me stuck literally on the first steps...
One of the main issues is the porting of HAL modules (/system/lib...). After I just copy RIL modules to the new build of CM10.1 and it worked I was happy and nearly decided that "all this is a piece of cake" but the next step become real pain in the ass: hwcomposer+EGL modules porting. The default software renderer basically works but the colors are incorrect (i.e. yellow instead of blue and so force and so long). When I'm trying to use libGLES_rhea.so from stock system - it does not work ('hwcomposer module not found'). If I try to use the stock libsurfaceflinger.so together with that files it becomes a complete mess:
dlopen("/system/lib/libandroid_servers.so") failed: Cannot load library: soinfo_link_image(linker.cpp:1673): could not load library "libsystem_server.so" needed by "libandroid_servers.so"; caused by soinfo_link_image(linker.cpp:1673): could not load library "libsurfaceflinger.so" needed by "libsystem_server.so"; caused by soinfo_relocate(linker.cpp:1013): cannot locate symbol "_ZNK7android14SurfaceTexture4dumpERNS_7String8EPKcPcj" referenced by "libsurfaceflinger.so"...
Click to expand...
Click to collapse
So the question is: Is there any description of the HAL modules porting (some links or documentation)? Or any other resources which can help me?
I'll be really appreciated for any help regarding this.
Regards,
BR
Until today, coriplus' EGL is still a trouble...
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.
I recently flashed new ROM called XNovaThor Project created by @DevSwift1 (main thread) on my Xperia U. Everything works just great (my beloved, but slow U finally works buttery smooth), except from one app - AR game 'Ingress' created by Google (Play Store link). It just crushes, not passing the loading screen.
That's kind of weird . I don't think that's a thing about app itself, because it worked for me previously on other systems and works good for millions of people who installed it. Only thing I can provide here is the fragment of logcat just before the app crushes:
Code:
08-30 15:04:18.211: E/dalvikvm(3148): VM aborting
08-30 15:04:18.211: A/libc(3148): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 3168 (BackgroundTask )
08-30 15:06:06.867: E/Trace(3337): error opening trace file: No such file or directory (2)
Once there was also this:
Code:
08-30 15:04:12.146: E/GCMRegistrar(3148): internal error: retry receiver class not set yet
Another guess is that it's because some kind of a bug in build.prop - I know that Ingress won't work on emulators - but that's just a beginner's guess and I'm not really sure about it.. Anyway, I'm attaching the file.
I will be really thankful for any advice. I like the new system and wouldn't like to be forced to find a new one just because one app isn't working. Even if it's a really important app for me
PS @DevSwift1 I'm posting it here, not on the main thread because I'm a beginner and I can't post to developer threads. Thanks for the great ROM, but could you help with this one small issue please?
https://www.linuxondex.com/beta-registration
does say "Note9 and Tab S4 devices," i signed up this morning with the hope it will come out for s9+ also
Link does not work for me
Hope will work on my s9+ with dockless dex(In pie update). That will be a game changer for our device
No luck for S9+ yet
If only I could trick the play store and download the app
Leonidas87 said:
No luck for S9+ yet
If only I could trick the play store and download the app
Click to expand...
Click to collapse
https://www.apkmirror.com/apk/samsu...inux-on-dex-beta-1-0-38-android-apk-download/
I already sideloaded the apk and it doesn't work on S9/+. The app checks if you have a supported firmware.
I decompiled the apk on my linux machine and am searching where the check is being performed. to see if i can bypass it.
The response message you get is defined as a string that translates back to an id. This id i traced back to EntryActivity.smali alongside a const v2, whatever that might be. Inside this .smali file there are multiple references to versions, processor so this seems to be where the check is called.
Is there anybody here that actually has programming knowledge that could point me in the right direction on how to do this? I've never really looked into the inner workings of an app before, nor did i ever really program anything except some small python projects.
Aerox912 said:
I already sideloaded the apk and it doesn't work on S9/+. The app checks if you have a supported firmware....
Click to expand...
Click to collapse
If you are on android 9 the app opens and lets you use it. I have not loaded a Linux image yet to fully test it.
If you guys missed out on the Android Beta 9 enrollment early today I have uploaded the OTA update here .
https://forum.xda-developers.com/galaxy-s9-plus/how-to/official-android-9-beta-download-t3867703
I installed it on my S9+ and I can't get it to run "Linux on Dex requires device to have the latest software to support some features."
https://www.androidauthority.com/samsung-linux-on-dex-beta-923435/ Looks like the linux apps for this need to support ARM 64-bit architecture.
Leonidas87 said:
No luck for S9+ yet
If only I could trick the play store and download the app
Click to expand...
Click to collapse
Build.prop (?)
Linux image cannot be downloaded on s9+
I have OneUI beta installed on my s9+ and in the official link, the store says the device is not compatible. When you download it via APK mirror, it doesnt allow you install the linux image. The error message is as follows "the web page at lxd-wv=a.samsungknox.com could not be loaded because net:: ERR_CLEARTEXT_NOT_PERMITTED"
Try to download Linux images from :
https://webview.linuxondex.com
Please tell us if it works
Aerox912 said:
I already sideloaded the apk and it doesn't work on S9/+. The app checks if you have a supported firmware.
I decompiled the apk on my linux machine and am searching where the check is being performed. to see if i can bypass it.
The response message you get is defined as a string that translates back to an id. This id i traced back to EntryActivity.smali alongside a const v2, whatever that might be. Inside this .smali file there are multiple references to versions, processor so this seems to be where the check is called.
Is there anybody here that actually has programming knowledge that could point me in the right direction on how to do this? I've never really looked into the inner workings of an app before, nor did i ever really program anything except some small python projects.
Click to expand...
Click to collapse
S9+ on Android P beta, signed up and accepted for LinuxOnDex beta, installed the apk from apkmirror, downloaded the image and extracted to LoD directory. On starting terminal mode I see this in logcat:
Code:
11-29 22:44:17.901 E/AndroidRuntime(23999): FATAL EXCEPTION: main
11-29 22:44:17.901 E/AndroidRuntime(23999): Process: com.samsung.android.lxd, PID: 23999
11-29 22:44:17.901 E/AndroidRuntime(23999): com.samsung.android.lxd.processor.LxdException: undefined model: SM-G965F, star2lte
11-29 22:44:17.901 E/AndroidRuntime(23999): at com.samsung.android.lxd.a.g.c(ModelTypeUtils.java:77)
11-29 22:44:17.901 E/AndroidRuntime(23999): at com.samsung.android.lxd.a.g.a(ModelTypeUtils.java:40)
so it (was) in ModelTypeUtils.java which has been renamed to a method 'c' in class 'com.samsung.android.lxd.a.g'.
But, I'm going to guess that this needs root access to do its low-level linux things, so the edited apk might need to be signed by Samsung to work
Was super excited there for a moment, I downloaded and unzipped the file to the lod folder in my s9+. The app recognized the file and allowed me to create the container. For using linux visually I needed to use DeX but everytime i clicked run black screen appears and immediately crashes. If u r persistent it is just black screen with "please wait".
Linux on Dex S9+ support
Does anyone find a workaround to make Linux on Dex work on the S9+? When loading the container with the Ubuntu image it get sutck on "Please wait" with a black screen...
Btw i'm using the beta 2 with hotfix of Android pie for S9+ with apkmirror Linux on Dex Beta version.
Skimi said:
Does anyone find a workaround to make Linux on Dex work on the S9+?
When loading the container with the Ubuntu image it get sutck on "Please wait" with a black screen...
Click to expand...
Click to collapse
same results here on S9+...
I've downloaded apk and ubuntu 16 image but after loading container and connecting DEX i see only "Please wait..." notification.
(hint: after installing, uninstalling and one more time installing LoD program won't start - i had to delete LoD folder first)
Are you using a official dex accessory or some generic brand?
Skimi said:
Are you using a official dex accessory or some generic brand?
Click to expand...
Click to collapse
Generic with full support for DEX (android desktop works just fine)
I also use acrobat generic adapter with full support for dex, it could be that Linux on Dex it's only supported by the original adapters...
Hello. I'm "slightly" out of my depth here, unfortunately. The aforementioned app (Chess Tactics Pro) suddenly became "incompatible with my device" and so unavailable in play store, I therefore had to extract the apk file from another phone. In fact, I tried 3 different versions of this app. It installs alright and works to some extent, only when I want to use computer analysis function, it crashes. The crash report reads:
java.lang.UnsatisfiedLinkError: dlopen failed: library "liblrengine.so" not found
at java.lang.Runtime.loadLibrary0(Runtime.java:1087)
at java.lang.Runtime.loadLibrary0(Runtime.java:1008)
at java.lang.System.loadLibrary(System.java:1664)
at net.lrstudios.android.chess_problems.chess.engines.LREngine.<clinit>(SourceFile:1)
at h.a.a.a.g.c.T(SourceFile:2)
at h.a.a.a.g.c.W(SourceFile:1)
at h.a.a.a.g.c.onOptionsItemSelected(SourceFile:8)
at androidx.fragment.app.Fragment.performOptionsItemSelected(SourceFile:3)
at c.j.d.k.A(SourceFile:3)
at c.j.d.f.k(SourceFile:1)
at c.j.d.c.onMenuItemSelected(SourceFile:3)
at c.b.k.c.onMenuItemSelected(SourceFile:1)
at c.b.p.i.onMenuItemSelected(SourceFile:1)
at c.b.p.i.onMenuItemSelected(SourceFile:1)
at c.b.k.j$b.onMenuItemClick(SourceFile:1)
at androidx.appcompat.widget.Toolbar$a.onMenuItemClick(SourceFile:2)
at androidx.appcompat.widget.ActionMenuView$d.a(SourceFile:2)
at c.b.p.j.g.h(SourceFile:1)
at c.b.p.j.i.k(SourceFile:2)
at c.b.p.j.g.O(SourceFile:3)
at c.b.p.j.g.N(SourceFile:1)
at androidx.appcompat.widget.ActionMenuView.a(SourceFile:1)
at androidx.appcompat.view.menu.ActionMenuItemView.onClick(SourceFile:2)
at android.view.View.performClick(View.java:7509)
at android.view.View.performClickInternal(View.java:7486)
at android.view.View.access$3600(View.java:841)
at android.view.View$PerformClick.run(View.java:28720)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:236)
at android.app.ActivityThread.main(ActivityThread.java:8056)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
Click to expand...
Click to collapse
The phone: vayu (Poco X3 Pro), stock rom, rooted with magisk. On another vayu with the same system (MIUI 11.5), unrooted, it works fine, as it does on 2 other phones with lineageos, both rooted, Android 10 and 11 respectively, and still available in play store. What am I missing? Do you have any ideas what I can try? What does the crash report say? Let me add that the app folder contains like 5 .apk files out of which I only installed base.apk . What are the other apks for? I hope someone can help me with this.
IMO the correct method to get the very reason why an app crashes is to do a LOGCAT.
Thanks. I'll look into it but for now I'm rather busy so it'll have to wait a bit.
It seems that a shared library file, liblrengine.so, is missing.
I appreciate your input but can't check if it works right now as in the meantime I've switched to LineageOS, used SAI to move the whole split package from another phone, but it doesn't work either, complaining that google play store might not be installed or sth to this effect. Anyway, I must install Android Studio and learn how to use logcat, cause other apps also give me problems.
Solved for now. Back to MIUI as LineageOS+MindTheGapps combo misses some dependencies apparently, so the app backed up by SAI wouldn't work there but it works fine in MIUI.