男人吃奶摸下挵进去好爽,日日躁夜夜躁狠狠躁,freesexvide0s性欧美高清,高清freexxxx性国产,无码人妻一区二区三区一,乱人伦中文字幕成人网站在线,亚洲欧美综合一区二区三区 ,神马影院在线视频观看
知識(shí)學(xué)堂
  • ·聯(lián)系電話:+86.023-75585550
  • ·聯(lián)系傳真:+86.023-75585550
  • ·24小時(shí)手機(jī):13896886023
  • ·QQ 咨 詢:361652718 513960520
當(dāng)前位置 > 首頁(yè) > 知識(shí)學(xué)堂 > 常見(jiàn)技術(shù)問(wèn)題
迅雷P2P通信的加密算法
更新時(shí)間:2012-02-18 | 發(fā)布人:本站 | 點(diǎn)擊率:404
共享一下迅雷P2P通信的加密算法,方便那些研究迅雷P2P通信協(xié)議的同學(xué)們:)
 
算法細(xì)節(jié)不詳細(xì)描述了,共享算法代碼,只有python版,解密出來(lái)的結(jié)果就是
 
明文協(xié)議了,接下來(lái)的事情就是做協(xié)議分析了。發(fā)一個(gè)協(xié)議通信的片斷。
 
192.168.1.103 port 10047 ---> 111.195.202.215 port 10527
 
0000  32 00 00 00 05 10 00 00 00 30 30 32 32 46 42 38  2........0022FB8
 
0010  33 41 41 41 34 38 4e 51 51 00 00 3b b4        3AAA48NQQ..;.
 
 
 
111.195.202.215 port 10527 ---> 192.168.1.103 port 10047
 
0000  32 00 00 00 06 00 00 00 00 3b b4 00 00 61 6a 00  2........;...aj.
 
0010  02 25 e2 60 24 00 00 00 00 00 00 01 00 00 00    .%.`$..........
 
 
 
192.168.1.103 port 10047 ---> 111.195.202.215 port 10527
 
0000  32 00 00 00 06 01 00 00 00 00 00 3b b4 61 57 e1  2..........;.aW.
 
0010  03 63 e1 7a 03 26 e2 60 24 00 00 05 00 00 00    .c.z.&.`$......
 
 
 
111.195.202.215 port 10527 ---> 192.168.1.103 port 10047
 
0000  32 00 00 00 11 3b b4 00 00 61 6a 00 02 00 00 01  2....;...aj.....
 
0010  00 26 e2 60 24 64 e1 7a 03 63 e1 7a 03 01 00 00  .&.`$d.z.c.z....
 
0020  00 00 00 00 00                        .....
 
算法如下
#Created by vessial
def p2p_udp_encrypt(pkt):
 
    header=random.randint(0,0xffff)
 
    t=((header&0x1fff)+0x4000)<<0x10
 
    t+=random.randint(0,0xffff)
 
    body=struct.pack('I',t)
 
    sec2=random.randint(0,0xff)
 
    body+=struct.pack('B',sec2)
 
    length=(sec2&0x03)+9
 
    pos=length
 
    for i in range(length-5):
 
        x=random.randint(0,0xff)
 
        body+=struct.pack('B',x)
 
        
 
    l=pos*7
 
    t=struct.unpack('B',body[pos-3])[0]
 
    t*=0x0d
 
    t&=0xff
 
    k=l^t
 
    header=body[:pos-2]+struct.pack('B',k)
 
    t=struct.unpack('B',header[-1])[0]
 
    t*=0x0d
 
    t&=0xff
 
    k=(l+7)^t
 
    header=header+struct.pack('B',k)
 
    out=''
 
    j=0
 
    t=array.array('B',header)
 
    buf=array.array('B',pkt)
 
    body_len=len(pkt)
 
    for i in range(body_len):
 
        j+=1
 
        if j==pos:
 
            j=0
 
        x=t[j]+0x5b
 
        x&=0xff
 
        x^=t[j-1]
 
        t[j-1]=x
 
        buf[i]=(buf[i]+x)&0xff
 
    
 
    out=header+buf.tostring()
 
    #print "out buf len is %d"%len(out)
 
    #print hexdump(out)
 
    #print hexdump(p2p_udp_decrypt(out))
 
    return out
 
        
 
def p2p_udp_decrypt(pkt):
 
    if len(pkt)<=8:
 
        return False
 
    header=struct.unpack('<I',pkt[:4])[0]
 
    header>>=0x1d
 
    if header>3:
 
        return False
 
    elif header ==1:
pass
 
    elif header ==2:
 
        byte5=struct.unpack('B',pkt[4])[0]
 
        byte5&=0x80000003
 
        byte5+=9
 
        if byte5>len(pkt):
 
            return False
 
        pos=byte5
 
        head_check=array.array('B',pkt[:pos])
 
        t=struct.unpack('B',pkt[pos-2])[0]
 
        mid=pos*7
 
        p=7*pos+7
 
        t*=0x0d
 
        t&=0xff
 
        p^=t
 
        s=struct.unpack('B',pkt[pos-1])[0]
 
        if p != s:
 
            return False
 
        
 
        t=struct.unpack('B',pkt[pos-3])[0]
 
        t*=0x0d
 
        t&=0xff
 
        t^=mid
 
        if t !=struct.unpack('B',pkt[pos-2])[0]:
 
            return False
 
        j=0
 
        body=array.array('B',pkt[pos:])
 
        body_len=len(pkt)-pos
 
        for i in range(body_len):
 
            j+=1
 
            if j==pos:
 
                j=0
 
            x=head_check[j]+0x5b
 
            x&=0xff
 
            x^=head_check[j-1]
 
            head_check[j-1]=x
 
            body[i]=(body[i]-x)&0xff
 
        
 
        x=body.tostring()  
 
        #print hexdump(x)
 
        return x                           
 
        
 
    elif header ==3:
 
        pass
 
    return False
分享到: QQ空間 新浪微博 開(kāi)心網(wǎng) 人人網(wǎng)
主站蜘蛛池模板: 天天看片视频免费观看| 成年日韩片av在线网站| 东京热一精品无码av| 亚洲人成色77777在线观看| 欧美猛男军警gay自慰| 日产电影一区二区三区| 国产精品女同一区二区| 人妻熟女av一区二区三区| 中文字幕乱码人在线视频1区| 精品国精品国产自在久国产| 东京热一精品无码av| 一个人在线观看免费完整版| 久久无码人妻一区二区三区午夜 | 国产成人精品免费视频大| 99久久久无码国产精品免费| 亚洲国产精品无码专区| 人与禽zozo性伦| 欧美影院| 国产欧美日韩a片免费软件| 777国产偷窥盗摄精品品在线| 日本黄色二区三区免费观看| 亚洲天堂男人影院| 孩交videos精品乱子| 国内精品人妻无码久久久影院| 精品日韩卡1二2卡3卡4卡乱码| 国产成a人亚洲精v品无码| 蜜桃视频app下载网站| 好男人www在线社区| 末发育娇小性色xxxxx| 婷婷涩涩五月天综合蜜桃| youjizz国产在线观看| 国产精品免费高清在线观看| 麻豆视传媒精品av| 精品国产乱码久久久久久1区2区| 人妻av综合天堂一区| 亚洲欧洲无码av不卡在线| 18禁床震无遮掩视频| 996热re视频精品视频这里| 国产精品青草久久久久福利99| 精品无人码麻豆乱码1区2区| 国产精品午夜福利视频234区|