Git Product home page Git Product logo

rootcloak's Introduction

RootCloak

This is a module for Xposed Framework.

This allows you to run apps that detect root without disabling root. You select from a list of your installed apps (or add a custom entry), and using a variety of methods, it will completely hide root from that app. This includes hiding the su binary, superuser/supersu apks, processes run by root, adb, and more.

RootCloak DOES NOT ALLOW YOU TO USE ANDROID PAY.

Requires:

  • Xposed Framework
  • Root (otherwise why use this?)

Instructions:

  1. Have Xposed Framework installed.
  2. Install RootCloak.
  3. Enable RootCloak in the Xposed app, in the Modules section.
  4. Reboot your phone.
  5. Open RootCloak settings, go to Add/Remove Apps.
  6. If the app you want to hide root from is not in the list, you must then press + to add it.
  7. Exit RootCloak settings. If the app you just added to the list was already running, you need to FORCE CLOSE it for the settings to take effect.
  8. Run the app to see if root was successfully hidden.

For support, visit the official XDA thread: http://forum.xda-developers.com/showthread.php?t=2574647

Copyright (C) 2013-2016+ Matt Joseph (devadvance), Jingran Wang (hikaritenchi), and contributors.

Licensed under the Apache License, Version 2.0. See LICENSE file for license information.

Build Status

Attribution:

The icon used for this module is a creative interpretation of a photo of the sculpture "Cloak of Conscience".

Both the sculpture and photo are by Anna Chromý. The photo is licensed under under the Creative Commons Attribution 3.0 Unported license (license text available here: http://creativecommons.org/licenses/by/3.0/deed.en) The original photo can be located here: http://en.wikipedia.org/wiki/File:Anna_Chromy_Cloak_Of_Conscience.jpg

rootcloak's People

Contributors

bnalls33 avatar devadvance avatar hikaritenchi avatar pylersm avatar tama avatar webserfer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rootcloak's Issues

Conflict with WebView on lollipop 5.1

When the target application has a webview, it crashes on the launch.

Following is the exception details, please let me know if any other information is required.

05-18 15:23:51.738  22422-22422/com.example.abdulmoeed.webviewtest E/WebViewFactory﹕ error instantiating provider
    java.lang.RuntimeException: Invalid reflection
            at com.android.webview.chromium.WebViewDelegateFactory$Api21CompatibilityDelegate.<init>(WebViewDelegateFactory.java:223)
            at com.android.webview.chromium.WebViewDelegateFactory.createApi21CompatibilityDelegate(WebViewDelegateFactory.java:97)
            at com.android.webview.chromium.WebViewChromiumFactoryProvider.<init>(WebViewChromiumFactoryProvider.java:97)
            at java.lang.reflect.Constructor.newInstance(Native Method)
            at java.lang.Class.newInstance(Class.java:1606)
            at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:124)
            at android.webkit.WebView.getFactory(WebView.java:2194)
            at android.webkit.WebView.ensureProviderCreated(WebView.java:2189)
            at android.webkit.WebView.setOverScrollMode(WebView.java:2248)
            at android.view.View.<init>(View.java:3588)
            at android.view.View.<init>(View.java:3682)
            at android.view.ViewGroup.<init>(ViewGroup.java:497)
            at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:55)
            at android.webkit.WebView.<init>(WebView.java:544)
            at android.webkit.WebView.<init>(WebView.java:489)
            at android.webkit.WebView.<init>(WebView.java:472)
            at android.webkit.WebView.<init>(WebView.java:459)
            at java.lang.reflect.Constructor.newInstance(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
            at android.view.LayoutInflater.createView(LayoutInflater.java:607)
            at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
            at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
            at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:684)
            at android.view.LayoutInflater.inflate(Unknown Source)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
            at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:240)
            at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
            at com.example.abdulmoeed.webviewtest.MainActivity.onCreate(MainActivity.java:14)
            at android.app.Activity.performCreate(Activity.java:5990)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
            at android.app.ActivityThread.access$800(ActivityThread.java:151)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5254)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
            at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:117)
     Caused by: java.lang.NoSuchMethodException: callDrawGLFunction [long]
            at java.lang.Class.getMethod(Class.java:664)
            at java.lang.Class.getMethod(Class.java:643)
            at com.android.webview.chromium.WebViewDelegateFactory$Api21CompatibilityDelegate.<init>(WebViewDelegateFactory.java:211)
            at com.android.webview.chromium.WebViewDelegateFactory.createApi21CompatibilityDelegate(WebViewDelegateFactory.java:97)
            at com.android.webview.chromium.WebViewChromiumFactoryProvider.<init>(WebViewChromiumFactoryProvider.java:97)
            at java.lang.reflect.Constructor.newInstance(Native Method)
            at java.lang.Class.newInstance(Class.java:1606)
            at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:124)
            at android.webkit.WebView.getFactory(WebView.java:2194)
            at android.webkit.WebView.ensureProviderCreated(WebView.java:2189)
            at android.webkit.WebView.setOverScrollMode(WebView.java:2248)
            at android.view.View.<init>(View.java:3588)
            at android.view.View.<init>(View.java:3682)
            at android.view.ViewGroup.<init>(ViewGroup.java:497)
            at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:55)
            at android.webkit.WebView.<init>(WebView.java:544)
            at android.webkit.WebView.<init>(WebView.java:489)
            at android.webkit.WebView.<init>(WebView.java:472)
            at android.webkit.WebView.<init>(WebView.java:459)
            at java.lang.reflect.Constructor.newInstance(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
            at android.view.LayoutInflater.createView(LayoutInflater.java:607)
            at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
            at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
            at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:684)
            at android.view.LayoutInflater.inflate(Unknown Source)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
            at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:240)
            at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
            at com.example.abdulmoeed.webviewtest.MainActivity.onCreate(MainActivity.java:14)
            at android.app.Activity.performCreate(Activity.java:5990)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
            at android.app.ActivityThread.access$800(ActivityThread.java:151)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5254)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
            at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:117)
