Skip to content

Commit 323e8e5

Browse files
committed
Remove old versions WA
1 parent 2ace899 commit 323e8e5

File tree

2 files changed

+29
-17
lines changed

2 files changed

+29
-17
lines changed

app/src/main/java/com/wmods/wppenhacer/xposed/core/FeatureLoader.java

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,14 @@
7979
import com.wmods.wppenhacer.xposed.features.privacy.ViewOnce;
8080
import com.wmods.wppenhacer.xposed.spoofer.HookBL;
8181
import com.wmods.wppenhacer.xposed.utils.DesignUtils;
82+
import com.wmods.wppenhacer.xposed.utils.ReflectionUtils;
8283
import com.wmods.wppenhacer.xposed.utils.ResId;
8384
import com.wmods.wppenhacer.xposed.utils.Utils;
8485

8586
import java.util.ArrayList;
8687
import java.util.Arrays;
88+
import java.util.Calendar;
89+
import java.util.Date;
8790
import java.util.List;
8891
import java.util.Objects;
8992
import java.util.concurrent.CompletableFuture;
@@ -131,20 +134,28 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
131134
XposedBridge.log(packageInfo.versionName);
132135
currentVersion = packageInfo.versionName;
133136
supportedVersions = Arrays.asList(mApp.getResources().getStringArray(Objects.equals(mApp.getPackageName(), FeatureLoader.PACKAGE_WPP) ? ResId.array.supported_versions_wpp : ResId.array.supported_versions_business));
137+
mApp.registerActivityLifecycleCallbacks(new WaCallback());
138+
registerReceivers();
134139
try {
135-
136140
var timemillis = System.currentTimeMillis();
137-
if (supportedVersions.stream().noneMatch(s -> packageInfo.versionName.startsWith(s.replace(".xx", ""))) && !pref.getBoolean("bypass_version_check", false)) {
138-
throw new Exception("Unsupported version: " + packageInfo.versionName);
141+
boolean isSupported = supportedVersions.stream().anyMatch(s -> packageInfo.versionName.startsWith(s.replace(".xx", "")));
142+
if (!isSupported) {
143+
disableExpirationVersion(mApp.getClassLoader());
144+
if (!pref.getBoolean("bypass_version_check", false)) {
145+
StringBuilder sb = new StringBuilder()
146+
.append("Unsupported version: ")
147+
.append(packageInfo.versionName)
148+
.append("\n")
149+
.append("Only the function of ignoring the expiration of the WhatsApp version has been applied!");
150+
throw new Exception(sb.toString());
151+
}
139152
}
140153
SharedPreferencesWrapper.hookInit(mApp.getClassLoader());
141154
UnobfuscatorCache.init(mApp);
142155
WppCore.Initialize(loader, pref);
143156
DesignUtils.setPrefs(pref);
144157
initComponents(loader, pref);
145158
plugins(loader, pref, packageInfo.versionName);
146-
registerReceivers();
147-
mApp.registerActivityLifecycleCallbacks(new WaCallback());
148159
sendEnabledBroadcast(mApp);
149160
// XposedHelpers.setStaticIntField(XposedHelpers.findClass("com.whatsapp.util.Log", loader), "level", 5);
150161
var timemillis2 = System.currentTimeMillis() - timemillis;
@@ -187,6 +198,19 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable {
187198
});
188199
}
189200

201+
private static void disableExpirationVersion(ClassLoader classLoader) {
202+
var expirationClass = Unobfuscator.loadExpirationClass(classLoader);
203+
var method = ReflectionUtils.findMethodUsingFilter(expirationClass, m -> m.getReturnType().equals(Date.class));
204+
XposedBridge.hookMethod(method, new XC_MethodHook() {
205+
@Override
206+
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
207+
var calendar = Calendar.getInstance();
208+
calendar.set(2099, 12, 31);
209+
param.setResult(calendar.getTime());
210+
}
211+
});
212+
}
213+
190214
private static void initComponents(ClassLoader loader, XSharedPreferences pref) throws Exception {
191215
AlertDialogWpp.initDialog(loader);
192216
FMessageWpp.initialize(loader);

app/src/main/res/values/arrays.xml

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -119,25 +119,13 @@
119119
<item>2</item>
120120
</string-array>
121121
<string-array name="supported_versions_wpp">
122-
<item>2.25.5.xx</item>
123-
<item>2.25.6.xx</item>
124-
<item>2.25.7.xx</item>
125-
<item>2.25.8.xx</item>
126-
<item>2.25.9.xx</item>
127-
<item>2.25.10.xx</item>
128122
<item>2.25.11.xx</item>
129123
<item>2.25.12.xx</item>
130124
<item>2.25.13.xx</item>
131125
<item>2.25.14.xx</item>
132126
<item>2.25.15.xx</item>
133127
</string-array>
134128
<string-array name="supported_versions_business">
135-
<item>2.25.5.xx</item>
136-
<item>2.25.6.xx</item>
137-
<item>2.25.7.xx</item>
138-
<item>2.25.8.xx</item>
139-
<item>2.25.9.xx</item>
140-
<item>2.25.10.xx</item>
141129
<item>2.25.11.xx</item>
142130
<item>2.25.12.xx</item>
143131
<item>2.25.13.xx</item>

0 commit comments

Comments
 (0)