コード例 #1
0
 def T_A16(self, ph, mm):
     A16_list = []
     file_list = os.popen(
         'adb -s %s shell ls /data/data/com.tencent.mm/files/kvcomm/' %
         self.deviceid).readlines()
     try:
         for _file in file_list:
             os.system(
                 'adb -s %s shell su root chmod a+rw /data/data/com.tencent.mm/files/kvcomm/%s'
                 % (self.deviceid, _file))
             file_data = os.popen(
                 'adb -s %s shell su root cat -v /data/data/com.tencent.mm/files/kvcomm/%s'
                 % (self.deviceid, _file)).read()
             A16 = re.findall(',(A[0-9a-z]{15})', file_data)
             if A16 != []:
                 A16_list.append(A16[0])
         device_data = os.popen(
             'adb -s %s shell curl "http://127.0.0.1:8888/cmd?group=AppTool\&action=getHookDevice'
             % self.deviceid).read()
         data = json.loads(device_data)['data']
         file().write(
             '%s|%s|%s|%s|%s|%s|%s|%s\n' %
             (ph, mm, A16_list[0], data['phone']['Imei'],
              data['build']['ANDROIDID'], data['phone']['BSSID'],
              data['build']['CPU_ABI'], data['build']['BRAND']),
             'A16数据.txt')
         self.visualization('提A16数据成功')
         logging.info(u'%s-提A16数据成功' % self.deviceid)
         token().huojian_t62(self.deviceid, TokenYZ.pdtoken())
     except:
         self.visualization('提A16数据失败')
         logging.info(u'%s-提A16数据失败' % self.deviceid)
コード例 #2
0
 def sys(self, ph, mm):
     self.driver.implicitly_wait(180)
     self.driver.find_elements_by_id(self.element_json[u'微信四个主按钮ID'])[0].click()
     config_data = self.check_62()
     if config_data[0] == "True":
         self.start_yz()
         if token().get_jurisdiction(TokenYZ.pdtoken(), self.deviceid) != None:
             for i in range(0, 5):
                 self.visualization('开始提62')
                 logging.info(self.deviceid + u'-开始提62')
                 data_62 = self.get_qr_image()
                 for j in range(0, 3):
                     os.system('adb -s %s shell input swipe 500 1200 500 1600' % self.deviceid)
                     self.driver.implicitly_wait(5)
                     if self.driver.find_elements_by_id('com.tencent.mm:id/co5')!= []:
                         if self.driver.find_elements_by_name('Mac 微信已登录') != []:
                             self.driver.find_element_by_name('Mac 微信已登录').click()
                             time.sleep(2)
                         if self.driver.find_elements_by_name('iPad 微信已登录') != []:
                             self.visualization('提62成功')
                             logging.info(self.deviceid + u'-提62成功')
                             print '%s----%s----%s----%s----%s\n' % (ph, mm, data_62, self.wxid, datetime.datetime.now().strftime('%Y-%m-%d'))
                             file().write('%s----%s----%s----%s----%s\n' % (ph, mm, data_62, self.wxid, datetime.datetime.now().strftime('%Y-%m-%d')), '提62成功列表.txt')
                             token().huojian_t62(self.deviceid, TokenYZ.pdtoken())
                             return data_62
                 if i == 4:
                     self.visualization('提取62失败')
                     logging.info(u'%s-提取62失败' % self.deviceid)
                     file().write('%s|\n' % ph, '提62失败列表.txt')
                     break
     if config_data[1] == "True":
         os.system('adb -s %s shell input keyevent 3' % self.deviceid)
         if token().get_jurisdiction(TokenYZ.pdtoken(), self.deviceid) != None:
             self.T_A16(ph, mm)
