|
5 | 5 | import android.content.Context; |
6 | 6 | import android.content.Intent; |
7 | 7 | import android.content.ServiceConnection; |
| 8 | +import android.content.SharedPreferences; |
8 | 9 | import android.content.pm.ApplicationInfo; |
9 | 10 | import android.os.Build; |
10 | 11 | import android.os.IBinder; |
@@ -107,6 +108,7 @@ public static void initOnce(Context context, ApplicationInfo applicationInfo, Cl |
107 | 108 | initForXposedModule(context, applicationInfo, appClassLoader); |
108 | 109 | initForXposedInstaller(context, applicationInfo, appClassLoader); |
109 | 110 | initForWechat(context, applicationInfo, appClassLoader); |
| 111 | + initForQQ(context, applicationInfo, appClassLoader); |
110 | 112 | } |
111 | 113 |
|
112 | 114 | private static boolean patchSystemClassLoader() { |
@@ -419,6 +421,22 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable { |
419 | 421 | }); |
420 | 422 | } |
421 | 423 |
|
| 424 | + @SuppressLint("ApplySharedPref") |
| 425 | + private static void initForQQ(Context context, ApplicationInfo applicationInfo, ClassLoader appClassLoader) { |
| 426 | + if (applicationInfo == null) { |
| 427 | + return; |
| 428 | + } |
| 429 | + final String QQ = decodeFromBase64("Y29tLnRlbmNlbnQubW9iaWxlcXE="); |
| 430 | + if (!QQ.equals(applicationInfo.packageName)) { |
| 431 | + return; |
| 432 | + } |
| 433 | + if (QQ.equals(applicationInfo.processName)) { |
| 434 | + SharedPreferences sp = context.getSharedPreferences(decodeFromBase64("aG90cGF0Y2hfcHJlZmVyZW5jZQ=="), // hotpatch_preference |
| 435 | + Context.MODE_PRIVATE); |
| 436 | + sp.edit().remove(decodeFromBase64("a2V5X2NvbmZpZ19wYXRjaF9kZXg=")).commit(); // key_config_patch_dex |
| 437 | + } |
| 438 | + } |
| 439 | + |
422 | 440 | private static void initForWechat(Context context, ApplicationInfo applicationInfo, ClassLoader appClassLoader) { |
423 | 441 | if (applicationInfo == null) { |
424 | 442 | return; |
|
0 commit comments