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 7e3652a9..055723af 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
@@ -209,7 +209,8 @@ public synchronized static Method loadForwardTagMethod(ClassLoader classLoader)
for (var invoke : invokes) {
var method = invoke.getMethodInstance(classLoader);
if (method.getParameterCount() == 1
- && method.getParameterTypes()[0] == int.class
+ && (method.getParameterTypes()[0] == int.class
+ || method.getParameterTypes()[0] == long.class)
&& method.getDeclaringClass() == messageInfoClass
&& method.getReturnType() == void.class) {
return method;
@@ -278,7 +279,7 @@ public synchronized static Method loadTabListMethod(ClassLoader classLoader) thr
public synchronized static Method loadGetTabMethod(ClassLoader classLoader) throws Exception {
return UnobfuscatorCache.getInstance().getMethod(classLoader, () -> {
- Method result = findFirstMethodUsingStringsFilter(classLoader, "X.", StringMatchType.Contains, "Invalid tab id: 600");
+ Method result = findFirstMethodUsingStringsFilter(classLoader, "X.", StringMatchType.Contains, "No HomeFragment mapping for community tab id:");
if (result == null) throw new Exception("GetTab method not found");
return result;
});
@@ -498,7 +499,7 @@ public synchronized static Method loadStatusActivePage(ClassLoader classLoader)
public synchronized static Class> loadStatusDownloadMediaClass(ClassLoader classLoader) throws Exception {
return UnobfuscatorCache.getInstance().getClass(classLoader, () -> {
- var clazz = findFirstClassUsingStrings(classLoader, StringMatchType.Contains, "FMessageVideo/Cloned");
+ var clazz = findFirstClassUsingStrings(classLoader, StringMatchType.Contains, "static.whatsapp.net/downloadable?category=PSA");
if (clazz == null) throw new Exception("StatusDownloadMedia class not found");
return clazz;
});
@@ -1428,8 +1429,15 @@ public synchronized static Field loadOriginFMessageField(ClassLoader classLoader
public synchronized static Method loadForwardAudioTypeMethod(ClassLoader classLoader) throws Exception {
return UnobfuscatorCache.getInstance().getMethod(classLoader, () -> {
- var result = findFirstMethodUsingStrings(classLoader, StringMatchType.Contains, "forwardable", "FMessageFactory/newFMessageForForward/thumbnail");
- if (result == null) throw new RuntimeException("ForwardAudioType method not found");
+ var results = findAllMethodUsingStrings(classLoader, StringMatchType.Contains, "FMessageFactory/newFMessageForForward/thumbnail");
+ if (results == null || results.length < 1) throw new RuntimeException("ForwardAudioType method not found");
+ Method result;
+ if (results.length > 1) {
+ result = findFirstMethodUsingStrings(classLoader, StringMatchType.Contains, "forwardable", "FMessageFactory/newFMessageForForward/thumbnail");
+ } else {
+ // 2.24.18.xx returns one method
+ result = results[0];
+ }
return result;
});
}
diff --git a/app/src/main/java/com/wmods/wppenhacer/xposed/features/privacy/HideTagForward.java b/app/src/main/java/com/wmods/wppenhacer/xposed/features/privacy/HideTagForward.java
index 5dd56c8b..05805602 100644
--- a/app/src/main/java/com/wmods/wppenhacer/xposed/features/privacy/HideTagForward.java
+++ b/app/src/main/java/com/wmods/wppenhacer/xposed/features/privacy/HideTagForward.java
@@ -28,7 +28,7 @@ public void doHook() throws Exception {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
if (!prefs.getBoolean("hidetag", false)) return;
- var arg = (int) param.args[0];
+ var arg = (long) param.args[0];
if (arg == 1) {
if (ReflectionUtils.isCalledFromClass(forwardClass)) {
param.args[0] = 0;
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 3fa5567a..026c99f2 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -120,6 +120,7 @@
- 2.24.15.xx
- 2.24.16.xx
- 2.24.17.xx
+ - 2.24.18.xx
- 2.24.12.xx