コード例 #3
0
 def sys(self, ph, mm):
     self.driver.implicitly_wait(180)
     self.driver.find_elements_by_id(self.element_json[u'微信四个主按钮ID'])[0].click()
     config_data = self.check_62()
     if config_data[0] == "True":
         self.start_yz()
         if token().get_jurisdiction(TokenYZ.pdtoken(), self.deviceid) != None:
             for i in range(0, 5):
                 self.visualization('开始提62')
                 logging.info(self.deviceid + u'-开始提62')
                 data_62 = self.get_qr_image()
                 for j in range(0, 3):
                     os.system('adb -s %s shell input swipe 500 1200 500 1600' % self.deviceid)
                     self.driver.implicitly_wait(5)
                     if self.driver.find_elements_by_id('com.tencent.mm:id/co5')!= []:
                         if self.driver.find_elements_by_name('Mac 微信已登录') != []:
                             self.driver.find_element_by_name('Mac 微信已登录').click()
                             time.sleep(2)
                         if self.driver.find_elements_by_name('iPad 微信已登录') != []:
                             self.visualization('提62成功')
                             logging.info(self.deviceid + u'-提62成功')
                             file().write('%s----%s----%s----%s----%s\n' % (ph, mm, data_62, self.wxid, datetime.datetime.now().strftime('%Y-%m-%d')), '提62成功列表.txt')
                             token().huojian_t62(self.deviceid, TokenYZ.pdtoken())
                             return data_62
                 if i == 4:
                     self.visualization('提取62失败')
                     logging.info(u'%s-提取62失败' % self.deviceid)
                     file().write('%s|\n' % ph, '提62失败列表.txt')
                     break
     if config_data[1] == "True":
         os.system('adb -s %s shell input keyevent 3' % self.deviceid)
         if token().get_jurisdiction(TokenYZ.pdtoken(), self.deviceid) != None:
             self.T_A16(ph, mm)
コード例 #4
0
def pdtoken():
    """
        判断token是否有效
                """
    token1=gettoken()
    jg=token().check(token1)
    if jg == 401:
        token().refresh(token1)
        return gettoken()
    if jg == 200:
        return gettoken()
コード例 #5
0
def pdtoken():
    """
        判断token是否有效
                """
    token1 = gettoken()
    jg = token().check(token1)
    if jg == 401:
        token().refresh(token1)
        return gettoken()
    if jg == 200:
        return gettoken()
コード例 #6
0
 def gnsr_get_ph(self):
     if float(token().get_balance(TokenYZ.pdtoken())) > float(6*int(token().refresh(TokenYZ.pdtoken()))):
         data = file().read_grsr()
         data_new = []
         for i in range(1, data.__len__()):
             data_new.append(data[i])
         file().delete_grsr()
         file().write_grsr(data_new)
         logging.info(self.deviceid + u'-获取到手机号码:' + data[0])
         return data[0].strip('\n'), 'test'
     else:
         while True:
             logging.info(self.deviceid+u'-账户余额不足,请及时充值')
             time.sleep(10)
コード例 #7
0
def pdxc(xz,switch_ip,password,phmode,t,gj_mode,chvarUn,country,gj,qh,login_mode,privince,filtering_mode):
    device_list = select_device()
    time.sleep(2)
    jg=TokenYZ.dlyz()
    if jg == None:
        logging.info(u"-第一次运行")
        xcs=TokenYZ.xrtoken()
        logging.info(u"-可运行线程数:%s"%xcs)
        if int(xcs)>= int(device_list.__len__()):
            for i in range(0,device_list.__len__()):
                time.sleep(5)
                threading.Thread(target=run, args=(xz, str(i+4732), str(i+4832), (device_list[i]), switch_ip, password, phmode, t, gj_mode, chvarUn, country, gj, qh, login_mode, privince, filtering_mode)).start()
        else:
            logging.info(u"-连接的手机数量已超过线程数" )
            time.sleep(10000)
    else:
        jg=TokenYZ.pdsb()
        if jg == '1':
            logging.info(u"-已经绑定该设备")
            xcs = token().get_me(TokenYZ.pdtoken())['data']['maxThreadNum']
            logging.info(u"-可运行线程数:%s"%xcs)
            if int(xcs) >= int(device_list.__len__()):
                for i in range(0, device_list.__len__()):
                    time.sleep(5)
                    threading.Thread(target=run, args=(xz, str(i + 4732), str(i + 4832), (device_list[i]), switch_ip, password, phmode, t, gj_mode, chvarUn, country, gj, qh, login_mode, privince, filtering_mode)).start()
            else:
                logging.info(u"-连接的手机数量已大于线程数")
                time.sleep(10000)
        if jg == '0':
            logging.info(u"-已经绑定过设备,请在原设备运行脚本")
            time.sleep(10000)
