-
Notifications
You must be signed in to change notification settings - Fork 527
Skype fails to connect with Xprivacy enabled. #50
Comments
Exit kills the process, sign in ends with the same screen. |
I cannot reproduce this problem, so please provide a logcat. |
Stock rooted Galaxy S3 4.1.2 GT-I9300 baseband i9300xxemc2. Logcat is gonna be a problem... I left it on for the 15s that I needed to reproduce the issue. It's 1.8Mb. I need to figure out what's spamming my logs. And maybe get you some relevant information. Won't likely be able to do that before I get back, I'll keep looking and update. In the meantime, I wonder if anyone else can logcat this. |
This may be relevant:
|
Long logcat's are normal. This may be caused by a bug in Xposed. |
Just checked it myself, Also, I don't seem to have the file 'libsurfaceflinger_client.so
|
Thanks, vipere. In any case we now know the cause. My best guess is that something that is done here causes this, although I have no idea yet what and why: |
0.29.1 solves the issue. I wonder why you could not reproduce it. |
I couldn't see what in getRestricted(...) would cause this since the log doesn't show denied access to the shell. findAndHookMethod(java.lang.Runtime.class, "load", String.class, new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {}
}); After this, the problem returns:
Looks like a bug in Xposed, or perhaps a limitation since java.lang.Runtime is some internal stuff. |
Just to confirm that on my I9505, v 0.29.1 resolves the skype issue. Should I keep it, or is it really a test version ? |
@Tassos-i could your please try this test version: http://www.faircode.eu/xprivacy/XPrivacy_0.29.2.apk You can keep the test versions and upgrade later to 0.30+ |
What changed between 0.29.1 and 0.29.2? |
See the latest commit a little bit up. |
Unfortunately, 0.29.2 brings back he skype issue! |
I can confirm. Problem recurs with 0.29.2. However, as stated above, 0.29.1 works fine. |
@rovo89 could you please take a look at this. |
I think this is because these methods check the calling method: public void load(String pathName) {
load(pathName, VMStack.getCallingClassLoader());
}
public void loadLibrary(String libName) {
loadLibrary(libName, VMStack.getCallingClassLoader());
} The caller is not the Skype package but the boot class loader (including XposedBridge.jar) when the methods are hooked. I can't think of a way to resolve this, but you should be able to work around it by hooking the methods with two arguments (String and ClassLoader). |
Solved by hooking the private methods and skipping checks when uid=0. |
Originally reported by Tassos_i on xda.
Reproduced on stock rooted Galaxy S3 4.1.2 with Skype 3.2.0.6673 (current version), with Xprivacy 0.26 and 0.27.
Can't supply a logcat at the moment or for the next week, but I have a lovely screenshot.
The text was updated successfully, but these errors were encountered: