ChickenHook / RestrictionBypass

Android API restriction bypass for all Android Versions
Apache License 2.0
605 stars 89 forks source link

Unable to unseal hidden api access #4

Open khaled279 opened 3 years ago

khaled279 commented 3 years ago

I'm trying to use Method.Invoke() function from reflection API also trying to pass an external Library to DexClassloader I get

2021-01-14 05:04:13.491 6789-6789/com.sablab.myapplication E/BypassProvider: Unable to unseal hidden api access

java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at org.chickenhook.restrictionbypass.RestrictionBypass.getDeclaredMethod(RestrictionBypass.java:18) at org.chickenhook.restrictionbypass.Unseal.unseal(Unseal.java:15) at org.chickenhook.restrictionbypass.BypassProvider.attachInfo(BypassProvider.java:51) at android.app.ActivityThread.installProvider(ActivityThread.java:6093) at android.app.ActivityThread.installContentProviders(ActivityThread.java:5572) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5511) at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method) at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:360) at android.app.ActivityThread.handleBindApplication() at android.app.ActivityThread.-wrap2(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1611) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:165) at android.app.ActivityThread.main(ActivityThread.java:6375) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802) at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107) Caused by: java.lang.NoSuchMethodException: setHiddenApiExemptions [class [Ljava.lang.String;] at java.lang.Class.getMethod(Class.java:1981) at java.lang.Class.getDeclaredMethod(Class.java:1960) at java.lang.reflect.Method.invoke(Native Method)  at org.chickenhook.restrictionbypass.RestrictionBypass.getDeclaredMethod(RestrictionBypass.java:18)  at org.chickenhook.restrictionbypass.Unseal.unseal(Unseal.java:15)  at org.chickenhook.restrictionbypass.BypassProvider.attachInfo(BypassProvider.java:51)  at android.app.ActivityThread.installProvider(ActivityThread.java:6093)  at android.app.ActivityThread.installContentProviders(ActivityThread.java:5572)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5511)  at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)  at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:360)  at android.app.ActivityThread.handleBindApplication()  at android.app.ActivityThread.-wrap2(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1611)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:165)  at android.app.ActivityThread.main(ActivityThread.java:6375)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)  at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107) 

Also I still get

type=1400 audit(0.0:123755): avc: denied { execute } for path="/storage/emulated/0/ApkDir/lib/arm64/libpngt.so" dev="sdcardfs" ino=704805 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=0 `

are the use cases I mentioned valid or these are not right use cases for this library and if they are valid use cases can you tell me how to solve this

github-gsjb commented 3 years ago

I'm trying to use Method.Invoke() function from reflection API also trying to pass an external Library to DexClassloader I get

2021-01-14 05:04:13.491 6789-6789/com.sablab.myapplication E/BypassProvider: Unable to unseal hidden api access

java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at org.chickenhook.restrictionbypass.RestrictionBypass.getDeclaredMethod(RestrictionBypass.java:18) at org.chickenhook.restrictionbypass.Unseal.unseal(Unseal.java:15) at org.chickenhook.restrictionbypass.BypassProvider.attachInfo(BypassProvider.java:51) at android.app.ActivityThread.installProvider(ActivityThread.java:6093) at android.app.ActivityThread.installContentProviders(ActivityThread.java:5572) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5511) at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method) at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:360) at android.app.ActivityThread.handleBindApplication() at android.app.ActivityThread.-wrap2(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1611) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:165) at android.app.ActivityThread.main(ActivityThread.java:6375) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802) at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107) Caused by: java.lang.NoSuchMethodException: setHiddenApiExemptions [class [Ljava.lang.String;] at java.lang.Class.getMethod(Class.java:1981) at java.lang.Class.getDeclaredMethod(Class.java:1960) at java.lang.reflect.Method.invoke(Native Method)  at org.chickenhook.restrictionbypass.RestrictionBypass.getDeclaredMethod(RestrictionBypass.java:18)  at org.chickenhook.restrictionbypass.Unseal.unseal(Unseal.java:15)  at org.chickenhook.restrictionbypass.BypassProvider.attachInfo(BypassProvider.java:51)  at android.app.ActivityThread.installProvider(ActivityThread.java:6093)  at android.app.ActivityThread.installContentProviders(ActivityThread.java:5572)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5511)  at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)  at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:360)  at android.app.ActivityThread.handleBindApplication()  at android.app.ActivityThread.-wrap2(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1611)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:165)  at android.app.ActivityThread.main(ActivityThread.java:6375)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)  at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107) 

Also I still get

type=1400 audit(0.0:123755): avc: denied { execute } for path="/storage/emulated/0/ApkDir/lib/arm64/libpngt.so" dev="sdcardfs" ino=704805 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=0 `

are the use cases I mentioned valid or these are not right use cases for this library and if they are valid use cases can you tell me how to solve this

what phone?

WindySha commented 3 years ago

https://android-review.googlesource.com/c/platform/art/+/1664304

khaled279 commented 3 years ago

I'm trying to use Method.Invoke() function from reflection API also trying to pass an external Library to DexClassloader I get

2021-01-14 05:04:13.491 6789-6789/com.sablab.myapplication E/BypassProvider: Unable to unseal hidden api access

java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at org.chickenhook.restrictionbypass.RestrictionBypass.getDeclaredMethod(RestrictionBypass.java:18) at org.chickenhook.restrictionbypass.Unseal.unseal(Unseal.java:15) at org.chickenhook.restrictionbypass.BypassProvider.attachInfo(BypassProvider.java:51) at android.app.ActivityThread.installProvider(ActivityThread.java:6093) at android.app.ActivityThread.installContentProviders(ActivityThread.java:5572) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5511) at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method) at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:360) at android.app.ActivityThread.handleBindApplication() at android.app.ActivityThread.-wrap2(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1611) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:165) at android.app.ActivityThread.main(ActivityThread.java:6375) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802) at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107) Caused by: java.lang.NoSuchMethodException: setHiddenApiExemptions [class [Ljava.lang.String;] at java.lang.Class.getMethod(Class.java:1981) at java.lang.Class.getDeclaredMethod(Class.java:1960) at java.lang.reflect.Method.invoke(Native Method)  at org.chickenhook.restrictionbypass.RestrictionBypass.getDeclaredMethod(RestrictionBypass.java:18)  at org.chickenhook.restrictionbypass.Unseal.unseal(Unseal.java:15)  at org.chickenhook.restrictionbypass.BypassProvider.attachInfo(BypassProvider.java:51)  at android.app.ActivityThread.installProvider(ActivityThread.java:6093)  at android.app.ActivityThread.installContentProviders(ActivityThread.java:5572)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5511)  at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)  at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:360)  at android.app.ActivityThread.handleBindApplication()  at android.app.ActivityThread.-wrap2(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1611)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:165)  at android.app.ActivityThread.main(ActivityThread.java:6375)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)  at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107) 

Also I still get

type=1400 audit(0.0:123755): avc: denied { execute } for path="/storage/emulated/0/ApkDir/lib/arm64/libpngt.so" dev="sdcardfs" ino=704805 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=0 `

are the use cases I mentioned valid or these are not right use cases for this library and if they are valid use cases can you tell me how to solve this

what phone?

it's a redmi note 4

SarotecK commented 1 year ago

Hi, what android version is this?

Can you send me a full log?

khaled279 commented 1 year ago

Hi, what android version is this?

Can you send me a full log?

this was a long time ago I fixed the issue I can't remember how but the project is no longer used