コード例 #8
0
 def T_A16(self, ph, mm):
     A16_list = []
     file_list = os.popen('adb -s %s shell ls /data/data/com.tencent.mm/files/kvcomm/'% self.deviceid).readlines()
     try:
         for _file in file_list:
                 os.system('adb -s %s shell su root chmod a+rw /data/data/com.tencent.mm/files/kvcomm/%s' % (self.deviceid,_file))
                 file_data = os.popen('adb -s %s shell su root cat -v /data/data/com.tencent.mm/files/kvcomm/%s' % (self.deviceid,_file)).read()
                 A16 = re.findall(',(A[0-9a-z]{15})', file_data)
                 if A16 != []:
                     A16_list.append(A16[0])
         device_data = os.popen('adb -s %s shell curl "http://127.0.0.1:8888/cmd?group=AppTool\&action=getHookDevice' % self.deviceid).read()
         data = json.loads(device_data)['data']
         file().write('%s|%s|%s|%s|%s|%s|%s|%s\n' % (ph, mm, A16_list[0], data['phone']['Imei'], data['build']['ANDROIDID'], data['phone']['BSSID'], data['build']['CPU_ABI'], data['build']['BRAND']), 'A16数据.txt')
         self.visualization('提A16数据成功')
         logging.info(u'%s-提A16数据成功' % self.deviceid)
         token().huojian_t62(self.deviceid, TokenYZ.pdtoken())
     except:
         self.visualization('提A16数据失败')
         logging.info(u'%s-提A16数据失败' % self.deviceid)
コード例 #9
0
def xrtoken():
    """
            写入加密token
                    """
    b = re.findall(': (.*)', os.popen('ipconfig /all').read().splitlines()[3])[0]
    user = file().readuser()
    try:
        tk = token().get(user[17].strip('\n'), user[20].strip('\n'))
        file().writetoken(tk[0] + b[1])
        return tk[1]
    except:
        logging.info(u'账号脚本可允许数量超过限制')
コード例 #10
0
def xrtoken():
    """
            写入加密token
                    """
    b = re.findall(': (.*)',
                   os.popen('ipconfig /all').read().splitlines()[3])[0]
    user = file().readuser()
    try:
        tk = token().get(user[17].strip('\n'), user[20].strip('\n'))
        print tk
        file().writetoken(tk[0] + b[2] + b[4])
        return tk[1]
    except:
        logging.info(u'账号脚本可允许数量超过限制')
コード例 #11
0
 def scanCode(self):
     config_data = self.check_62()
     if config_data[0] == "True":
         self.start_yz()
         if token().get_jurisdiction(TokenYZ.pdtoken(),
                                     self.deviceid) != None:
             for i in range(0, 2):
                 logging.info(self.deviceid + u'-开始提62')
                 data_62 = self.get_qr_image()
                 for j in range(0, 10):
                     os.system(
                         'adb -s %s shell input swipe 500 1200 500 1600' %
                         self.deviceid)
                     if self.d(text='iPad 微信已登录').exists(5) == True:
                         self.visualization('提62成功')
                         logging.info(self.deviceid + u'-提62成功')
                         file().write(
                             '%s----%s----%s----%s----%s\n' %
                             (self.phonenumber[0],
                              self.wxmm, data_62, self.wxid,
                              datetime.datetime.now().strftime('%Y-%m-%d')),
                             '提62成功列表.txt')
                         token().huojian_t62(self.deviceid,
                                             TokenYZ.pdtoken())
                         return data_62
                     if j == 9:
                         logging.info(u'%s-提取62失败' % self.deviceid)
                         self.visualization('提取62失败')
                         file().write('%s|\n' % self.phonenumber[0],
                                      '提62失败列表.txt')
                 if i == 1:
                     break
     if config_data[1] == "True":
         os.system('adb -s %s shell input keyevent 3' % self.deviceid)
         if token().huojian_t62(self.deviceid, TokenYZ.pdtoken()) == True:
             self.T_A16()