05-18 15:23:51.739  22422-22422/com.example.abdulmoeed.webviewtest D/AndroidRuntime﹕ Shutting down VM
    --------- beginning of crash
05-18 15:23:51.740  22422-22422/com.example.abdulmoeed.webviewtest E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.abdulmoeed.webviewtest, PID: 22422
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.abdulmoeed.webviewtest/com.example.abdulmoeed.webviewtest.MainActivity}: android.view.InflateException: Binary XML file line #10: Error inflating class android.webkit.WebView
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
            at android.app.ActivityThread.access$800(ActivityThread.java:151)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5254)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
            at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:117)
     Caused by: android.view.InflateException: Binary XML file line #10: Error inflating class android.webkit.WebView
            at android.view.LayoutInflater.createView(LayoutInflater.java:633)
            at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
            at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
            at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:684)
            at android.view.LayoutInflater.inflate(Unknown Source)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
            at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:240)
            at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
            at com.example.abdulmoeed.webviewtest.MainActivity.onCreate(MainActivity.java:14)
            at android.app.Activity.performCreate(Activity.java:5990)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
            at android.app.ActivityThread.access$800(ActivityThread.java:151)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5254)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
            at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:117)
     Caused by: java.lang.reflect.InvocationTargetException
            at java.lang.reflect.Constructor.newInstance(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
            at android.view.LayoutInflater.createView(LayoutInflater.java:607)
            at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
            at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
            at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:684)
            at android.view.LayoutInflater.inflate(Unknown Source)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
            at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:240)
            at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
            at com.example.abdulmoeed.webviewtest.MainActivity.onCreate(MainActivity.java:14)
            at android.app.Activity.performCreate(Activity.java:5990)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
            at android.app.ActivityThread.access$800(ActivityThread.java:151)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5254)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
            at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:117)
     Caused by: android.util.AndroidRuntimeException: java.lang.RuntimeException: Invalid reflection
            at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:130)
            at android.webkit.WebView.getFactory(WebView.java:2194)
            at android.webkit.WebView.ensureProviderCreated(WebView.java:2189)
            at android.webkit.WebView.setOverScrollMode(WebView.java:2248)
            at android.view.View.<init>(View.java:3588)
            at android.view.View.<init>(View.java:3682)
            at android.view.ViewGroup.<init>(ViewGroup.java:497)
            at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:55)
            at android.webkit.WebView.<init>(WebView.java:544)
            at android.webkit.WebView.<init>(WebView.java:489)
            at android.webkit.WebView.<init>(WebView.java:472)
            at android.webkit.WebView.<init>(WebView.java:459)
            at java.lang.reflect.Constructor.newInstance(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
            at android.view.LayoutInflater.createView(LayoutInflater.java:607)
            at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
            at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
            at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:684)
            at android.view.LayoutInflater.inflate(Unknown Source)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
            at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:240)
            at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
            at com.example.abdulmoeed.webviewtest.MainActivity.onCreate(MainActivity.java:14)
            at android.app.Activity.performCreate(Activity.java:5990)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
            at android.app.ActivityThread.access$800(ActivityThread.java:151)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5254)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
            at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:117)
     Caused by: java.lang.RuntimeException: Invalid reflection
            at com.android.webview.chromium.WebViewDelegateFactory$Api21CompatibilityDelegate.<init>(WebViewDelegateFactory.java:223)
            at com.android.webview.chromium.WebViewDelegateFactory.createApi21CompatibilityDelegate(WebViewDelegateFactory.java:97)
            at com.android.webview.chromium.WebViewChromiumFactoryProvider.<init>(WebViewChromiumFactoryProvider.java:97)
            at java.lang.reflect.Constructor.newInstance(Native Method)

