From 0d5fc7ad87145f04252dfe8f95732db8c366adc2 Mon Sep 17 00:00:00 2001 From: frknkrc44 Date: Tue, 11 Feb 2025 23:46:00 +0300 Subject: [PATCH] fix: Find another method to detect StatusPlaybackView field --- .../wmods/wppenhacer/xposed/core/devkit/Unobfuscator.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/src/main/java/com/wmods/wppenhacer/xposed/core/devkit/Unobfuscator.java b/app/src/main/java/com/wmods/wppenhacer/xposed/core/devkit/Unobfuscator.java index e8f4c2ed..2cb84791 100644 --- a/app/src/main/java/com/wmods/wppenhacer/xposed/core/devkit/Unobfuscator.java +++ b/app/src/main/java/com/wmods/wppenhacer/xposed/core/devkit/Unobfuscator.java @@ -25,6 +25,7 @@ import org.luckypray.dexkit.query.enums.StringMatchType; import org.luckypray.dexkit.query.matchers.ClassMatcher; import org.luckypray.dexkit.query.matchers.MethodMatcher; +import org.luckypray.dexkit.query.matchers.base.IntRange; import org.luckypray.dexkit.query.matchers.base.OpCodesMatcher; import org.luckypray.dexkit.result.ClassData; import org.luckypray.dexkit.result.ClassDataList; @@ -770,6 +771,11 @@ public synchronized static Field loadStatusPlaybackViewField(ClassLoader loader) ClassDataList classView = dexkit.findClass(FindClass.create().matcher( ClassMatcher.create().methodCount(1).addFieldForType(class1) )); + if (classView.isEmpty()) classView = dexkit.findClass(FindClass.create().matcher( + ClassMatcher.create().methodCount(1, 2) + .addMethod(MethodMatcher.create().paramTypes(View.class, boolean.class, boolean.class)) + .addFieldForType(class1) + )); if (classView.isEmpty()) throw new Exception("StatusPlaybackView field not found"); Class clsViewStatus = classView.get(0).getInstance(loader); Class class2 = XposedHelpers.findClass("com.whatsapp.status.playback.fragment.StatusPlaybackBaseFragment", loader);