迅雷协议分析–多链接资源获取(1)

作者:yang890511

分析背景: 本文基于迅雷版式本5.7.4.404

分析目的: 通过分析研究得出迅雷客户端与服务器通信,获取下载资源的链接地址,以及它们通信的加
密方式,以及附带的源码,欢迎大家讨论.
涉及算法: MD5, 128 bit AES

———————————————————————————————————-
大家都知道迅雷下载为什么这么快,因为它是通过P2SP下载的,就是可以从多个具有相同下载资源的服务器上进行下载,这样下载速度就会很快了,问题 是你要从一个指定的下载链接下载文件,它是怎么知道其它的服务器也有相同的资源了,这就是本文讨论的重点,我就不废话了.

迅雷客户端与服务器通信获取多个下载资源的一个方式就是通过http协议,通过80端口进行加密传输,类似下面
这个就是客户端向服务端58.254.39.10发送资源查询的包
0×0000    50 4F 53 54 20 2F 20 48-54 54 50 2F 31 2E 31 0D    POST / HTTP/1.1.
0×0010    0A 48 6F 73 74 3A 20 35-38 2E 32 35 34 2E 33 39    .Host: 58.254.39
0×0020    2E 31 30 3A 38 30 0D 0A-43 6F 6E 74 65 6E 74 2D    .10:80..Content-
0×0030    74 79 70 65 3A 20 61 70-70 6C 69 63 61 74 69 6F    type: applicatio
0×0040    6E 2F 6F 63 74 65 74 2D-73 74 72 65 61 6D 0D 0A    n/octet-stream..
0×0050    43 6F 6E 74 65 6E 74 2D-4C 65 6E 67 74 68 3A 20    Content-Length:
0×0060    33 39 36 0D 0A 43 6F 6E-6E 65 63 74 69 6F 6E 3A    396..Connection:
0×0070    20 4B 65 65 70 2D 41 6C-69 76 65 0D 0A 0D 0A 34     Keep-Alive….4
0×0080    00 00 00 96 00 00 00 80-01 00 00 02 3A A0 8A 5E    …?.. ….:爦^
0×0090    52 22 AC 5E FA C8 F6 54-E8 DC 9A BC E6 78 11 D9    R”琟 鯰柢毤鎥.?
0×00A0    59 C3 E8 64 8E B8 93 EA-E7 43 28 BA 16 FF C4 A9    Y描d幐撽鏑(? br /> 0×00B0    DC AB 26 7C 56 08 47 D9-A9 37 F6 C1 3A 7B 68 C8    塬&|V.G侃7隽:{h?
0×00C0    11 74 9D 62 6D 4C 6C E7-AD 08 46 70 31 AC 97 34    .t漛mLl绛.Fp1瑮4
0×00D0    AE 15 18 37 B3 97 32 91-13 F8 FB AA 30 75 10 02    ?.7硹2? ?u..
0×00E0    78 8E F6 38 1D 43 6B B9-F4 DE C4 09 23 3A 27 8B    x庼8.Ck刽弈.#:’?
0×00F0    E6 2C 5D 87 BF 4C BF BF-54 15 4E DB 8F 77 95 C0    ?]嚳L靠T.N蹚w暲
0×0100    67 EE 1E B4 B4 36 F6 EF-CF 96 77 1A EA 9E 63 11    g?创6鲲蠔w.隇c.
0×0110    40 FC E1 23 81 90 92 5E-FE 23 36 FB 1A 23 37 9A    @ #亹抆?6?#7?
0×0120    7D 20 95 CA 47 C2 DA E9-E8 FE 30 4C A0 FE 4F 6E    } 暿G纶殍?L狛On
0×0130    A0 A5 81 45 BA AF 68 EE-60 A1 D5 00 A8 DC CC 80    牓丒函h頯≌.ㄜ虁
0×0140    84 0C 19 CF 81 B9 13 C0-13 07 E8 70 05 79 15 F5    ?.蟻??.鑠.y.?
0×0150    D5 2B 05 A1 DD 34 D8 D9-C3 E7 05 70 05 79 15 F5    ?.≥4刭苗.p.y.?
0×0160    D5 2B 05 A1 DD 34 D8 D9-C3 E7 05 70 05 79 15 F5    ?.≥4刭苗.p.y.?
0×0170    D5 2B 05 A1 DD 34 D8 D9-C3 E7 05 10 3A CC 2F 13    ?.≥4刭苗..:?.
0×0180    E1 E1 8C 7B C9 C5 48 B3-85 73 55 87 EE 99 14 67    後寋膳H硡sU囶?g
0×0190    B2 1B 01 1B 56 01 2F FB-47 07 88 BD 4C D2 1A 08    ?..V./鸊.埥L?.
0×01A0    14 42 F3 F5 C2 7C 26 9E-24 00 A4 EA 5F 20 FC CA    .B篚聕&?.り_
0×01B0    80 F6 9B C9 28 5B 55 22-94 33 4F 3E 1B C6 31 23    鰶?[U”?O>.?#
0x01C0    82 B1 97 3E C1 00 2F EF-CE 06 7B AA CD A6 61 F5    偙??/镂.{ ?
0x01D0    C9 59 8E DB F6 49 73 9C-B9 08 05 C3 1E EB A6 D3    蒠庅鯥s湽..?毽?
0x01E0    0F BB 86 FD FC CC 99 89-61 A9 B1 F9 30 C7 48 B1    .粏 虣塧┍?荋?
0x01F0    79 6C 75 26 8C F5 46 F4-7F 04 ED D1 2B 16 2D 94    ylu&岝F?.硌+.-?
0x0200    2F 2C DE 6E 7B 97 E7 28-8B DA 0D

很明显从上面你看不出你熟悉的东西,通过分析,我发现了一些特征,
发现这些包的特征和结构如下:
0–3字节为命令请求
4–7字节我猜想为包序号:)
8–11字节为加密包体长度
12–最后为了加密的包体
拿上面的包为例
|<–cmd–>|   |<–seq–>|   |<-length->|
34 00 00 00 96 00 00 00 80-01 00 00接下来的数据就是AES加过密的数据了.
注意上面的数据来自于http的content数据.

既然是通过AES加密了,那密钥是什么了,它是怎么生成的了,不会是DHE吧,那我估计就歇菜了,
功能不负有心人啊,这个AES的密钥是通过包的前8个字节生成的,也就是命令请求字和序列号
和56个填充字组成的64个字节通过MD5计算出来的,刚好是16个字节.

但是这个填充的56个字节和标准的MD5填充的不一样.该填充数据如下:

80 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00
它们组合到一起就是:

34 00 00 00 96 00 00 00 80 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00
经过MD5计算得到的HASH值如下:
f5 26 32 d9 0b 36 f0 58 25 53 71 a2 ae 2f 3e d3
这个就是数据包的AES加密解密的密钥.
于是上面的数据包解密出来就是
94 01 05 00 00 00 c1 0b 10 00 00 00 30 30 31 36      ?    ?    0016
36 46 35 41 45 45 44 33 30 30 30 30 14 00 00 00      6F5AEED30000
7f 2f 32 dc d5 76 bc 1e 37 ef 83 30 0f 45 80 80      /2苷v?7飪0E
6b 83 48 91 2b 00 00 00 68 74 74 70 3a 2f 2f 64      k僅?    http://d
6f 77 6e 2e 73 61 6e 64 61 69 2e 6e 65 74 2f 54      own.sandai.net/T
68 75 6e 64 65 72 35 2e 37 2e 34 2e 34 30 34 2e      hunder5.7.4.404.
65 78 65 00 00 00 00 00 00 00 00 e0 86 6e 00 00      exe         鄦n
00 00 00 7d 7d 14 00 00 00 00 00 7a 65 13 00 00         }}      ze
00 00 00 e9 a3 46 00 00 00 00 00 00 00 00 00 50         椋F          P
00 00 00 03 00 00 00 65 78 65 0b 06 01 05 02 00            exe
20 05 00 00 00 00 00 00 00 00 00 00 00 00 00 05
02 80 d1 10 00 00 00 00 00 00 00 00 00 00 00 00      ?
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 02 00 00 00 04 00 00 00 09
00 00 00 35 2e 37 2e 34 2e 34 30 34 04 00 00 00         5.7.4.404
30 30 30 30 00 00 00 00 00 00 00 00 00 00 00 00      0000
00 00 00 00 00 00 00 00 da 3d 00 c2 c0 a8 b7 01              ? 吕ǚ
01 80 0c 00 00 00 00 00 14 00 00 00 c6 76 99 e7                苬欑
6e 66 10 4d 7c be c2 bc 40 3e 6f c2 30 9a 44 65      nfM|韭粿>o?欴e
00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00
00 14 00 00 00 54 68 75 6e 64 65 72 35 2e 37 2e          Thunder5.7.
34 2e 34 30 34 2e 65 78 65 07 07 07 07 07 07 07      4.404.exe

