• 大小: 37KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-04
  • 语言: Python
  • 标签: qq协议  

资源简介

Python实现的安卓QQ5.8协议,实现了登录、注销、QQ聊天,群聊天等功能。

资源截图

代码片段和文件信息

# -*- coding: gbk -*-
#作者:Light.紫.星
#QQ:1311817771
#翻译自 易语言 安卓QQ协议模块源码
import md5random
def list2str(data):
    t=““
    for i in data:
        #print i
        t2=str(hex(i)).replace(“0x“““).replace(“L“““)
        if(len(t2)==1):t2=“0“+t2
        t+=t2
    #print tt.decode(“hex“)
    return t.decode(“hex“)
#print list2str(“123456“)
def tohex(t):
    all=““
    for i in t:
        t2=hex(int(i)).replace(“0x“““)
        if(len(t2)==1):t2=“0“+t2
        all+=t2
    all=all.decode(“hex“)
    #print “all=“all
    #print len(all)
    return all

def findlist(rqtt):
    pos1=-1
    pos_tmp=0
    for i in range(len(rq)):
        flag=0
        pos_tmp+=1
        for j in range(len(tt)):
            if(int(rq[i])==int(tt[j])):
                i+=1
                flag+=1
            else:
                break
        #print flag
        if(flag==len(tt)):
            pos1=pos_tmp
            break
    #print pos1
    return pos1
def binmid(rqab):
    return rq[(a-1):][:b]

def tozjj(datamethod=“str2“):#到字节集
    if(method==“str2“):
        data=data.replace(“ “““)
        t=[]
        for i in range(0len(data)2):
            try:t.append(int(data[i]+data[i+1] 16))
            except:break
        return t
    elif(method==“str“):
        data=data.replace(“ “““)
        data=data.encode(“hex“)
        t=[]
        for i in range(0len(data)2):
            try:t.append(int(data[i]+data[i+1] 16))
            except:break
        return t
    elif(method==“int“):
        n=data
        t=[]
        if n==0:t=[0]
        while(n>0):
            m=n%256
            #print “m=“m
            if(m==0):m=256
            t.append(m)
            n=(n-m)/256
            #print “n=“n
        if(len(t)%4!=0):
            for i in range(4-len(t)%4):
                t.append(0)
        return t
    elif(method==“short“):
        n=data
        t=[]
        if n==0:t=[0]
        while(n>0):
            m=n%256
            if(m==0):m=256
            t.append(m)
            n=(n-m)/256
        if(len(t)%2!=0):
            t.append(0)
        return [t[0]t[1]]
    else:
        pass
class _hash:
    def __init__(s):
        s.m_plain=[0 for i in range(8)]
        s.m_preplain=[0 for i in range(8)]
        s.m_out=[]
        s.m_crypt=0
        s.m_precrypt=0
        s.m_pos=0
        s.m_padding=0
        s.m_key=[0 for i in range(16)]
        s.m_header=True
        s.m_contextstart=0
    def getuint(s_inputioffsetintlen):
        ret=0;
        if(intlen>4):
            lend=ioffset+4
        else:
            lend=ioffset+intlen
        for i in range(ioffsetlend):
            ret=ret<<8
            ret=ret | _input[i-1]
        return ret
    def tobytes(sab):
        by=[]
        by.append((a>>24)&255)
        by.append((a>>16)&255)
        by.append((a>>8)&255)
        by.append(a&255)
        by.append((b>>24)&255)
      

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-01-28 13:07  QQ5.8\
     文件       16270  2016-03-27 01:38  QQ5.8\AndroidOnly.py
     文件       20960  2016-03-27 03:23  QQ5.8\AndroidOnly.pyc
     文件       36496  2016-03-27 03:22  QQ5.8\AndroidQQ.py
     文件       35088  2016-03-27 03:23  QQ5.8\AndroidQQ.pyc
     文件       10597  2016-03-26 21:16  QQ5.8\dt.py
     文件       14726  2016-03-27 03:23  QQ5.8\dt.pyc
     文件        1166  2016-03-27 02:51  QQ5.8\main.py

评论

共有 条评论