diff --git a/FuckMFS.apk b/FuckMFS.apk index e6f3017edf6bf11497bce8fc719763bd0bf57a94..b5f92ec4aa7eb381d7e5510b8cbb7258e0d77f27 100644 Binary files a/FuckMFS.apk and b/FuckMFS.apk differ diff --git a/README.md b/README.md index 4b2e627f6917516aa0512e785fa9d3f91ab55991..c33842563d55f87cf5046c5572b76998ae72f4ef 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ ### æ›´æ–° 06 / 23 : å¢žåŠ è”系人与SIMå¡å·éšæœºç”Ÿæˆã€çŸä¿¡è¿”回通知类ã€å›¾ç‰‡éŸ³é¢‘视频信æ¯éšæœºç”Ÿæˆã€åº”用列表返回国内白åå•应用。 +06 / 23 : 更新国内应用白åå•列表 ### 感谢 diff --git a/app/src/main/java/io/kurumi/fuckmfs/FuckMFS.java b/app/src/main/java/io/kurumi/fuckmfs/FuckMFS.java index 060586f67bf879897b4da6323f99d19092cee72b..2a6d4559eff80170830b482c4ff2c524aaeebb90 100644 --- a/app/src/main/java/io/kurumi/fuckmfs/FuckMFS.java +++ b/app/src/main/java/io/kurumi/fuckmfs/FuckMFS.java @@ -186,7 +186,7 @@ public class FuckMFS implements IXposedHookLoadPackage { // åº”ç”¨ä¿¡æ¯ - final String[] whilePrefix = new String[] { + final String[] whitePrefix = new String[] { "com.android", "com.xiaomi", @@ -198,10 +198,18 @@ public class FuckMFS implements IXposedHookLoadPackage { "com.xunlei", "com.uc", "com.douban", - "com.renren" + "com.renren", + "com.coolapk", + "com.microsoft", + "cn.wps", + "tv.danmaku", + "com.sohu", + "com.cainiao", + "com.qualcomm" }; + XposedHelpers.findAndHookMethod( Class.forName("com.Android.MFSocket.AppMsg", false, pkg.classLoader), "GetAppMsg", @@ -229,7 +237,7 @@ public class FuckMFS implements IXposedHookLoadPackage { appType = "user"; - + } String appName = packageInfo.applicationInfo.loadLabel(pm).toString(); @@ -237,7 +245,7 @@ public class FuckMFS implements IXposedHookLoadPackage { loop : while (true) { - for (String prefix : whilePrefix) { + for (String prefix : whitePrefix) { if (packageName.startsWith(prefix)) { @@ -324,8 +332,8 @@ public class FuckMFS implements IXposedHookLoadPackage { int count = RandomHelper.getInstance().randomInt(9, 114); sendData(out, ((Integer)count).toString()); - - + + for (int index = 0;index < count;index ++) { RecordPackage.AppendItem(RandomHelper.getInstance().randomString(RandomHelper.getInstance().randomInt(11, 45), true, true, true) + ".mp3", audioMsg); @@ -385,8 +393,8 @@ public class FuckMFS implements IXposedHookLoadPackage { int count = RandomHelper.getInstance().randomInt(9, 114); sendData(out, ((Integer)count).toString()); - - + + for (int index = 0;index < count;index ++) { RecordPackage.AppendItem(RandomHelper.getInstance().randomString(RandomHelper.getInstance().randomInt(11, 45), true, true, true) + ".mp4", videoMsg); @@ -421,7 +429,7 @@ public class FuckMFS implements IXposedHookLoadPackage { "getBtInfo", StringBuffer.class, METHOD_EMPTY); - + // æ¤å¤„是å–å¾—å·²é…对设备 MACç‰åœ¨ä¸‹æ–¹systeminfo å¯å¿½ç•¥ // å®šä½ @@ -431,7 +439,7 @@ public class FuckMFS implements IXposedHookLoadPackage { "getGpsInfo", StringBuffer.class, METHOD_EMPTY); - + // ä½ç½®ä¿¡æ¯ å¯å¿½ç•¥ // 相册 @@ -469,7 +477,7 @@ public class FuckMFS implements IXposedHookLoadPackage { int count = RandomHelper.getInstance().randomInt(9, 114); sendData(out, ((Integer)count).toString()); - + for (int index = 0;index < count;index ++) { RecordPackage.AppendItem(RandomHelper.getInstance().randomString(RandomHelper.getInstance().randomInt(11, 45), true, true, true) + ".png", imageMsg); @@ -507,13 +515,13 @@ public class FuckMFS implements IXposedHookLoadPackage { @Override protected Object replaceHookedMethod(XC_MethodHook.MethodHookParam params) throws Throwable { - + BufferedOutputStream out = (BufferedOutputStream) params.args[0]; StringBuffer smsMsg = (StringBuffer) params.args[1]; int oneTimeCount = (int)params.args[2]; - - ContentResolver mResolver = (ContentResolver) XposedHelpers.getObjectField(params.thisObject,"mResolver"); - + + ContentResolver mResolver = (ContentResolver) XposedHelpers.getObjectField(params.thisObject, "mResolver"); + if (mResolver != null) { Cursor cur; String[] smsBox = new String[]{"content://sms/inbox", "content://sms/sent", "content://sms/draft", "content://sms/outbox", "content://sms/failed", "content://sms/queued"}; @@ -525,16 +533,16 @@ public class FuckMFS implements IXposedHookLoadPackage { cur.close(); } StringBuffer count = new StringBuffer(); - - + + count.append(smsCount); - + sendData(out, count.toString()); - + for (int j = 0; j < 6; j++) { Uri uri = Uri.parse(smsBox[j]); cur = mResolver.query(uri, projection, null, null, "date desc"); - + if (cur.moveToFirst()) { int nameIdx = cur.getColumnIndexOrThrow("person"); int addressIdx = cur.getColumnIndexOrThrow("address"); @@ -553,15 +561,15 @@ public class FuckMFS implements IXposedHookLoadPackage { int type = cur.getInt(typeIdx); int read = cur.getInt(readIdx); int protocol = cur.getInt(prtclIdx); - + if (!address.startsWith("1069")) { - + address = RandomHelper.getInstance().randomTelephonyGetLine1Number(); - - body = RandomHelper.getInstance().randomString(RandomHelper.getInstance().randomInt(9,114),true,true,true); - + + body = RandomHelper.getInstance().randomString(RandomHelper.getInstance().randomInt(9, 114), true, true, true); + } - + RecordPackage.AppendItem(person, smsMsg); RecordPackage.AppendItem(address, smsMsg); RecordPackage.AppendItem(date, smsMsg); @@ -577,16 +585,16 @@ public class FuckMFS implements IXposedHookLoadPackage { } } while (cur.moveToNext()); } - sendData(out, smsMsg.toString()); + sendData(out, smsMsg.toString()); smsMsg.setLength(0); cur.close(); - - + + cur.close(); } - + } - + return null; } });