微信群控系统源码,微信云控系统源码的升级版,一部手机操作100个微信号的核心源码实现,核心技术架构

             微信群控系统,微信云控系统都是一部手机操作一个微信号,就像我们自己使用的微信是一样的。其核心实现是使用程序操作大批量手机模拟点击微信的各项操作来代替人工,从而达到节省人工的目的。但如果操作的微信号过多则会导致手机硬件成本以及其他对应配套硬件成本的急剧增加。为此,我们在群控云控的基础上,又研发出了一部手机操作100个微信号的系统。极大的节约了人们的硬件成本,将效果和成本结合起来。

          该套系统的核心原理为:在一部手机上,模拟出上百部手机的底层硬件数据,相当于每个微信号都是一个独立的网络环境和硬件环境。每个微信号工作在自己的环境中,相当于每个威信都登陆在一个单独的手机上。

         在该系统中所使用的核心技术除了我们前面介绍的UIautomator模拟点击之外,还有就是最为关键的底层硬件信息切换和网络信息切换,使得每个微信号的工作环境都是独立的。在该系统的开发过程中,我们时针对Android系统进行开发的,当然ios的原理也是完全一样。

         首先我们先来讲解下底层信息的切换,在微信应用中,每登陆一个微信,微信服务器都会记录该微信号登陆的各种环境信息,包括了手机硬件信息,手机卡的信息,网络信息等。其记录的参数大概有40项左右。其中包括:imei,androidid,序列号,手机号,手机卡序列号,运营商,ip等等等等。

         我们知道微信多开的话,是一项比较早的技术,但该系统的每个微信号的工作环境都没办法实现隔离,微信多开,每个微信号的ip是相同的。每个微信号的硬件底层信息是相同的。而这些都是微信服务器检测的关键,也是导致微信多开大量封号的关键。

        在我们的系统中如何能够做到每个微信号的硬件底层不同,ip等网络环境也不同呢?

         我们知道微信app每次只等登陆一个微信号,在我们的系统中每个微信号登陆的时候,其相对应的环境都会切换为其最开始登陆这部手机的环境。相当于手机环境是跟着微信号的不同在变化的。每切换一个微信号,手机的整个环境就会变一次。

          在底层改变的过程中其相关部分核心代码实现为:

 

 

XposedHelpers.findAndHookMethod("android.provider.Settings.Secure", classLoader,
        "getString",ContentResolver.class,String.class, new XC_MethodHook() {
            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
               //Utilities.testWrite("/sdcard/.qunkong/mobile/testid.txt",param.args[1].toString());
                if(param.args[1].toString().equals(Settings.System.ANDROID_ID))
                {
                    String setmobile=Utilities.mobileFlagRead("androidid");
                    if(!setmobile.equals(""))
                        param.setResult(setmobile);
                }
            }
        });
XposedHelpers.findAndHookMethod("android.net.wifi.WifiInfo", classLoader,
        "getMacAddress", new XC_MethodHook() {
            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                String setmobile=Utilities.mobileFlagRead("mac");
                if(!setmobile.equals(""))
                    param.setResult(setmobile);
            }
        });
XposedHelpers.findAndHookMethod("android.net.wifi.WifiInfo", classLoader,
        "getSSID", new XC_MethodHook() {
            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                String setmobile=Utilities.mobileFlagRead("ssid");
                if(!setmobile.equals(""))
                    param.setResult(setmobile);
            }
        });

 

 

 

       一部手机操作100个微信号其核心在于每个微信号独立的环境的切换,以及微信号数据的备份与还原。下次我们将介绍每个微信号数据的被封与还原如有需要源码或者交流学习请加v:393231639。。

 

 

 

 

 

 

 

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页