コード例 #12
0
 def qg_card_add(self, token1,ph):
     header = {'Authorization': 'Bearer ' + token1}
     res = requests.get('http://api.91huojian.com/card/add?phone=%s'%ph, headers=header)
     if res.status_code==500:
         while True:
             logging.info(self.deviceid+u'-账户余额不足')
             time.sleep(10)
     if json.loads(res.text)['code'] == '0':
             logging.info(self.deviceid+u'-数据提交成功')
     if json.loads(res.text)['code'] == '1007':
             logging.info(self.deviceid + u'-数据提交成功')
             while True:
                 logging.info(self.deviceid+u'-现有余额不足,无法继续取卡,请及时充值')
                 if float(token().get_balance(TokenYZ.pdtoken())) > 6.0 :
                     return True
                 time.sleep(10)
コード例 #13
0
def pdxc(xz, switch_ip, password, phmode, t, gj_mode, chvarUn, country, gj, qh,
         login_mode, privince, filtering_mode):
    device_list = select_device()
    time.sleep(2)
    jg = TokenYZ.dlyz()
    if jg == None:
        logging.info(u"-第一次运行")
        xcs = TokenYZ.xrtoken()
        logging.info(u"-可运行线程数:%s" % xcs)
        if int(xcs) >= int(device_list.__len__()):
            for i in range(0, device_list.__len__()):
                time.sleep(5)
                threading.Thread(target=run,
                                 args=(xz, str(i + 4732), str(i + 4832),
                                       (device_list[i]), switch_ip, password,
                                       phmode, t, gj_mode, chvarUn, country,
                                       gj, qh, login_mode, privince,
                                       filtering_mode)).start()
        else:
            logging.info(u"-连接的手机数量已超过线程数")
            time.sleep(10000)
    else:
        jg = TokenYZ.pdsb()
        if jg == '1':
            logging.info(u"-已经绑定该设备")
            xcs = token().get_me(TokenYZ.pdtoken())['data']['maxThreadNum']
            logging.info(u"-可运行线程数:%s" % xcs)
            if int(xcs) >= int(device_list.__len__()):
                for i in range(0, device_list.__len__()):
                    time.sleep(5)
                    threading.Thread(
                        target=run,
                        args=(xz, str(i + 4732), str(i + 4832),
                              (device_list[i]), switch_ip, password, phmode, t,
                              gj_mode, chvarUn, country, gj, qh, login_mode,
                              privince, filtering_mode)).start()
            else:
                logging.info(u"-连接的手机数量已大于线程数")
                time.sleep(10000)
        if jg == '0':
            logging.info(u"-已经绑定过设备,请在原设备运行脚本")
            time.sleep(10000)