Better code commenting for all hooks

Goal: easier for anyone to maintain code and work on RootCloak. This also has an important benefit of making the code easier to understand, and thus more auditable (important for anything like this).

The Xposed API classes are compiled into the module's APK

05-28 15:58:37.330 I/Xposed ( 3154): Loading modules from /data/app/com.devadvance.rootcloak2-1/base.apk
05-28 15:58:37.360 W/Xposed ( 3154): The Xposed API classes are compiled into the module's APK.
05-28 15:58:37.360 W/Xposed ( 3154): This may cause strange issues and must be fixed by the module developer.
05-28 15:58:37.370 W/Xposed ( 3154): For details, see: http://api.xposed.info/using.html

this needs to be changed which took me 30 seconds.

Finally, a word to all module developers: In v84, I added a warning when a module's APK includes the Xposed API classes instead of just referencing them. I have also sent an email to the developers of all modules I could identify. With v86, I will turn the warning into an error and prevent the module from loading, as it could causes strange issues otherwise. Please update your module as soon as possible.

source

La tua banca per Android

RootCload not working on:
https://play.google.com/store/apps/details?id=com.latuabancaperandroid

The app detect root (also ask for root permission at superSU) and when going to Move and pay > PAyGO (NFC payments) say that is "disabled for security reason"

this is the log after touching the paygo buytton:

06-25 11:48:45.086 E/Xposed  ( 5149): java.lang.ClassCastException: android.app.ContextImpl$ApplicationContentResolver cannot be cast to java.lang.String
06-25 11:48:45.086 E/Xposed  ( 5149):   at com.devadvance.rootcloak2.RootCloak$13.beforeHookedMethod(RootCloak.java:475)
06-25 11:48:45.086 E/Xposed  ( 5149):   at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:720)
06-25 11:48:45.086 E/Xposed  ( 5149):   at android.provider.Settings$Global.getInt(<Xposed>)
06-25 11:48:45.086 E/Xposed  ( 5149):   at ams.moveandpaymodule.hce.j.b.a(Unknown Source)
06-25 11:48:45.086 E/Xposed  ( 5149):   at ams.moveandpaymodule.a.q(Unknown Source)
06-25 11:48:45.086 E/Xposed  ( 5149):   at ams.moveandpaymodule.a.a(Unknown Source)
06-25 11:48:45.086 E/Xposed  ( 5149):   at ams.moveandpaymodule.a.r(Unknown Source)
06-25 11:48:45.086 E/Xposed  ( 5149):   at ams.moveandpaymodule.NfcPaymentActivity.onCreate(Unknown Source)
06-25 11:48:45.086 E/Xposed  ( 5149):   at android.app.Activity.performCreate(Activity.java:6097)
06-25 11:48:45.086 E/Xposed  ( 5149):   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
06-25 11:48:45.086 E/Xposed  ( 5149):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2331)
06-25 11:48:45.086 E/Xposed  ( 5149):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2440)
06-25 11:48:45.086 E/Xposed  ( 5149):   at android.app.ActivityThread.access$800(ActivityThread.java:162)
06-25 11:48:45.086 E/Xposed  ( 5149):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1349)
06-25 11:48:45.086 E/Xposed  ( 5149):   at android.os.Handler.dispatchMessage(Handler.java:102)
06-25 11:48:45.086 E/Xposed  ( 5149):   at android.os.Looper.loop(Looper.java:135)
06-25 11:48:45.086 E/Xposed  ( 5149):   at android.app.ActivityThread.main(ActivityThread.java:5430)
06-25 11:48:45.086 E/Xposed  ( 5149):   at java.lang.reflect.Method.invoke(Native Method)
06-25 11:48:45.086 E/Xposed  ( 5149):   at java.lang.reflect.Method.invoke(Method.java:372)
06-25 11:48:45.086 E/Xposed  ( 5149):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:913)
06-25 11:48:45.086 E/Xposed  ( 5149):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:706)
06-25 11:48:45.086 E/Xposed  ( 5149):   at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)

LG H815 5.1 Framework v85

Patches support