这就是构造的加密前的包,简单的说一下这个包的结构,你可以看到那个链接地址,
那是我下载这个程序的原始链接地址,我是用迅雷从
http://down.sandai.net/Thunder5.7.4.404.exe下载Thunder5.7.4.404.exe

那看看服务器回复的包有些什么了,
34 00 00 00 0c 00 00 00 f0 07   . n…4………
0040    00 00 66 2b 99 1a af ed 82 56 af b2 93 c2 03 84   ..f+…..V……
0050    54 4d 1e 13 6a 65 7c 37 31 32 92 2c 7f 31 b5 32   TM..je|712.,.1.2
0060    8c 1e 5f b9 b9 10 f8 63 a1 45 a8 e1 76 f8 5b 2d   .._….c.E..v.[-
0070    1d 07 7a 1d 8d e9 82 d6 b8 34 ef f2 ec 5d 1b eb   ..z……4…]..
0080    a1 24 96 c4 ad 96 3e 55 0e 73 df 75 c2 9d 8b cc   .$….>U.s.u….
0090    1e db dc b2 dc 7c 56 3a e8 01 d8 a1 a2 21 05 31   …..|V:…..!.1
00a0    b0 90 a2 40 8f 86 31 da c8 ee 85 c1 3c 5b 40 1b   …@..1…..<[@.
00b0    ef d5 5f a4 7d 96 8a 5f d3 38 7f b1 f2 bd b5 95   .._.}.._.8……
00c0    f7 15 a5 39 1a 1d 73 56 b0 12 cd 2e cf d9 fa 62   …9..sV…….b
00d0    e3 d8 08 6c 93 68 02 15 4e ca 34 d8 9c 09 fa 6a   …l.h..N.4….j
00e0    62 35 43 5e de d4 52 f8 2b 61 0c 64 c4 bd d1 0a   b5C^..R.+a.d….
00f0    fc 95 3f 22 e8 68 4d 1c 65 82 93 43 24 e7 55 5e   ..?”.hM.e..C$.U^
0100    f2 db 7e 07 3b bc bc ad 30 54 78 be f2 45 1e 2d   ..~.;…0Tx..E.-
0110    2a 6b 11 9b 9e c7 2d 31 d9 e6 d8 3b 33 c9 26 b5   *k….-1…;3.&.
0120    41 e3 61 a1 ba 90 1d 70 55 d0 93 3f a4 f9 6a 55   A.a….pU..?..jU
0130    f9 19 43 e2 6c 38 a1 57 15 aa 2e d4 18 f1 c6 fe   ..C.l8.W……..
0140    fe bf e3 e3 62 1a 9e 6f 3b ee c1 44 b1 f8 d8 23   ….b..o;..D…#
0150    2c 66 f1 c4 43 a6 9f 0b a7 d5 5c 8c e5 68 19 9f   ,f..C…..\..h..
0160    db aa 7c fa 6e 3a dd 4e f0 53 ce 45 51 25 18 8d   ..|.n:.N.S.EQ%..
0170    a0 0d f0 8f e0 b0 cb 12 6d 92 80 f4 4f eb a9 c0   ……..m…O…
0180    f4 27 4e 34 c0 8d 96 8e 3b 20 57 b0 fb df 5a 4b   .’N4….; W…ZK
0190    18 e7 2d 54 6f ad da be a6 1e 94 1e f9 2b 9f d7   ..-To……..+..
01a0    03 8d de c6 16 0b f4 a1 07 d2 15 85 7c fc 78 df   …………|.x.
01b0    26 3d a7 eb 2f 0b 5f fa 60 4a 73 a5 5a 7e 4a 4e   &=../._.`Js.Z~JN
01c0    80 a3 9a ad ae 53 b4 dc 6d a8 04 35 96 e5 93 70   …..S..m..5…p
01d0    7d 26 07 07 62 cc ce 3f ee 87 5e c4 b2 e5 0e b0   }&..b..?..^…..
01e0    b3 c5 ef dd 9b 2d ef 4b 13 2a ad 39 13 59 25 55   …..-.K.*.9.Y%U
01f0    c2 76 1b 95 74 66 2d 1c 3a 2f f6 f5 4e a4 dd 09   .v..tf-.:/..N…
0200    c8 36 66 bd cd c2 d6 ff 29 cd 20 a3 19 ab 3f d4   .6f…..). …?.
0210    75 67 b5 d4 37 18 24 c0 57 67 f4 8d 06 33 95 1b   ug..7.$.Wg…3..
0220    03 89 16 f0 b8 e5 52 4f a3 d4 be 38 c9 cc 89 65   ……RO…8…e
0230    e7 ef 32 df 2e 9f 87 a4 2f 8f c3 a3 41 77 7b cd   ..2…../…Aw{.
0240    3e b7 be 5f df c5 ef 81 ff c0 78 c1 8d ef 12 6e   >.._……x….n
0250    e0 e1 e6 d6 28 45 17 61 6c 30 ec 6d 0c 72 1a 58   ….(E.al0.m.r.X
0260    30 f7 ec 19 7e 89 cd 52 52 f8 81 b1 fa c5 b2 61   0…~..RR……a
0270    f9 e1 6f a9 8a bf 42 e0 62 0b a7 bf 27 c8 bd f4   ..o…B.b…’…
0280    ee c9 fe 2c f2 98 8e 41 4c 15 02 9f 09 8d 14 44   …,…AL……D
0290    a2 a5 53 4f 17 96 d4 d8 4b d2 e3 a7 8b 0c 86 b5   ..SO….K…….
02a0    cb cc 67 8d 33 5a 5b 66 de 89 ad e9 5a de f3 92   ..g.3Z[f….Z…
02b0    43 62 f8 36 13 8e ba e3 39 3e 08 03 88 0e c4 d0   Cb.6….9>……
02c0    5f a6 08 09 23 23 d8 7c 93 ce 78 af 34 ca 49 9e   _…##.|..x.4.I.
02d0    66 1a 07 b9 60 dc 54 5c 88 fe a9 f9 00 59 42 56   f…`.T\…..YBV
02e0    da de a8 4b df a4 b6 b1 7e a7 fa fb 0e 7f eb d7   …K….~…….
02f0    a2 06 10 f2 fe 1b cb b1 67 79 a2 10 38 3e 66 7b   ……..gy..8>f{
0300    a9 0e aa 7e b4 98 a3 56 3b fc ce 27 0f cb 17 7c   …~…V;..’…|
0310    8f 8e f5 d7 9d db 35 80 0b 8d 2e c0 1e cb e1 32   ……5……..2
0320    88 95 bd 59 b2 d2 61 2a 79 cb 3c 84 ec 24 6c 59   …Y..a*y.<..$lY
0330    bb bd b0 b5 c6 63 c4 7f 10 35 05 dd 15 ad ca a9   …..c…5……
0340    cc c2 26 7f 59 7d 70 82 83 1c 6d 17 41 bb ec 7a   ..&.Y}p…m.A..z
0350    73 1c d6 48 a8 61 8a 09 8d d1 9d 54 73 0e 5a df   s..H.a…..Ts.Z.
0360    18 bc aa 17 a3 c0 ba 94 3b bd bf 0f db 7e 8d 3e   ……..;….~.>
0370    1d 33 01 3b 7c df 28 c5 c0 36 09 49 9a 6f c3 44   .3.;|.(..6.I.o.D
0380    a0 1f b5 af 0a 1d d6 42 27 51 fe cc 95 3b 22 c5   …….B’Q…;”.
0390    84 da 97 8c 7e fa c2 eb cc 2d c2 64 f4 01 d4 71   ….~….-.d…q
03a0    6c 73 2d 46 74 ef 42 f3 c4 7d 14 96 09 ce 41 de   ls-Ft.B..}….A.
03b0    f1 95 f8 4e 9d 15 a8 96 5e 77 50 4c b6 e5 35 c2   …N….^wPL..5.
03c0    66 52 69 ba 38 67 d6 83 25 54 f1 93 67 99 01 f4   fRi.8g..%T..g…
03d0    d3 7e 46 7e 60 a2 79 9b eb fc 3f 7f e7 b1 31 cc   .~F~`.y…?…1.
03e0    b2 e7 38 4b 3a ec c8 06 2c c9 52 d3 63 85 53 e7   ..8K:…,.R.c.S.
03f0    c5 b0 85 7f b0 da 93 48 d9 42 68 0f fe d2 c5 fd   …….H.Bh…..
0400    82 22 c8 db 3f 16 e3 a2 a5 24 b5 33 5e 45 f3 05   .”..?….$.3^E..
0410    fc ed bb fc 6f 9e 8c 28 c8 c7 66 28 4f 99 b8 32   ….o..(..f(O..2
0420    31 16 48 81 a1 5e b7 2d f2 72 f7 4d f5 ad 04 7c   1.H..^.-.r.M…|
0430    c8 30 79 03 26 7a 60 48 30 0a 74 18 07 84 cf b6   .0y.&z`H0.t…..
0440    8b ab 51 bd 53 a0 bf 28 28 3d 98 3b ee 75 80 0a   ..Q.S..((=.;.u..
0450    01 d1 ba ae d8 e4 38 9d 82 25 ef 86 eb ff 7b d3   ……8..%….{.
0460    53 fd 18 af 38 e5 f3 02 0b ab 87 b7 06 2a 4d 4a   S…8……..*MJ
0470    b4 67 e8 5e 29 22 bb f0 f8 af 7c 01 85 46 6c 9b   .g.^)”….|..Fl.
0480    0c fb 92 5e ce 44 26 28 b4 cf 1d 14 98 85 f4 09   …^.D&(……..
0490    22 ac bc 16 b5 27 35 59 1e 1b f8 e9 07 e2 59 d5   “….’5Y……Y.
04a0    2f c0 db 7f 60 24 61 bc f5 fb 4c 5d 07 f8 19 ca   /…`$a…L]….
04b0    75 c7 9d f2 b1 40 e6 35 c9 22 58 32 db b4 16 24   u…[email protected].”X2…$
04c0    48 95 81 65 cb ce 68 d8 eb 18 84 64 ea b7 e6 da   H..e..h….d….
04d0    33 d1 a0 93 1d c2 af 93 ab 0d fa ac 5c d5 9b 16   3………..\…
04e0    f7 44 50 d5 0d e5 84 da 22 02 ce e3 e6 c9 5e 76   .DP…..”…..^v
04f0    47 34 c3 7d 9a 6d 18 61 dc 93 d8 56 39 0d b3 17   G4.}.m.a…V9…
0500    26 52 a0 2a db 32 5d 0c 10 08 37 e3 94 d5 a5 d2   &R.*.2]…7…..
0510    73 b9 e9 cb b8 a3 55 e6 f2 76 4b 39 ae 4f 70 d4   s…..U..vK9.Op.
0520    61 ac 0e 9d b7 69 9c 05 09 f7 5d cd 13 62 b6 74   a….i….]..b.t
0530    8f 10 c1 07 1b 5f 01 f5 80 42 e9 26 ca 3f 45 ee   ….._…B.&.?E.
0540    77 c1 6f a9 8a bf 42 e0 62 0b a7 bf 27 c8 bd f4   w.o…B.b…’…
0550    ee c9 f7 11 26 bb 9f ff 34 ab ae 90 5f 58 c3 2c   ….&…4…_X.,
0560    3c 59 f3 d3 c5 53 58 58 c9 ca 76 89 04 ad bc b2   <Y…SXX..v…..
0570    05 2d 92 c4 9e 05 6a 91 f8 dd 97 36 11 50 12 c9   .-….j….6.P..
0580    16 00 e9 37 8c e0 7c 71 0e 8c 54 f6 de 95 d8 d1   …7..|q..T…..
0590    62 85 46 c1 3f 0c f6 bb c1 81 97 d9 bf 2d 6c 4c   b.F.?……..-lL
05a0    32 89 01 e5 cb 58 60 03 8e 52 ec 77 22 dd 5d 5c   2….X`..R.w”.]\
05b0    5c d0 41 8b 2a 99 3b df 61 30 3c 81 c5 d6 51 35   \.A.*.;.a0<…Q5
05c0    19 0c 84 f3 29 a9 bc 62 97 c0 1a 13 cf a2 ca 82   ….)..b……..
05d0    d6 14 b0 7e 04 38 93 c9 cd ba 99 49 c3 08 96 f7   …~.8…..I….
05e0    98 46 b6 d7 0e 3e a4 a9 78 81                     .F…>..x.

 

本文标题:迅雷协议分析–多链接资源获取(1)
本文链接:https://www.nigesb.com/xunlei-protol-analys-1.html
订阅本站:http://www.nigesb.com/feed
转载请注明来源,如果喜欢本站可以Feed订阅本站。

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>