|
14 | 14 | import android.util.Pair; |
15 | 15 | import android.view.AbsSavedState; |
16 | 16 | import android.view.View; |
| 17 | +import android.widget.Toast; |
17 | 18 |
|
18 | 19 | import com.getkeepsafe.relinker.ReLinker; |
19 | 20 |
|
@@ -312,24 +313,29 @@ private static void initForXposedInstaller(Context context, ApplicationInfo appl |
312 | 313 | for (int i = 0; i < length; i++) { |
313 | 314 | Array.set(xposed_prop_files, i, xposedPropPath); |
314 | 315 | } |
| 316 | + |
| 317 | + |
| 318 | + DexposedBridge.findAndHookMethod(xposedApp, "getActiveXposedVersion", new XC_MethodHook() { |
| 319 | + @Override |
| 320 | + protected void beforeHookedMethod(MethodHookParam param) throws Throwable { |
| 321 | + super.beforeHookedMethod(param); |
| 322 | + param.setResult(FAKE_XPOSED_VERSION); |
| 323 | + } |
| 324 | + }); |
| 325 | + DexposedBridge.findAndHookMethod(xposedApp, "getInstalledXposedVersion", new XC_MethodHook() { |
| 326 | + @Override |
| 327 | + protected void beforeHookedMethod(XC_MethodHook.MethodHookParam param) throws Throwable { |
| 328 | + super.beforeHookedMethod(param); |
| 329 | + param.setResult(FAKE_XPOSED_VERSION); |
| 330 | + } |
| 331 | + }); |
315 | 332 | } catch (Throwable ignored) { |
316 | 333 | // only support 3.1.5 and above. |
317 | | - } |
318 | | - |
319 | | - DexposedBridge.findAndHookMethod(xposedApp, "getActiveXposedVersion", new XC_MethodHook() { |
320 | | - @Override |
321 | | - protected void beforeHookedMethod(MethodHookParam param) throws Throwable { |
322 | | - super.beforeHookedMethod(param); |
323 | | - param.setResult(FAKE_XPOSED_VERSION); |
| 334 | + try { |
| 335 | + Toast.makeText(context, "The XposedInstaller you used is not supported.", Toast.LENGTH_SHORT).show(); |
| 336 | + } catch (Throwable ignored2) { |
324 | 337 | } |
325 | | - }); |
326 | | - DexposedBridge.findAndHookMethod(xposedApp, "getInstalledXposedVersion", new XC_MethodHook() { |
327 | | - @Override |
328 | | - protected void beforeHookedMethod(XC_MethodHook.MethodHookParam param) throws Throwable { |
329 | | - super.beforeHookedMethod(param); |
330 | | - param.setResult(FAKE_XPOSED_VERSION); |
331 | | - } |
332 | | - }); |
| 338 | + } |
333 | 339 |
|
334 | 340 | final Constructor<?> fileConstructor1 = XposedHelpers.findConstructorExact(File.class, String.class); |
335 | 341 | final Constructor<?> fileConstructor2 = XposedHelpers.findConstructorExact(File.class, String.class, String.class); |
|
0 commit comments