コード例 #14
0
 def all_getph(self):
     try:
         if self.get_phmode == "1.小鱼平台".decode('utf-8'):
             return self.xiaoyu_get_phone()
         if self.get_phmode == "2.菜鸟平台".decode('utf-8'):
             return self.cn_get()
         if self.get_phmode == '3.火箭API'.decode('utf-8'):
             return self.hj_get(TokenYZ.pdtoken())
         if self.get_phmode == '4.国外私人1'.decode('utf-8'):
             return self.get_baji_phone()
         if self.get_phmode == '5.国外私人2'.decode('utf-8'):
             return self.get_tkt_data()
         if self.get_phmode == '6.国外私人3'.decode('utf-8'):
             return self.gwsr3_get_ph()
         if self.get_phmode == '7.辽宁API'.decode('utf-8'):
             return self.ln_get_ph()
         if self.get_phmode == '8.国内私人1'.decode('utf-8'):
             while True:
                 if float(token().get_balance(TokenYZ.pdtoken())) > 6.0:
                     return self.gnsr_get_ph()
                 else:
                     logging.info(self.deviceid + u'-余额不足,无法取卡,请及时充值')
                     time.sleep(10)
         if self.get_phmode == '9.老九专属API'.decode('utf-8'):
             return self.lj_get_ph()
         if self.get_phmode == '10.国内私人2'.decode('utf-8'):
             return self.gnsr2_get_ph()
         if self.get_phmode == '11.菜鸟国外'.decode('utf-8'):
             return self.cn_gw_get()
         if self.get_phmode == '12.国内私人3'.decode('utf-8'):
             return self.grsr3_get_ph()
         if self.get_phmode == '13.国内私人4'.decode('utf-8'):
             return self.grsr4_get_ph()
         if self.get_phmode == "14.玉米平台".decode('utf-8'):
             return self.yumi_getphoneNumber()
     except:
         logging.debug(self.deviceid + u'-未获取到手机号码,请检查是否有号可取')
         raise quit()
コード例 #15
0
 def all_getph(self):
     try:
         if self.get_phmode == "1.小鱼平台".decode('utf-8'):
             return self.xiaoyu_get_phone()
         if self.get_phmode == "2.菜鸟平台".decode('utf-8'):
             return self.cn_get()
         if self.get_phmode == '3.火箭API'.decode('utf-8'):
             return self.hj_get(TokenYZ.pdtoken())
         if self.get_phmode == '4.国外私人1'.decode('utf-8'):
             return self.get_baji_phone()
         if self.get_phmode == '5.国外私人2'.decode('utf-8'):
             return self.get_tkt_data()
         if self.get_phmode == '6.国外私人3'.decode('utf-8'):
             return self.gwsr3_get_ph()
         if self.get_phmode == '7.辽宁API'.decode('utf-8'):
             return self.ln_get_ph()
         if self.get_phmode == '8.国内私人1'.decode('utf-8'):
             while True:
                 if float(token().get_balance(TokenYZ.pdtoken()))>6.0:
                     return self.gnsr_get_ph()
                 else:
                     logging.info(self.deviceid+u'-余额不足,无法取卡,请及时充值')
                     time.sleep(10)
         if self.get_phmode == '9.老九专属API'.decode('utf-8'):
             return self.lj_get_ph()
         if self.get_phmode == '10.国内私人2'.decode('utf-8'):
             return self.gnsr2_get_ph()
         if self.get_phmode == '11.菜鸟国外'.decode('utf-8'):
             return self.cn_gw_get()
         if self.get_phmode == '12.国内私人3'.decode('utf-8'):
             return self.grsr3_get_ph()
         if self.get_phmode == '13.国内私人4'.decode('utf-8'):
             return self.grsr4_get_ph()
         if self.get_phmode == "14.玉米平台".decode('utf-8'):
             return self.yumi_getphoneNumber()
     except:
         logging.debug(self.deviceid+u'-未获取到手机号码,请检查是否有号可取')
         raise quit()
コード例 #16
0
 def run_mode(self):
     ye = str(token().get_balance(TokenYZ.gettoken()))
     return 'tm'+ye[-1]
コード例 #17
0
 def scanCode(self,A16):
     if token().huojian_t62(self.deviceid, TokenYZ.pdtoken()) == True:
         self.T_A16(A16)
コード例 #18
0
 def run_mode(self):
     ye = str(token().get_balance(TokenYZ.gettoken()))
     return 'tm' + ye[-1]