mirror of
https://github.com/LSPosed/DisableFlagSecure.git
synced 2025-05-05 02:09:43 +08:00
Disable screen record detection on Android 15
This commit is contained in:
parent
caa953cd11
commit
42ae2ab20d
@ -46,6 +46,15 @@ public class DisableFlagSecure extends XposedModule {
|
|||||||
log("deoptimize system server failed", t);
|
log("deoptimize system server failed", t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM) {
|
||||||
|
// Screen record detection (V)
|
||||||
|
try {
|
||||||
|
hookWindowManagerService(classLoader);
|
||||||
|
} catch (Throwable t) {
|
||||||
|
log("hook WindowManagerService failed", t);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||||
// Screenshot detection (U~V)
|
// Screenshot detection (U~V)
|
||||||
try {
|
try {
|
||||||
@ -259,6 +268,14 @@ public class DisableFlagSecure extends XposedModule {
|
|||||||
hook(method, ReturnNullHooker.class);
|
hook(method, ReturnNullHooker.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TargetApi(Build.VERSION_CODES.VANILLA_ICE_CREAM)
|
||||||
|
private void hookWindowManagerService(ClassLoader classLoader) throws ClassNotFoundException, NoSuchMethodException {
|
||||||
|
var windowManagerServiceClazz = classLoader.loadClass("com.android.server.wm.WindowManagerService");
|
||||||
|
var iScreenRecordingCallbackClazz = classLoader.loadClass("android.window.IScreenRecordingCallback");
|
||||||
|
var method = windowManagerServiceClazz.getDeclaredMethod("registerScreenRecordingCallback", iScreenRecordingCallbackClazz);
|
||||||
|
hook(method, ReturnFalseHooker.class);
|
||||||
|
}
|
||||||
|
|
||||||
@TargetApi(Build.VERSION_CODES.S)
|
@TargetApi(Build.VERSION_CODES.S)
|
||||||
private void hookActivityManagerService(ClassLoader classLoader) throws ClassNotFoundException, NoSuchMethodException {
|
private void hookActivityManagerService(ClassLoader classLoader) throws ClassNotFoundException, NoSuchMethodException {
|
||||||
var activityTaskManagerServiceClazz = classLoader.loadClass("com.android.server.am.ActivityManagerService");
|
var activityTaskManagerServiceClazz = classLoader.loadClass("com.android.server.am.ActivityManagerService");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user