mirror of
https://github.com/LSPosed/DisableFlagSecure.git
synced 2025-05-04 22:43:25 +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);
|
||||
}
|
||||
|
||||
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) {
|
||||
// Screenshot detection (U~V)
|
||||
try {
|
||||
@ -259,6 +268,14 @@ public class DisableFlagSecure extends XposedModule {
|
||||
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)
|
||||
private void hookActivityManagerService(ClassLoader classLoader) throws ClassNotFoundException, NoSuchMethodException {
|
||||
var activityTaskManagerServiceClazz = classLoader.loadClass("com.android.server.am.ActivityManagerService");
|
||||
|
Loading…
x
Reference in New Issue
Block a user