Some apps may require hooking of some special methods to disable root detection. Maybe we could introduce support for this so RootCloak can "load" required data to hook from file (packagename.rootcloack, for example) and hook that methods. We could avoid situatuion when there are so many small xposed mods just to remove root from specific apps.

Maybe patch could be simple file with structure

"CLASS", "METHOD", "RETURNVALUE". (usually enough)
"CLASS2", "METHOD2", "RETURNVALUE2". (optionally if needed, so support for more clases)

Later we could talk about one place to store these "patches", fetch them online or so...

Android Pay

I would like it if this hid root from android pay.

Netflix

Hello, Netflix is no longer functioning with xposed module exynos 4 work around, after updating to MM on my Samsung Galaxy Tab S2. This version of MM doesn't have liboemcrypto.so that I could find, I am now using a Netflix build from 2012, but I suspect over time this version will stop working due to changes.

https://play.google.com/store/apps/details?id=com.netflix.mediaclient&hl=en

Netflix had a second set of difficulties prior to this in which the newer version of windvine would require users to fool it into using the older one, by reporting kitkat as the OS or something rather.

https://github.com/Entropy512/XposedNetflixWorkaround
http://forum.xda-developers.com/showthread.php?t=2101525

If you wouldn't mind taking a look, I'd really appreciate it. I'm not sure if netflix had been discussed here before, but I hadn't seen a request for it. I did try no device check, sudohide, rootcloak on netflix with the old exynos exposed fix and no fix, no dice.

Thanks!

doesn't work on lollipop

when set an app to hide form rootcheck,it will be force closed.I hope author can fix this problem on Android 5.0.THX

Release to repo?

There have been a few changes that people have been asking for (hiding adb status, for example), any chance we could push, or you can teach me how? I'll be able to much better maintain the project if you can help out.

Final Fantasy Brave Exvius

Was working before root on a Galaxy S7 Marshmallow. No confirmation from developers/support if root is the issue, but general player base confirms it's an issue. RootCloak didn't work.

Barclays Mobile Banking

I believe the previous versions of this app didn't work with this app. I'm wondering if it does now with prime?

I'm also looking to get bpay and pingit working also.

Option to Hide XPosed

Apps like Snapchat check for xposed and reject users, but rootcloak does not cloak xposed, despite the fact that rootcloak needs xposed to work

Hide USB debugging

Some apps check if USB (ADB) debugging is enabled. If so, they refuse to work or disable some of their features.

I think I could implement "Hide USB debugging" feature into RootCloak, but I am not sure if RootCloak's developer wants this feature in this module or we/I should do it as a new Xposed module. So any opinion?

Toggling Debug buggy

Hey, there's currently a long toast that is popped when you click to toggle debug. This makes it pretty confusing to try to toggle the debug preference, as there's no way to see what the current value is. Also, for me, it seems like the activity always assumes debug is off. You can toggle deug on, close the activity, and pop the activity to disable debug. It'll toast "Debug turned on!" in that case, still.

V App

In this app, there're some features that don't work on rooted phones, such as watching some special videos. Root Cloak solved half of the problem: it does open the videos mentioned (without it complaining about the root) but once it's opened, it restarts the app.
Could you please solve this issue?
Thanks!

https://play.google.com/store/apps/details?id=com.naver.vapp

IKO

Hi,

Don't work with polish banking app IKO: app pl.pkobp.iko (application "restricts" NFC payments because of detected root).
Please also remove this information from list with working apps.

If you need any information, I could provide them (just what and how to get).

Some apps use native code (NDK) to check for root

Some apps use native code (NDK) to check for root. These apps use JNI to call functions implemented in C/C++/etc. libraries included in the app to check for root.

For instance, an app may call a function implemented in C that performs a stat on the su binary, or any other root-related file in common/universally accessible directories. If it exists, the phone is determined to be rooted. Code for this example would be:

jboolean Java_com_devadvance_rootinspector_Root_statfile(JNIEnv * env, jobject this, jstring filepath) {
    jboolean fileExists = 0;
    jboolean isCopy;
    const char * path = (*env)->GetStringUTFChars(env, filepath, &isCopy);
    struct stat fileattrib;
    if (stat(path, &fileattrib) < 0) {
        __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NATIVE: stat error: [%s]", strerror(errno));
    } else
    {
        __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NATIVE: stat success, access perms: [%d]", fileattrib.st_mode);
        return 1;
    }

    return 0;
}

This code cannot be handled by Xposed See the comment here: rovo89/XposedBridge#52 (comment)

Additionally, this would require playing around with SELinux settings, which has gotten more difficult as Android has evolved. It is possible, but there are no plans to include it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.