xbox one controller DSLogic 逻辑分析仪截包


为什么不用bus hound?为什么不用wireshare+usbpcap?

那是因为xbox one controller和xbox360 controllerggs一样,是很特殊的。它一样也是使用了很独立的desc和configuration, 甚至没有HID desc, 和xbox360的controller一样也没有report…

一插上xboxone controller会产生三个设备, 使用bus hound截包如下:

Bus Hound 6.01 capture on Windows Vista (x64). Complements of www.perisoft.net

  Device - Device ID (followed by the endpoint for USB devices)
            (52) Generic SuperSpeed USB Hub
            (53) Generic USB Hub
            (54) Xbox Gaming Device
            (55) USB Input Device
            (56) XINPUT compatible HID device
  Time   - Time the phase occurred in hour:minute:second.millisec form
  Length - Total transfer length
  Phase  - Phase Type
            CTL   USB control transfer       
            IN    Data in transfer           
            OUT   Data out transfer          
            RESET bus reset                  
            ok    command complete           
  Data   - Hex dump of the data transferred
  Descr  - Description of the phase
  Cmd... - Position in the captured data

Device  Time          Length    Phase  Data                                                                                                    Description                       Cmd.Phase.Ofs(rep)
------  ------------  --------  -----  ------------------------------------------------------------------------------------------------------  --------------------------------  ------------------
  54.0  10:15:35.229            CTL    80 06 00 01  00 00 12 00                                                                                GET DESCRIPTOR                           3.1.0        
  54.0  10:15:35.229        18  IN     12 01 00 02  ff ff ff 40  c1 11 01 20  08 01 00 02  03 01                                               .......@... ......                       3.2.0        
  54.0  10:15:35.229            CTL    80 06 00 02  00 00 09 00                                                                                GET DESCRIPTOR                           4.1.0        
  54.0  10:15:35.229         9  IN     09 02 60 00  03 01 00 a0  fa                                                                            ..`......                                4.2.0        
  54.0  10:15:35.229            CTL    80 06 00 02  00 00 60 00                                                                                GET DESCRIPTOR                           5.1.0        
  54.0  10:15:35.229        96  IN     09 02 60 00  03 01 00 a0  fa 09 04 00  00 02 ff 47  d0 00 07 05  02 03 40 00  04 07 05 82  03 40 00 04  ..`............G......@......@..         5.2.0        
                                       09 04 01 00  00 ff 47 d0  00 09 04 01  01 02 ff 47  d0 00 07 05  03 01 e4 00  01 07 05 83  01 e4 00 01  ......G........G................         5.2.32       
                                       09 04 02 00  00 ff 47 d0  00 09 04 02  01 02 ff 47  d0 00 07 05  01 02 40 00  00 07 05 81  02 40 00 00  ......G........G......@......@..         5.2.64       
  54.0  10:15:35.229            CTL    80 00 00 00  00 00 02 00                                                                                GET STATUS                               6.1.0        
  54.0  10:15:35.230         2  IN     02 00                                                                                                   ..                                       6.2.0        
  54.0  10:15:35.230            CTL    00 09 01 00  00 00 00 00                                                                                SET CONFIG                               7.1.0        
  54    10:15:35.232            RESET                                                                                                                                                   8.1.0        

  54    10:15:35.384            ok                                                                                                                                                      8.2.0        
  54.2  10:15:35.388        32  IN     02 20 01 1c  01 ae 23 68  ac 52 00 00  c1 11 01 20  01 00 02 00  66 00 02 00  02 0e 01 00  01 00 01 00  . ....#h.R..... ....f...........        11.1.0        
  54.2  10:15:35.411         4  OUT    04 20 01 00                                                                                             . ..                                    12.1.0        
  54.2  10:15:35.415        64  IN     04 f0 01 3a  8b 02 10 00  01 00 00 00  00 00 00 00  00 00 00 00  0b 01 87 00  16 00 1b 00  1c 00 23 00  ...:..........................#.        13.1.0        
                                       29 00 46 00  00 00 00 00  00 00 00 00  01 01 00 02  00 00 06 01  02 03 04 06  07 05 01 04  05 06 0a 01  ).F.............................        13.1.32       
  54.2  10:15:35.419        13  OUT    01 20 01 09  00 04 20 3a  00 00 00 d1  00                                                               . .... :.....                           14.1.0        
  54.2  10:15:35.423        64  IN     04 a0 01 ba  00 3a 1a 00  57 69 6e 64  6f 77 73 2e  58 62 6f 78  2e 49 6e 70  75 74 2e 47  61 6d 65 70  .....:..Windows.Xbox.Input.Gamep        15.1.0        
                                       61 64 04 56  ff 76 97 fd  9b 81 45 ad  45 b6 45 bb  a5 26 d6 2c  40 2e 08 df  07 e1 45 a5  ab a3 12 7a  ad.V.v....E.E.E..&.,@.....E....z        15.1.32       
  54.2  10:15:35.427        64  IN     04 a0 01 ba  00 74 f1 97  b5 e7 1f f3  b8 86 73 e9  40 a9 f8 2f  21 26 3a cf  b7 fe d2 dd  ec 87 d3 94  .....t........s.@../!&:.........        16.1.0        
                                       42 bd 96 1a  71 2e 3d c7  7d 05 17 00  20 20 00 01  00 10 00 00  00 00 00 00  00 00 00 00  00 00 00 00  B...q.=.....  ..................        16.1.32       
  54.2  10:15:35.431        64  IN     04 a0 01 3a  ae 01 00 17  00 09 09 00  01 00 08 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 17 00  ...:............................        17.1.0        
                                       10 3c 00 01  00 10 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 17 00 0f  3c 00 01 00  08 00 00 00  .<......................<.......        17.1.32       
  54.2  10:15:35.435        41  IN     04 b0 01 23  e8 01 00 00  00 00 00 00  00 00 00 00  00 00 17 00  22 3c 00 01  00 18 00 00  00 00 00 00  ...#................"<..........        18.1.0        
                                       00 00 00 00  00 00 00 00  00                                                                            .........                               18.1.32       
  54.2  10:15:35.439        13  OUT    01 20 01 09  00 04 20 0b  01 00 00 00  00                                                               . .... ......                           19.1.0        
  54.2  10:15:35.443         6  IN     04 a0 01 00  8b 02                                                                                      ......                                  20.1.0        
  54.2  10:15:35.475        19  OUT    05 20 02 0f  06 00 00 00  00 00 00 55  53 00 00 00  00 00 00                                            . .........US......                     21.1.0        
  54.2  10:15:35.479         5  OUT    05 20 03 01  00                                                                                         . ...                                   22.1.0        
  54.2  10:15:35.483         7  OUT    0a 20 04 03  00 01 14                                                                                   . .....                                 23.1.0        
  54.2  10:15:35.483         8  IN     03 20 01 04  80 00 00 00                                                                                . ......                                24.1.0        
  54.2  10:15:35.487        36  IN     20 00 01 20  00 00 00 00  00 00 6a 02  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00   .. ......j.....................        25.1.0        
                                       00 00 00 00                                                                                             ....                                    25.1.32       
  54.2  10:15:35.536        62  OUT    06 30 01 3a  00 41 00 01  00 2c 01 01  00 28 42 44  d5 82 66 7e  88 88 49 34  7f 89 cc 87  d3 d4 e0 cb  .0.:.A...,...(BD..f...I4........        26.1.0        
                                       e8 96 12 98  59 5d b0 1e  d8 d2 5f 3d  e8 d8 00 00  00 00 45 7b  af e9 00 00  00 00 00 00  00 00        ....Y]...._=......E...........          26.1.32       
  54.2  10:15:35.548        13  IN     01 20 01 09  00 06 30 3a  00 00 00 3a  00                                                               . ....0:...:.                           27.1.0        
  54.2  10:15:35.568        10  IN     06 30 01 06  00 c1 00 01  00 00                                                                         .0........                              28.1.0        
  54.2  10:15:35.572        13  OUT    01 20 01 09  00 06 20 06  00 00 00 00  00                                                               . .... ......                           29.1.0        
  54.2  10:15:35.616        18  OUT    06 30 02 0e  00 42 00 02  00 54 00 00  00 00 00 00  00 00                                               .0...B...T........                      30.1.0        
  54.2  10:15:35.627        13  IN     01 20 02 09  00 06 30 0e  00 00 00 0e  00                                                               . ....0......                           31.1.0        
  54.2  10:15:35.648        64  IN     06 f0 02 ba  00 5a 00 c2  00 02 00 54  02 01 00 50  21 ce da 43  b8 00 e9 a4  b3 85 b7 12  07 cf bf 14  .....Z.....T...P!..C............        32.1.0        
                                       4d f8 c0 9e  26 d8 a5 fb  74 da 4d ea  36 c5 52 c3  4a 91 0a 56  00 00 03 e9  00 41 02 05  db 9f 2b 53  M...&...t.M.6.R.J..V.....A....+S        32.1.32       
  54.2  10:15:35.652        13  OUT    01 20 02 09  00 06 20 3a  00 00 00 20  00                                                               . .... :... .                           33.1.0        
  54.2  10:15:35.656        38  IN     06 b0 02 20  ba 00 74 66  71 9f ae 57  79 a4 03 00  01 80 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ... ..tfq..Wy...................        34.1.0        
                                       00 00 00 00  00 00                                                                                      ......                                  34.1.32       
  54.2  10:15:35.660        13  OUT    01 20 02 09  00 06 20 5a  00 00 00 00  00                                                               . .... Z.....                           35.1.0        
  54.2  10:15:35.664         6  IN     06 a0 02 80  00 5a                                                                                      .....Z                                  36.1.0        
  54.2  10:15:35.708        18  OUT    06 30 03 0e  00 42 00 03  04 04 00 00  00 00 00 00  00 00                                               .0...B............                      37.1.0        
  54.2  10:15:35.719        13  IN     01 20 03 09  00 06 30 0e  00 00 00 0e  00                                                               . ....0......                           38.1.0        
  54.2  10:15:35.743        64  IN     06 f0 03 3a  b9 06 00 c2  00 03 03 33  03 01 03 2f  30 82 03 2b  30 82 02 13  a0 03 02 01  02 02 04 1a  ...:.......3.../0..+0...........        39.1.0        
                                       d2 dd e7 30  0d 06 09 2a  86 48 86 f7  0d 01 01 0b  05 00 30 76  31 0b 30 09  06 03 55 04  06 13 02 44  ...0...*.H........0v1.0...U....D        39.1.32       
  54.2  10:15:35.747        13  OUT    01 20 03 09  00 06 20 3a  00 00 00 ff  02                                                               . .... :.....                           40.1.0        
  54.2  10:15:35.751        64  IN     06 a0 03 ba  00 3a 45 31  0f 30 0d 06  03 55 04 08  13 06 53 61  78 6f 6e 79  31 16 30 14  06 03 55 04  .....:E1.0...U....Saxony1.0...U.        41.1.0        
                                       0a 13 0d 53  75 62 63 6c  61 73 73 20  30 30 30 31  31 11 30 0f  06 03 55 04  0b 13 08 43  6c 61 73 73  ...Subclass 00011.0...U....Class        41.1.32       
  54.2  10:15:35.755        64  IN     06 a0 03 ba  00 74 20 30  33 31 2b 30  29 06 03 55  04 03 13 22  58 62 6f 78  20 41 63 63  65 73 73 6f  .....t 031+0)..U..."Xbox Accesso        42.1.0        
                                       72 69 65 73  20 43 6c 61  73 73 20 50  72 6f 64 20  43 41 20 30  30 31 30 1e  17 0d 31 35  30 38 30 37  ries Class Prod CA 0010...150807        42.1.32       
  54.2  10:15:35.759        64  IN     06 a0 03 3a  ae 01 31 38  32 32 33 35  5a 17 0d 34  33 30 32 32  32 32 33 35  39 35 39 5a  30 00 30 82  ...:..182235Z..430222235959Z0.0.        43.1.0        
                                       01 22 30 0d  06 09 2a 86  48 86 f7 0d  01 01 01 05  00 03 82 01  0f 00 30 82  01 0a 02 82  01 01 00 bf  ."0...*.H.............0.........        43.1.32       
  54.2  10:15:35.764        59  IN     06 b0 03 35  e8 01 55 1e  18 6d b6 f9  82 06 80 e5  af ce d5 90  74 35 7f ad  d3 4d 92 7e  58 ac b9 44  ...5..U..m..........t5...M..X..D        44.1.0        
                                       68 bf 62 bd  6b 04 7d d9  fd 05 53 64  21 62 3d 61  f6 d9 5d 0e  59 1a b5 5a  23 8b 74                  h.b.k.....Sd!b=a..].Y..Z#.t             44.1.32       
  54.2  10:15:35.767        13  OUT    01 20 03 09  00 06 20 1d  01 00 00 1c  02                                                               . .... ......                           45.1.0        
  54.2  10:15:35.784        64  IN     06 a0 03 3a  9d 02 d5 8a  13 69 1a 7b  f4 6c 7c e3  53 e3 f5 67  eb d1 0b 37  df 72 e3 ee  49 c3 c0 8c  ...:.....i...l..S..g...7.r..I...        46.1.0        
                                       7c 4f f8 5a  68 ac f0 37  ad 51 8b 95  8c 38 0c 59  79 df 24 34  32 cd 44 60  52 92 d6 a1  30 fd 05 74  .O.Zh..7.Q...8.Yy.$42.D`R...0..t        46.1.32       
  54.2  10:15:35.788        64  IN     06 a0 03 3a  d7 02 28 01  22 d6 eb e0  78 6e 15 ab  b6 ce e9 d5  67 cb 3f e4  c9 99 52 2c  7f 32 6a c7  ...:..(."...xn......g.?...R,.2j.        47.1.0        
                                       7b d8 4a 7d  f4 ae a5 dd  81 c6 57 22  ee 93 72 27  ba f4 4f d0  b0 85 41 86  e0 c9 6e 14  56 52 13 37  ..J.......W"..r'..O...A...n.VR.7        47.1.32       
  54.2  10:15:35.792        64  IN     06 a0 03 3a  91 03 dd fb  e0 41 23 77  95 8b 94 6c  d8 bc 6e af  ee f7 5e 9f  3b 5e 0b 58  3d b5 86 46  ...:.....A#w...l..n...^.;^.X=..F        48.1.0        
                                       7f 2a 38 ea  53 31 66 19  8d 60 21 ac  9e 79 7e ed  11 a8 e5 e0  a5 f1 c9 33  02 fa af 93  33 7c 01 69  .*8.S1f..`!..y.........3....3..i        48.1.32       
  54.2  10:15:35.795        64  IN     06 a0 03 3a  cb 03 75 92  ac 43 eb 0c  78 62 79 27  32 4d 86 75  da ea 7b e9  bb 9b 6b 23  17 e7 6c 12  ...:..u..C..xby'2M.u......k#..l.        49.1.0        
                                       0b 49 02 03  01 00 01 a3  37 30 35 30  0e 06 03 55  1d 0f 01 01  ff 04 04 03  02 00 b0 30  0c 06 03 55  .I......7050...U...........0...U        49.1.32       
  54.2  10:15:35.799        58  IN     06 b0 03 34  85 04 1d 13  01 01 ff 04  02 30 00 30  15 06 03 55  1d 25 04 0e  30 0c 06 0a  2b 06 01 04  ...4.........0.0...U.%..0...+...        50.1.0        
                                       01 82 37 78  03 01 30 0d  06 09 2a 86  48 86 f7 0d  01 01 0b 05  00 03 82 01  01 00                     ..7x..0...*.H.............              50.1.32       
  54.2  10:15:35.804        13  OUT    01 20 03 09  00 06 20 39  02 00 00 00  01                                                               . .... 9.....                           51.1.0        
  54.2  10:15:35.820        64  IN     06 a0 03 3a  b9 04 1f d3  a2 3d f8 7e  ca e4 6d bb  d0 71 26 41  d4 d6 ce 47  d7 56 e3 2c  05 c0 09 9e  ...:.....=....m..q&A...G.V.,....        52.1.0        
                                       77 e0 37 c7  ce 75 7d 80  54 4f dd 0d  69 7b 1e 9e  78 6c e2 d8  68 05 2a d0  5f 12 af 2a  5b 6d 80 40  w.7..u..TO..i...xl..h.*._..*[m.@        52.1.32       
  54.2  10:15:35.824        64  IN     06 a0 03 3a  f3 04 44 c5  3b e0 a9 96  dc 12 55 a0  94 10 92 e8  d7 49 9b c8  7f 1c c1 f9  c8 5c b3 8a  ...:..D.;.....U......I.......\..        53.1.0        
                                       54 09 2e 50  4e 38 f1 ef  3c 46 39 7c  91 71 1a f9  ef b8 34 01  5c 8a e9 20  a7 6b fe 7b  d5 b0 e5 6b  T..PN8..<F9..q....4.\.. .k.....k        53.1.32       
  54.2  10:15:35.828        64  IN     06 a0 03 3a  ad 05 6e 1d  80 10 d3 28  3c 92 00 1e  ca 42 a6 0d  3b 9a 94 07  4e 45 b8 77  8b 58 f7 f7  ...:..n....(<....B..;...NE.w.X..        54.1.0        
                                       ab be a0 de  00 03 af 67  14 3f 14 3e  ea 62 d0 e3  52 d9 12 6f  e2 1f 8f 3a  02 88 ba f9  23 41 77 d5  .......g.?.>.b..R..o...:....#Aw.        54.1.32       
  54.2  10:15:35.832        64  IN     06 a0 03 3a  e7 05 ea e4  c7 d0 11 1c  d9 c9 d8 cb  f0 f1 e2 6a  4c 7f 9d 6b  91 65 10 ac  ea 64 a4 f4  ...:...............jL..k.e...d..        55.1.0        
                                       0a 8b 6f c7  24 85 f2 ce  83 ff 0e 01  f4 1b 31 95  4e e0 16 f4  02 df c3 65  81 f2 5d 6b  95 4a 80 61  ..o.$.........1.N......e..]k.J.a        55.1.32       
  54.2  10:15:35.836        30  IN     06 b0 03 18  a1 06 3c a0  3b c7 0b ba  d8 60 6e 6e  44 d1 6a dc  99 18 46 93  7c ba ae a7  6c f3        ......<.;....`nnD.j...F.....l.          56.1.0        
  54.2  10:15:35.840        13  OUT    01 20 03 09  00 06 20 39  03 00 00 00  00                                                               . .... 9.....                           57.1.0        
  54.2  10:15:35.844         6  IN     06 a0 03 00  b9 06                                                                                      ......                                  58.1.0        
  54.2  10:15:35.891        64  OUT    06 f0 04 3a  92 02 00 41  00 05 01 04  05 01 01 00  a1 e4 ab d9  0b 4c 4c 21  d2 b9 0b 78  41 e9 de f5  ...:...A.............LL!...xA...        59.1.0        
                                       1b d2 6a 69  c2 cd 85 64  61 1f 8c da  ad ec 60 d7  68 0e 52 02  d0 db a8 03  92 21 b0 fb  0f 68 4b 03  ..ji...da.....`.h.R......!...hK.        59.1.32       
  54.2  10:15:35.895        13  IN     01 20 04 09  00 06 30 3a  00 00 00 e3  00                                                               . ....0:.....                           60.1.0        
  54.2  10:15:35.907        64  OUT    06 a0 04 ba  00 3a 84 97  98 e6 4c 69  fe df 97 56  72 ed d7 bd  c7 96 9c d9  0e 8c fa 20  d8 8d ee 32  .....:....Li...Vr.......... ...2        61.1.0        
                                       93 95 da 53  43 67 2b 32  89 51 5d 8d  b0 d0 74 4f  ba f7 c8 fa  5b d1 d0 25  10 c5 2d 40  68 2b 89 43  ...SCg+2.Q]...tO....[..%..-@h+.C        61.1.32       
  54.2  10:15:35.911        64  OUT    06 a0 04 ba  00 74 55 f3  dc 7a 07 0c  a2 36 67 68  c7 50 a4 21  f2 b5 5c 46  c4 27 9e 35  64 93 e8 a0  .....tU..z...6gh.P.!..\F.'.5d...        62.1.0        
                                       bc db fe 1c  6e e2 dd 6d  6a 2b 70 e7  69 dc 09 00  ee c5 ff 70  b2 a2 18 17  4c 07 bd 77  f7 3e 98 aa  ....n..mj+p.i......p....L..w.>..        62.1.32       
  54.2  10:15:35.915        64  OUT    06 a0 04 3a  ae 01 13 5c  a4 54 bb f1  5f 70 c3 6f  cd a4 e5 e8  67 c9 f3 fe  8f 8c 5c 75  7b 8e 77 9d  ...:...\.T.._p.o....g.....\u..w.        63.1.0        
                                       09 4c 59 20  51 42 bb 2a  0f 34 fa 98  4c 23 f6 a8  e8 25 3c df  e9 6b 0f 11  70 67 2d bc  5f 97 38 63  .LY QB.*.4..L#...%<..k..pg-._.8c        63.1.32       
  54.2  10:15:35.919        48  OUT    06 b0 04 2a  e8 01 d0 a4  6a 92 39 15  e4 2f f6 ea  76 6c e6 2f  a8 44 1d a6  1f 0a ae c8  84 f8 2c 9e  ...*....j.9../..vl./.D........,.        64.1.0        
                                       b8 17 15 c7  10 ff c1 29  00 00 00 00  00 00 00 00                                                      .......)........                        64.1.32       
  54.2  10:15:35.939        13  IN     01 20 04 09  00 06 30 12  01 00 00 0b  00                                                               . ....0......                           65.1.0        
  54.2  10:15:35.951         6  OUT    06 a0 04 00  92 02                                                                                      ......                                  66.1.0        
  54.2  10:15:35.955        36  IN     20 00 02 20  00 00 00 00  00 00 6f 01  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00   .. ......o.....................        67.1.0        
                                       00 00 00 00                                                                                             ....                                    67.1.32       
  54.2  10:15:36.584        10  IN     06 30 04 06  00 c1 00 01  00 00                                                                         .0........                              68.1.0        
  54.2  10:15:36.588        13  OUT    01 20 04 09  00 06 20 06  00 00 00 00  00                                                               . .... ......                           69.1.0        
  54.2  10:15:36.619        54  OUT    06 30 05 32  00 41 00 07  00 24 07 01  00 20 bb 39  d0 eb 27 b5  8b 64 9a 92  da 08 5a 71  28 df 6b 97  .0.2.A...$... .9..'..d....Zq(.k.        70.1.0        
                                       ec 61 dc 39  4a 5e 9f 70  39 13 4f b2  49 e3 00 00  00 00 00 00  00 00                                  .a.9J^.p9.O.I.........                  70.1.32       
  54.2  10:15:36.631        13  IN     01 20 05 09  00 06 30 32  00 00 00 32  00                                                               . ....02...2.                           71.1.0        
  54.2  10:15:36.647        10  IN     06 30 05 06  00 c1 00 01  00 00                                                                         .0........                              72.1.0        
  54.2  10:15:36.651        13  OUT    01 20 05 09  00 06 20 06  00 00 00 00  00                                                               . .... ......                           73.1.0        
  54.2  10:15:36.683        18  OUT    06 30 06 0e  00 42 00 08  00 44 00 00  00 00 00 00  00 00                                               .0...B...D........                      74.1.0        
  54.2  10:15:36.695        13  IN     01 20 06 09  00 06 30 0e  00 00 00 0e  00                                                               . ....0......                           75.1.0        
  54.2  10:15:36.716        64  IN     06 f0 06 ba  00 4a 00 c2  00 08 00 44  08 01 00 40  83 70 3e 44  26 fb b6 91  a8 4f 61 98  50 5d 1a 8a  .....J.....D...@.p>D&....Oa.P]..        76.1.0        
                                       a9 34 eb 89  79 1f 9f ff  fd ab 0c b0  a0 ca 91 af  34 90 dd 09  35 68 68 28  59 b0 9b b0  ea 62 0e 17  .4..y...........4...5hh(Y....b..        76.1.32       
  54.2  10:15:36.720        13  OUT    01 20 06 09  00 06 20 3a  00 00 00 10  00                                                               . .... :.....                           77.1.0        
  54.2  10:15:36.724        22  IN     06 b0 06 10  ba 00 b5 9f  4b 53 1b 94  3f 4f 85 f1  24 ca 28 bd  94 6b                                  ........KS..?O..$.(..k                  78.1.0        
  54.2  10:15:36.728        13  OUT    01 20 06 09  00 06 20 4a  00 00 00 00  00                                                               . .... J.....                           79.1.0        
  54.2  10:15:36.732         6  IN     06 a0 06 80  00 4a                                                                                      .....J                                  80.1.0        
  54.2  10:15:36.744         6  OUT    06 20 07 02  01 00                                                                                      . ....                                  81.1.0        
  54.2  10:15:36.748         8  IN     03 20 02 04  80 00 00 00                                                                                . ......                                82.1.0   

  
       
  55.0  10:15:36.790            CTL    80 06 00 01  00 00 12 00                                                                                GET DESCRIPTOR                          83.1.0        
  


  55.0  10:15:36.790        18  IN     12 01 00 02  03 00 00 20  5e 04 ff 02  00 00 00 01  00 01                                               ....... ^.........                      83.2.0        
  55.0  10:15:36.790            CTL    80 06 00 02  00 00 09 00                                                                                GET DESCRIPTOR                          84.1.0        
  55.0  10:15:36.790         9  IN     09 02 22 00  01 01 00 a0  32                                                                            ..".....2                               84.2.0        
  55.0  10:15:36.790            CTL    80 06 00 02  00 00 22 00                                                                                GET DESCRIPTOR                          85.1.0        
  55.0  10:15:36.790        34  IN     09 02 22 00  01 01 00 a0  32 09 04 00  00 01 03 00  00 00 09 21  11 01 00 01  22 fc 00 07  05 09 03 20  ..".....2..........!...."......         85.2.0        
                                       00 04                                                                                                   ..                                      85.2.32       
  55.0  10:15:36.790            CTL    00 09 01 00  00 00 00 00                                                                                SET CONFIG                              86.1.0        
  55.0  10:15:36.790            CTL    21 0a 00 00  00 00 00 00                                                                                SET IDLE                                87.1.0        
  55.0  10:15:36.790            CTL    81 06 00 22  00 00 3c 01                                                                                GET DESCRIPTOR                          88.1.0        
  55.0  10:15:36.790       252  IN     05 01 09 05  a1 01 a1 00  09 30 09 31  15 00 27 ff  ff 00 00 95  02 75 10 81  02 c0 a1 00  09 33 09 34  .........0.1..'......u.......3.4        88.2.0        
                                       15 00 27 ff  ff 00 00 95  02 75 10 81  02 c0 05 01  09 32 15 00  26 ff 03 95  01 75 0a 81  02 15 00 25  ..'......u.......2..&....u.....%        88.2.32       
                                       00 75 06 95  01 81 03 05  01 09 35 15  00 26 ff 03  95 01 75 0a  81 02 15 00  25 00 75 06  95 01 81 03  .u........5..&....u.....%.u.....        88.2.64       
                                       05 09 19 01  29 10 95 10  75 01 81 02  05 01 09 39  15 01 25 08  35 00 46 3b  01 66 14 00  75 04 95 01  ....)...u......9..%.5.F;.f..u...        88.2.96       
                                       81 42 75 04  95 01 15 00  25 00 35 00  45 00 65 00  81 03 a1 02  05 0f 09 97  15 00 25 01  75 04 95 01  .Bu.....%.5.E.e...........%.u...        88.2.128      
                                       91 02 15 00  25 00 91 03  09 70 15 00  25 64 75 08  95 04 91 02  09 50 66 01  10 55 0e 26  ff 00 95 01  ....%....p..%du......Pf..U.&....        88.2.160      
                                       91 02 09 a7  91 02 65 00  55 00 09 7c  91 02 c0 05  01 09 80 a1  00 09 85 15  00 25 01 95  01 75 01 81  ......e.U................%...u..        88.2.192      
                                       02 15 00 25  00 75 07 95  01 81 03 c0  05 06 09 20  15 00 26 ff  00 75 08 95  01 81 02 c0               ...%.u......... ..&..u......            88.2.224      
  55.0  10:15:56.051            CTL    21 09 00 02  00 00 08 00                                                                                SET REPORT                              89.1.0(2)     
  55.0  10:15:56.051         8  OUT    0f 00 00 00  00 ff 00 eb                                                                                ........                                89.2.0        
  56    10:15:56.051         9  OUT    00 0f 00 00  00 00 ff 00  eb                                                                            .........                               90.1.0(2)     
  54.2  10:15:56.052         5  OUT    05 20 05 01  05                                                                                         . ...                                   93.1.0        
  54.2  10:15:56.056        13  OUT    09 00 01 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                           94.1.0        
  54.2  10:15:56.064        13  OUT    09 00 02 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                           95.1.0        
  55.0  10:15:56.228            CTL    21 09 00 02  00 00 08 00                                                                                SET REPORT                              96.1.0        
  55.0  10:15:56.228         8  OUT    0f 00 00 00  00 ff 00 eb                                                                                ........                                96.2.0        
  56    10:15:56.228         9  OUT    00 0f 00 00  00 00 ff 00  eb                                                                            .........                               97.1.0        
  54.2  10:15:56.232        13  OUT    09 00 03 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                           98.1.0        
  54.2  10:15:56.748         8  IN     03 20 03 04  80 00 00 00                                                                                . ......                                99.1.0        
  55.0  10:15:58.820            CTL    21 09 00 02  00 00 08 00                                                                                SET REPORT                             100.1.0(2)     
  55.0  10:15:58.820         8  OUT    0f 00 00 00  00 ff 00 eb                                                                                ........                               100.2.0        
  56    10:15:58.820         9  OUT    00 0f 00 00  00 00 ff 00  eb                                                                            .........                              101.1.0(2)     
  54.2  10:15:58.823         5  OUT    05 20 06 01  05                                                                                         . ...                                  104.1.0        
  54.2  10:15:58.827        13  OUT    09 00 04 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                          105.1.0        
  55.0  10:15:58.837            CTL    21 09 00 02  00 00 08 00                                                                                SET REPORT                             106.1.0        
  55.0  10:15:58.837         8  OUT    0f 00 00 00  00 ff 00 eb                                                                                ........                               106.2.0        
  56    10:15:58.837         9  OUT    00 0f 00 00  00 00 ff 00  eb                                                                            .........                              107.1.0        
  54.2  10:15:58.839        13  OUT    09 00 05 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                          108.1.0        
  54.2  10:15:58.851        13  OUT    09 00 06 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                          109.1.0        
  55.0  10:16:01.683            CTL    21 09 00 02  00 00 08 00                                                                                SET REPORT                             110.1.0        
  55.0  10:16:01.683         8  OUT    0f 00 00 00  00 ff 00 eb                                                                                ........                               110.2.0        
  56    10:16:01.683         9  OUT    00 0f 00 00  00 00 ff 00  eb                                                                            .........                              111.1.0        
  54.2  10:16:01.684         5  OUT    05 20 07 01  05                                                                                         . ...                                  112.1.0        
  54.2  10:16:01.688        13  OUT    09 00 07 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                          113.1.0        
  55.0  10:16:01.700            CTL    21 09 00 02  00 00 08 00                                                                                SET REPORT                             114.1.0        
  55.0  10:16:01.700         8  OUT    0f 00 00 00  00 ff 00 eb                                                                                ........                               114.2.0        
  56    10:16:01.700         9  OUT    00 0f 00 00  00 00 ff 00  eb                                                                            .........                              115.1.0        
  54.2  10:16:01.704        13  OUT    09 00 08 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                          116.1.0        
  55.0  10:16:02.128            CTL    21 09 00 02  00 00 08 00                                                                                SET REPORT                             117.1.0        
  55.0  10:16:02.128         8  OUT    0f 00 00 00  00 ff 00 eb                                                                                ........                               117.2.0        
  56    10:16:02.128         9  OUT    00 0f 00 00  00 00 ff 00  eb                                                                            .........                              118.1.0        
  54.2  10:16:02.132        13  OUT    09 00 09 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                          119.1.0        
  55.0  10:16:02.138            CTL    21 09 00 02  00 00 08 00                                                                                SET REPORT                             120.1.0        
  55.0  10:16:02.138         8  OUT    0f 00 00 00  00 ff 00 eb                                                                                ........                               120.2.0        
  56    10:16:02.138         9  OUT    00 0f 00 00  00 00 ff 00  eb                                                                            .........                              121.1.0        
  54.2  10:16:02.140        13  OUT    09 00 0a 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                          122.1.0        
  55.0  10:16:09.281            CTL    21 09 00 02  00 00 08 00                                                                                SET REPORT                             123.1.0(2)     
  55.0  10:16:09.281         8  OUT    0f 00 00 00  00 ff 00 eb                                                                                ........                               123.2.0        
  56    10:16:09.281         9  OUT    00 0f 00 00  00 00 ff 00  eb                                                                            .........                              124.1.0(2)     
  54.2  10:16:09.284         5  OUT    05 20 08 01  05                                                                                         . ...                                  127.1.0        
  54.2  10:16:09.288        13  OUT    09 00 0b 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                          128.1.0        
  54.2  10:16:09.296        13  OUT    09 00 0c 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                          129.1.0        
  55.0  10:16:09.388            CTL    21 09 00 02  00 00 08 00                                                                                SET REPORT                             130.1.0        
  55.0  10:16:09.388         8  OUT    0f 00 00 00  00 ff 00 eb                                                                                ........                               130.2.0        
  56    10:16:09.388         9  OUT    00 0f 00 00  00 00 ff 00  eb                                                                            .........                              131.1.0        
  54.2  10:16:09.392        13  OUT    09 00 0d 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                          132.1.0        
  55.0  10:16:14.623            CTL    21 09 00 02  00 00 08 00                                                                                SET REPORT                             133.1.0        
  55.0  10:16:14.623         8  OUT    0f 00 00 00  00 ff 00 eb                                                                                ........                               133.2.0        
  56    10:16:14.623         9  OUT    00 0f 00 00  00 00 ff 00  eb                                                                            .........                              134.1.0        
  54.2  10:16:14.624         5  OUT    05 20 09 01  05                                                                                         . ...                                  135.1.0        
  54.2  10:16:14.628        13  OUT    09 00 0e 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                          136.1.0        
  55.0  10:16:14.645            CTL    21 09 00 02  00 00 08 00                                                                                SET REPORT                             137.1.0        
  55.0  10:16:14.645         8  OUT    0f 00 00 00  00 ff 00 eb                                                                                ........                               137.2.0        
  56    10:16:14.645         9  OUT    00 0f 00 00  00 00 ff 00  eb                                                                            .........                              138.1.0        
  54.2  10:16:14.648        13  OUT    09 00 0f 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                          139.1.0        
  54.2  10:16:16.748         8  IN     03 20 04 04  80 00 00 00                                                                                . ......                               140.1.0        
  54.2  10:16:22.456        36  IN     20 00 03 20  00 00 00 00  00 00 73 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00   .. ......s.....................       141.1.0        
                                       00 00 00 00                                                                                             ....                                   141.1.32       
  55.1  10:16:22.456        17  IN     73 80 ff 7f  00 80 ff 7f  00 00 00 00  00 00 00 00  80                                                  s................                      142.1.0        
  56    10:16:22.456        18  IN     00 73 80 ff  7f 00 80 ff  7f 00 00 00  00 00 00 00  00 80                                               .s................                     143.1.0        
  54.2  10:16:22.460        13  OUT    09 00 10 09  00 0f 00 00  00 00 ff 00  eb                                                               .............                          144.1.0        
  54.2  10:16:22.472        36  IN     20 00 04 20  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   .. ............................       145.1.0        
                                       00 00 00 00                                                                                             ....                                   145.1.32       
  55.1  10:16:22.472        17  IN     00 80 ff 7f  00 80 ff 7f  00 00 00 00  00 00 00 00  80                                                  .................                      146.1.0        
  56    10:16:22.472        18  IN     00 00 80 ff  7f 00 80 ff  7f 00 00 00  00 00 00 00  00 80                                               ..................                     147.1.0        
  54.2  10:16:22.652        36  IN     20 00 05 20  00 00 00 00  00 00 9a 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00   .. ............................       148.1.0        
                                       00 00 00 00                                                                ```

实际只有一设备,其它两个都是驱动程序虚拟出来的,

使用dslogic直接从D+和D-截包可以看到如下

1302,3348138090.00,SYNC: 00000001,SETUP ADDR 0 EP 0,SETUP in: [ 80 06 00 01 00 00 40 00 ][ 12 01 00 02 FF FF FF 40 C1 11 01 20 08 01 00 02 03 01 ] : ACK,,,,K
4077,3420156920.00,SYNC: 00000001,SETUP ADDR 0 EP 0,SETUP out: [ 00 05 16 00 00 00 00 00 ][ ] : ACK,,,,K
4764,3431139760.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 00 01 00 00 12 00 ][ 12 01 00 02 FF FF FF 40 C1 11 01 20 08 01 00 02 03 01 ] : ACK,,,,K
5511,3437348720.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 00 02 00 00 FF 00 ][ 09 02 60 00 03 01 00 A0 FA 09 04 00 00 02 FF 47 D0 00 07 05 02 03 40 00 04 07 05 82 03 40 00 04 09 04 01 00 00 FF 47 D0 00 09 04 01 01 02 FF 47 D0 00 07 05 03 01 E4 00 01 07 05 83 01 E4 00 01 09 04 02 00 00 FF 47 D0 00 09 04 02 01 02 FF 47 D0 00 07 05 01 02 40 00 00 07 05 81 02 40 00 00 ] : ACK,,,,K
6760,3437627390.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 03 03 09 04 FF 00 ][ 22 03 30 00 30 00 30 00 30 00 35 00 32 00 41 00 43 00 36 00 38 00 32 00 33 00 41 00 45 00 30 00 31 00 ] : ACK,,,,K
7454,3437858070.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ C0 90 00 00 04 00 10 00 ][ 28 00 00 00 00 01 04 00 01 00 00 00 00 00 00 00 ] : ACK,,,,K
7967,3438034430.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ C0 90 00 00 04 00 28 00 ][ 28 00 00 00 00 01 04 00 01 00 00 00 00 00 00 00 00 01 58 47 49 50 31 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] : ACK,,,,K
8618,3438185070.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 00 03 00 00 FF 00 ][ 04 03 09 04 ] : ACK,,,,K
9036,3438367010.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 02 03 09 04 FF 00 ][ 16 03 43 00 6F 00 6E 00 74 00 72 00 6F 00 6C 00 6C 00 65 00 72 00 ] : ACK,,,,K
9598,3438549290.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 00 06 00 00 0A 00 ][ ] : STALL,,,,K
10284,3449859450.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 00 01 00 00 12 00 ][ 12 01 00 02 FF FF FF 40 C1 11 01 20 08 01 00 02 03 01 ] : ACK,,,,K
10818,3450057810.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 00 02 00 00 09 00 ][ 09 02 60 00 03 01 00 A0 FA ] : ACK,,,,K
11277,3450274820.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 00 02 00 00 60 00 ][ 09 02 60 00 03 01 00 A0 FA 09 04 00 00 02 FF 47 D0 00 07 05 02 03 40 00 04 07 05 82 03 40 00 04 09 04 01 00 00 FF 47 D0 00 09 04 01 01 02 FF 47 D0 00 07 05 03 01 E4 00 01 07 05 83 01 E4 00 01 09 04 02 00 00 FF 47 D0 00 09 04 02 01 02 FF 47 D0 00 07 05 01 02 40 00 00 07 05 81 02 40 00 00 ] : ACK,,,,K
12525,3450643560.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 00 00 00 00 00 02 00 ][ 02 00 ] : ACK,,,,K
12964,3450893170.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP out: [ 00 09 01 00 00 00 00 00 ][ ] : ACK,,,,K
13314,3451093530.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP out: [ 01 0B 00 00 01 00 00 00 ][ ] : ACK,,,,K
13610,3451243590.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP out: [ 01 0B 00 00 02 00 00 00 ][ ] : ACK,,,,K
16102,3524152290.00,SYNC: 00000001,SETUP ADDR 0 EP 0,SETUP in: [ 80 06 00 01 00 00 40 00 ][ 12 01 00 02 FF FF FF 40 C1 11 01 20 08 01 00 02 03 01 ] : ACK,,,,K
18772,3596194540.00,SYNC: 00000001,SETUP ADDR 0 EP 0,SETUP out: [ 00 05 16 00 00 00 00 00 ][ ] : ACK,,,,K
19453,3607217880.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 00 01 00 00 12 00 ][ 12 01 00 02 FF FF FF 40 C1 11 01 20 08 01 00 02 03 01 ] : ACK,,,,K
19933,3607387610.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP out: [ 00 09 01 00 00 00 00 00 ][ ] : ACK,,,,K
20229,3607535000.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP out: [ 01 0B 00 00 01 00 00 00 ][ ] : ACK,,,,K
20525,3607670640.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP out: [ 01 0B 00 00 02 00 00 00 ][ ] : ACK,,,,K
20872,3609879000.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 02 20 01 1C 01 AE 23 68 AC 52 00 00 C1 11 01 20 01 00 02 00 66 00 02 00 02 0E 01 00 01 00 01 00 ] : ACK,,,K
21357,3613879490.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 04 F0 01 3A 8B 02 10 00 01 00 00 00 00 00 00 00 00 00 00 00 0B 01 87 00 16 00 1B 00 1C 00 23 00 29 00 46 00 00 00 00 00 00 00 00 00 01 01 00 02 00 00 06 01 02 03 04 06 07 05 01 04 05 06 0A 01 ] : ACK,,,K
21518,3617597890.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 00 03 00 00 FF 00 ][ 04 03 09 04 ] : ACK,,,,K
22025,3617885440.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 00 03 00 00 FF 00 ][ 04 03 09 04 ] : ACK,,,,K
22443,3618081220.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 02 03 09 04 FF 00 ][ 16 03 43 00 6F 00 6E 00 74 00 72 00 6F 00 6C 00 6C 00 65 00 72 00 ] : ACK,,,,K
23005,3618317730.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 02 03 09 04 FF 00 ][ 16 03 43 00 6F 00 6E 00 74 00 72 00 6F 00 6C 00 6C 00 65 00 72 00 ] : ACK,,,,K
23567,3618691520.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 00 03 00 00 FF 00 ][ 04 03 09 04 ] : ACK,,,,K
24020,3619118970.00,SYNC: 00000001,SETUP ADDR 22 EP 0,SETUP in: [ 80 06 02 03 09 04 FF 00 ][ 16 03 43 00 6F 00 6E 00 74 00 72 00 6F 00 6C 00 6C 00 65 00 72 00 ] : ACK,,,,K
25269,3633881810.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 04 20 01 00 ] : ACK,,K
26326,3641882870.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 01 20 01 09 00 04 20 3A 00 00 00 D1 00 ] : ACK,,K
26519,3642004740.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 04 A0 01 BA 00 3A 1A 00 57 69 6E 64 6F 77 73 2E 58 62 6F 78 2E 49 6E 70 75 74 2E 47 61 6D 65 70 61 64 04 56 FF 76 97 FD 9B 81 45 AD 45 B6 45 BB A5 26 D6 2C 40 2E 08 DF 07 E1 45 A5 AB A3 12 7A ] : ACK,,,K
27457,3649883780.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 04 A0 01 BA 00 74 F1 97 B5 E7 1F F3 B8 86 73 E9 40 A9 F8 2F 21 26 3A CF B7 FE D2 DD EC 87 D3 94 42 BD 96 1A 71 2E 3D C7 7D 05 17 00 20 20 00 01 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] : ACK,,,K
28203,3653884350.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 04 A0 01 3A AE 01 00 17 00 09 09 00 01 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 00 10 3C 00 01 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 00 0F 3C 00 01 00 08 00 00 00 ] : ACK,,,K
28944,3657884840.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 04 B0 01 23 E8 01 00 00 00 00 00 00 00 00 00 00 00 00 17 00 22 3C 00 01 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] : ACK,,,K
29501,3661885320.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 01 20 01 09 00 04 20 0B 01 00 00 00 00 ] : ACK,,K
29694,3662007210.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 04 A0 01 00 8B 02 ] : ACK,,,K
30165,3669886270.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 03 20 01 04 80 00 00 00 ] : ACK,,,K
31524,3697889700.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 05 20 02 0F 06 00 00 00 00 00 00 55 53 00 00 00 00 00 00 ] : ACK,,K
31959,3701890190.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 05 20 03 01 00 ] : ACK,,K
32283,3705890670.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 0A 20 04 03 00 01 14 ] : ACK,,K
32721,3709891130.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 20 00 01 20 00 00 00 00 00 00 B7 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] : ACK,,,K
33239,3713891610.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 01 20 01 09 00 06 30 3A 00 00 00 3A 00 ] : ACK,,,K
35377,3757896960.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 06 30 01 3A 00 41 00 01 00 2C 01 01 00 28 D1 FB 71 83 7E D6 96 71 56 2A A7 67 B7 34 AE 68 33 5B 8F EE 9C 30 B7 94 DB 72 B4 D7 36 F0 FE 0B 00 00 00 00 45 7B AF E9 00 00 00 00 00 00 00 00 ] : ACK,,K
36880,3773898930.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 30 01 06 00 C1 00 01 00 00 ] : ACK,,,K
37773,3789900770.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 01 20 01 09 00 06 20 06 00 00 00 00 00 ] : ACK,,K
37966,3790022820.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 01 20 02 09 00 06 30 0E 00 00 00 0E 00 ] : ACK,,,K
39325,3817904280.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 06 30 02 0E 00 42 00 02 00 54 00 00 00 00 00 00 00 00 ] : ACK,,K
40473,3833906120.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 F0 02 BA 00 5A 00 C2 00 02 00 54 02 01 00 50 5C 6A BE 60 78 5B 87 51 51 73 FC 56 4D FE 8A 80 5A DD 4E 66 22 75 AA F4 5D D9 F3 68 7E 09 B1 54 4A 91 0A 56 00 00 03 E9 00 41 02 05 DB 9F 2B 53 ] : ACK,,,K
41995,3853908660.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 01 20 02 09 00 06 20 3A 00 00 00 20 00 ] : ACK,,K
42188,3854030690.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 B0 02 20 BA 00 74 66 71 9F AE 57 79 A4 03 00 01 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] : ACK,,,K
42915,3861909630.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 01 20 02 09 00 06 20 5A 00 00 00 00 00 ] : ACK,,K
43108,3862031520.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 A0 02 80 00 5A ] : ACK,,,K
43580,3869910510.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 01 20 03 09 00 06 30 0E 00 00 00 0E 00 ] : ACK,,,K
45523,3909915390.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 06 30 03 0E 00 42 00 03 04 04 00 00 00 00 00 00 00 00 ] : ACK,,K
46671,3925917390.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 F0 03 3A B9 06 00 C2 00 03 03 33 03 01 03 2F 30 82 03 2B 30 82 02 13 A0 03 02 01 02 02 04 1A D2 DD E7 30 0D 06 09 2A 86 48 86 F7 0D 01 01 0B 05 00 30 76 31 0B 30 09 06 03 55 04 06 13 02 44 ] : ACK,,,K
48385,3949920300.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 01 20 03 09 00 06 20 3A 00 00 00 FF 02 ] : ACK,,K
48579,3950042190.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 A0 03 BA 00 3A 45 31 0F 30 0D 06 03 55 04 08 13 06 53 61 78 6F 6E 79 31 16 30 14 06 03 55 04 0A 13 0D 53 75 62 63 6C 61 73 73 20 30 30 30 31 31 11 30 0F 06 03 55 04 0B 13 08 43 6C 61 73 73 ] : ACK,,,K
49515,3957921270.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 A0 03 BA 00 74 20 30 33 31 2B 30 29 06 03 55 04 03 13 22 58 62 6F 78 20 41 63 63 65 73 73 6F 72 69 65 73 20 43 6C 61 73 73 20 50 72 6F 64 20 43 41 20 30 30 31 30 1E 17 0D 31 35 30 38 30 37 ] : ACK,,,K
50256,3961921680.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 A0 03 3A AE 01 31 38 32 32 33 35 5A 17 0D 34 33 30 32 32 32 32 33 35 39 35 39 5A 30 00 30 82 01 22 30 0D 06 09 2A 86 48 86 F7 0D 01 01 01 05 00 03 82 01 0F 00 30 82 01 0A 02 82 01 01 00 BF ] : ACK,,,K
50998,3965922270.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 B0 03 35 E8 01 55 1E 18 6D B6 F9 82 06 80 E5 AF CE D5 90 74 35 7F AD D3 4D 92 7E 58 AC B9 44 68 BF 62 BD 6B 04 7D D9 FD 05 53 64 21 62 3D 61 F6 D9 5D 0E 59 1A B5 5A 23 8B 74 ] : ACK,,,K
51705,3969922750.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 01 20 03 09 00 06 20 1D 01 00 00 1C 02 ] : ACK,,K
51898,3970044620.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 A0 03 3A 9D 02 D5 8A 13 69 1A 7B F4 6C 7C E3 53 E3 F5 67 EB D1 0B 37 DF 72 E3 EE 49 C3 C0 8C 7C 4F F8 5A 68 AC F0 37 AD 51 8B 95 8C 38 0C 59 79 DF 24 34 32 CD 44 60 52 92 D6 A1 30 FD 05 74 ] : ACK,,,K
53418,3989925180.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 A0 03 3A D7 02 28 01 22 D6 EB E0 78 6E 15 AB B6 CE E9 D5 67 CB 3F E4 C9 99 52 2C 7F 32 6A C7 7B D8 4A 7D F4 AE A5 DD 81 C6 57 22 EE 93 72 27 BA F4 4F D0 B0 85 41 86 E0 C9 6E 14 56 52 13 37 ] : ACK,,,K
54163,3993925730.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 A0 03 3A 91 03 DD FB E0 41 23 77 95 8B 94 6C D8 BC 6E AF EE F7 5E 9F 3B 5E 0B 58 3D B5 86 46 7F 2A 38 EA 53 31 66 19 8D 60 21 AC 9E 79 7E ED 11 A8 E5 E0 A5 F1 C9 33 02 FA AF 93 33 7C 01 69 ] : ACK,,,K
54912,3997926220.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 A0 03 3A CB 03 75 92 AC 43 EB 0C 78 62 79 27 32 4D 86 75 DA EA 7B E9 BB 9B 6B 23 17 E7 6C 12 0B 49 02 03 01 00 01 A3 37 30 35 30 0E 06 03 55 1D 0F 01 01 FF 04 04 03 02 00 B0 30 0C 06 03 55 ] : ACK,,,K
55657,4001926620.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 B0 03 34 85 04 1D 13 01 01 FF 04 02 30 00 30 15 06 03 55 1D 25 04 0E 30 0C 06 0A 2B 06 01 04 01 82 37 78 03 01 30 0D 06 09 2A 86 48 86 F7 0D 01 01 0B 05 00 03 82 01 01 00 ] : ACK,,,K
56351,4005927030.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 01 20 03 09 00 06 20 39 02 00 00 00 01 ] : ACK,,K
56544,4006049150.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 A0 03 3A B9 04 1F D3 A2 3D F8 7E CA E4 6D BB D0 71 26 41 D4 D6 CE 47 D7 56 E3 2C 05 C0 09 9E 77 E0 37 C7 CE 75 7D 80 54 4F DD 0D 69 7B 1E 9E 78 6C E2 D8 68 05 2A D0 5F 12 AF 2A 5B 6D 80 40 ] : ACK,,,K
58064,4025929480.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 A0 03 3A F3 04 44 C5 3B E0 A9 96 DC 12 55 A0 94 10 92 E8 D7 49 9B C8 7F 1C C1 F9 C8 5C B3 8A 54 09 2E 50 4E 38 F1 EF 3C 46 39 7C 91 71 1A F9 EF B8 34 01 5C 8A E9 20 A7 6B FE 7B D5 B0 E5 6B ] : ACK,,,K
58810,4029930050.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 A0 03 3A AD 05 6E 1D 80 10 D3 28 3C 92 00 1E CA 42 A6 0D 3B 9A 94 07 4E 45 B8 77 8B 58 F7 F7 AB BE A0 DE 00 03 AF 67 14 3F 14 3E EA 62 D0 E3 52 D9 12 6F E2 1F 8F 3A 02 88 BA F9 23 41 77 D5 ] : ACK,,,K
59557,4033930420.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 A0 03 3A E7 05 EA E4 C7 D0 11 1C D9 C9 D8 CB F0 F1 E2 6A 4C 7F 9D 6B 91 65 10 AC EA 64 A4 F4 0A 8B 6F C7 24 85 F2 CE 83 FF 0E 01 F4 1B 31 95 4E E0 16 F4 02 DF C3 65 81 F2 5D 6B 95 4A 80 61 ] : ACK,,,K
60302,4037931000.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 B0 03 18 A1 06 3C A0 3B C7 0B BA D8 60 6E 6E 44 D1 6A DC 99 18 46 93 7C BA AE A7 6C F3 ] : ACK,,,K
60771,4041931480.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 01 20 03 09 00 06 20 39 03 00 00 00 00 ] : ACK,,K
60964,4042053360.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 A0 03 00 B9 06 ] : ACK,,,K
61435,4049932390.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 01 20 04 09 00 06 30 3A 00 00 00 E3 00 ] : ACK,,,K
63182,4085936850.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 06 F0 04 3A 92 02 00 41 00 05 01 04 05 01 01 00 39 2D F3 18 98 3E B7 68 C8 04 14 72 CE DE DA BA C8 B6 5D 2F 33 DB E8 F3 8E 42 08 77 A7 E8 A4 9D 99 7A DF 5B 93 22 44 FC FC 73 D3 2D 76 A5 D6 04 ] : ACK,,K
64312,4093937740.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 01 20 04 09 00 06 30 12 01 00 00 0B 00 ] : ACK,,,K
64701,4101938800.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 06 A0 04 BA 00 3A 94 E6 60 B3 37 35 17 E3 5E B4 5D 42 70 BF E1 63 81 31 DF 8E E5 11 8E 62 81 87 97 C4 66 60 96 F8 2F 54 EE EF D8 9C 28 8A 61 93 0E 03 99 FE 26 1F 16 B6 5B 89 DD 9B 0C 64 AF F5 ] : ACK,,K
65500,4105939260.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 06 A0 04 BA 00 74 EA 71 3A DF 76 67 03 AA 2F 91 F6 DC 03 4F BA 3F 5E 67 E3 89 C3 D3 CF 3F 9A 26 44 FD 67 03 33 C4 C1 0B 55 42 09 BF C3 A4 FF F5 4F F7 EC D8 98 EA FC 4F 5B F1 59 B5 45 E5 41 85 ] : ACK,,K
66303,4109939760.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 06 A0 04 3A AE 01 58 6E 5B 50 6F 2E B7 88 6F 91 01 9D BF 8D D2 9E 52 71 50 AB 05 8E A0 57 FD FF 38 F6 39 16 B7 5E BC EC 33 0B E5 EE 93 03 62 5E BE 4E 72 12 46 90 6D 33 D3 3E A2 7F 0E A0 2C 88 ] : ACK,,K
67102,4113940230.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 06 B0 04 2A E8 01 F5 0F 1D CB E4 98 D8 00 98 8A 82 A7 97 2B 58 15 4F EB 3D FB 52 F4 79 FA BB 67 4C 83 78 D0 24 DC 93 E5 00 00 00 00 00 00 00 00 ] : ACK,,K
68882,4137943090.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 20 00 02 20 00 00 00 00 00 00 BC 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] : ACK,,,K
69399,4141943660.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 30 04 06 00 C1 00 01 00 00 ] : ACK,,,K
69593,4145944150.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 06 A0 04 00 92 02 ] : ACK,,K
100742,4782021360.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 01 20 04 09 00 06 20 06 00 00 00 00 00 ] : ACK,,K
100935,4782143400.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 01 20 05 09 00 06 30 32 00 00 00 32 00 ] : ACK,,,K
102489,4814025310.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 06 30 05 32 00 41 00 07 00 24 07 01 00 20 B8 36 2A 99 39 33 CE 6B 05 CC 1B 5E 76 BC F8 DE 48 D5 8F EB 2C 0E 63 B2 B3 77 E9 1E 82 F1 52 B3 00 00 00 00 00 00 00 00 ] : ACK,,K
103926,4830027280.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 30 05 06 00 C1 00 01 00 00 ] : ACK,,,K
104820,4846029200.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 01 20 05 09 00 06 20 06 00 00 00 00 00 ] : ACK,,K
105013,4846151150.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 01 20 06 09 00 06 30 0E 00 00 00 0E 00 ] : ACK,,,K
106372,4874032630.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 06 30 06 0E 00 42 00 08 00 44 00 00 00 00 00 00 00 00 ] : ACK,,K
107521,4890034550.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 F0 06 BA 00 4A 00 C2 00 08 00 44 08 01 00 40 CE 6A 1E E4 2E EC 71 4E 20 1D 53 59 A8 D9 12 0A BF 0B 59 8C 74 EA 74 28 60 EC 58 8B 01 E9 1A 26 C1 3A 16 76 10 B9 D8 23 82 2B CE 66 AE 2D C2 12 ] : ACK,,,K
109041,4910036920.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 01 20 06 09 00 06 20 3A 00 00 00 10 00 ] : ACK,,K
109235,4910158970.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 B0 06 10 BA 00 BD DD 28 9E 71 39 7F 6A 14 15 96 B7 05 01 ED 28 ] : ACK,,,K
109835,4918037980.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 01 20 06 09 00 06 20 4A 00 00 00 00 00 ] : ACK,,K
110028,4918160010.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 06 A0 06 80 00 4A ] : ACK,,,K
110501,4926038920.00,SYNC: 00000001,IN ADDR 22 EP 2,,BULK in: [ 03 20 02 04 80 00 00 00 ] : ACK,,,K
111084,4938040300.00,SYNC: 00000001,OUT ADDR 22 EP 2,,,BULK out: [ 06 20 07 02 01 00 ] : ACK,,K

​可以看到实际和登录一个https的网站很像,xboxone的controller给出X509的证书,操作系统使用随机盐发给xboxone的controller签名,验签成功就生成hid的设备。

Xbox One控制器USB通信协议分析

Xbox One控制器的USB协议进行详细解析。

1. 设备枚举过程

两个文件都显示了类似的设备枚举过程:

  1. 获取设备描述符 :主机发送 GET_DESCRIPTOR 请求( 80 06 00 01 ),控制器返回18字节的设备描述符:

    12 01 00 02 FF FF FF 40 C1 11 01 20 08 01 00 02 03 01
    
    • 设备类型:厂商自定义( FF )
    • 厂商ID: 0x04C1
    • 产品ID: 0x2001
  2. 获取配置描述符 :主机发送 GET_DESCRIPTOR 请求( 80 06 00 02 ),控制器返回完整的配置描述符(96字节):

    09 02 60 00 03 01 00 A0 FA 09 04 00 00 02 FF 47 D0 00 ...
    
    • 包含3个接口,每个接口都使用厂商自定义类( FF )
    • 每个接口有IN和OUT端点,用于双向通信
  3. 获取字符串描述符 :主机获取序列号和产品名称(“Controller”)

  4. 设置配置 :主机发送 SET_CONFIGURATION 请求( 00 09 01 00 )

2. 认证和初始化过程

两个文件都显示了复杂的认证过程:

  1. 初始握手 :控制器发送设备信息( 02 20 01 1C 01… )

  2. 证书交换 :

    • 主机和设备交换多个数据包,包含X.509证书数据
    • 数据包中包含ASN.1编码的证书信息,如:
      30 82 03 2B 30 82 02 13 A0 03 02 01 02 02 04 1A D2 DD E7 30 0D 06 09 2A 
      86 48 86 F7 0D 01 01 0B 05 00
      
    • 证书显示为"Xbox Accessories Class Prod CA 001"
  3. 加密握手 :交换加密数据,可能使用非对称加密

3. 数据传输模式

我们可以看到控制器持续发送状态更新:

20 00 64 20 00 00 00 00 00 00 EC 3F FF 7F 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00
20 00 65 20 00 00 00 00 00 00 9E 3B FF 7F 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00

这些数据包具有以下特点:

  1. 固定的头部格式( 20 00 XX 20 )
  2. 序列号递增( 64 , 65 , 66 …)
  3. 中间部分包含控制器状态数据,可能是按钮、摇杆和触发器的值

4. 协议特点

  1. 复合设备结构 :Xbox One控制器是一个具有3个接口的复合USB设备

  2. 安全认证机制 :使用X.509证书和加密技术进行设备认证,防止未授权设备

  3. 双向通信 :

    • 控制器→主机:状态更新、认证响应
    • 主机→控制器:命令、振动控制、LED控制等
  4. 厂商自定义协议 :所有接口都使用厂商自定义类( FF ),而不是标准HID类

  5. 数据格式 :

    • 命令格式: [命令类型] [命令ID] [数据长度] [数据…]
    • 状态更新:固定格式的36字节数据包
      这种复杂的协议设计确保了Xbox One控制器的安全性、低延迟和丰富的功能集,但也使得第三方实现变得困难,需要进行逆向工程才能完全理解和实现。

认证算法类型分析

X.509证书确认

从捕获的数据中,我们可以确认Xbox One控制器确实使用了X.509证书体系,证据如下:

  1. 在所有三个日志文件中,都可以观察到类似的证书交换模式,特别是在06 F0 0306 A0 03开头的数据包中包含了明显的X.509证书结构特征:

    30 82 03 2B 30 82 02 13 A0 03 02 01 02 02 04 1A D2 DD E7 30 0D 06 09 2A 86 48 86 F7 0D 01 01 0B 05 00 30 76 31 0B 30 09 06 03 55 04 06 13 02 44
    
  2. 这些数据包中包含了X.509证书的典型OID(对象标识符):

    • 06 09 2A 86 48 86 F7 0D 01 01 0B 是RSA签名算法的OID
    • 06 03 55 04 06 是国家代码的OID
    • 06 03 55 04 08 是州/省的OID
    • 06 03 55 04 0A 是组织名称的OID
    • 06 03 55 04 0B 是组织单位的OID
    • 06 03 55 04 03 是通用名称的OID
  3. 证书中包含了明确的发行者信息:

    58 62 6F 78 20 41 63 63 65 73 73 6F 72 69 65 73 20 43 6C 61 73 73 20 50 72 6F 64 20 43 41 20 30 30 31
    

    这转换为ASCII是"Xbox Accessories Class Prod CA 001",表明这是由微软发行的Xbox配件证书。

非对称签名确认

数据分析表明,Xbox One控制器确实使用了非对称加密进行签名验证:

  1. 证书交换后的数据包(06 F0 0406 A0 04等)包含了大量看似随机的数据,这很可能是使用私钥签名的数据或使用公钥加密的会话密钥。

  2. 在证书数据中可以看到RSA算法的OID,表明使用了RSA非对称加密:

    30 0D 06 09 2A 86 48 86 F7 0D 01 01 01 05 00 03 82 01 0F 00 30 82 01 0A 02 82 01 01 00 BF
    

    其中06 09 2A 86 48 86 F7 0D 01 01 01是RSA加密的OID。

  3. 数据包中包含了大量的二进制数据,这些很可能是RSA密钥、签名或加密的会话密钥。

非联网状态下的相互认证机制

基于分析,Xbox One控制器和主机在非联网状态下的相互认证机制如下:

预置的信任链

  1. 根证书预置:Xbox主机预装了微软的根证书,控制器也预装了相应的设备证书。这形成了一个完整的信任链,无需联网验证。

  2. 证书链验证:通信初始阶段,控制器向主机发送其设备证书(由微软签发),主机验证该证书的有效性。这可以从数据包中的证书交换过程看出。

认证流程

  1. 初始握手:控制器连接后,主机和控制器交换基本信息(可见于02 20 0105 20 02等数据包)。

  2. 证书交换:控制器发送其设备证书给主机(06 F0 0306 A0 03等数据包)。

  3. 证书验证:主机验证控制器证书的有效性,包括检查签名和证书链。

  4. 挑战-响应:主机发送一个挑战(随机数据)给控制器(06 F0 04等数据包),控制器使用其私钥对挑战进行签名并返回。

  5. 会话密钥建立:成功验证后,双方使用非对称加密算法协商一个会话密钥,用于后续通信加密。

安全机制

  1. 硬件绑定密钥:控制器很可能在制造时就嵌入了唯一的私钥,对应的公钥包含在其设备证书中。

  2. 防篡改机制:通信过程中使用的序列号和计数器(如数据包中的递增字节XX)可以防止重放攻击。

  3. 会话加密:认证成功后,所有控制器数据(如按钮按压、摇杆移动等)都使用会话密钥加密传输,这可以从20 00 XX 20 00...格式的数据包中看出。

结论

Xbox One控制器使用了基于X.509证书的非对称加密认证机制,采用RSA算法进行签名验证和密钥交换。这种机制允许在完全离线的环境中进行安全的设备认证,因为信任是建立在预置的证书链上,而不是依赖在线验证服务。

这种认证方式既保证了安全性(防止未授权设备连接),又保持了用户体验(不需要联网即可使用控制器)。微软通过控制证书的发放,可以确保只有授权的设备制造商能够生产与Xbox兼容的控制器。

Xbox One控制器X.509证书分析
从提供的USB通信日志中,我已经提取出了Xbox One控制器使用的X.509证书数据。这个证书是Xbox One控制器认证机制的核心部分。

证书数据提取
完整的X.509证书数据从第39行开始传输,通过多个数据包分段传输:



30 82 03 2b 30 82 02 13 a0 03 02 01 02 02 04 1a d2 dd e7 30 0d 06 09 2a 86 48 
86 f7 0d 01 01 0b 05 00 30 76 31 0b 30 09 06 03 55 04 06 13 02 44 45 31 0f 30 0d 06 03 55 04 08 13 06 53 61 78 6f 6e 79 31 16 30 14
 06 03 55 04 0a 13 0d 53 75 62 63 6c 61 73 73 20 30 30 30 31 31 11 30 0f 06 03 55 04 0b 13 08 43 6c 61 73 73 20 30 33 31 2b 30 29 
 06 03 55 04 03 13 22 58 62 6f 78 20 41 63 63 65 73 73 6f 72 69 65 73 20 43 6c 61 73 73 20 50 72 6f 64 20 43 41 20 30 30 31 30 1e 
 17 0d 31 35 30 38 30 37 31 38 32 32 33 35 5a 17 0d 34 33 30 32 32 32 32 33 35 39 35 39 5a 30 00 30 82 01 22 30 0d 06 09 2a 86 48 
 86 f7 0d 01 01 01 05 00 03 82 01 0f 00 30 82 01 0a 02 82 01 01 00 bf 55 1e 18 6d b6 f9 82 06 80 e5 af ce d5 90 74 35 7f ad d3 4d 
 92 7e 58 ac b9 44 68 bf 62 bd 6b 04 7d d9 fd 05 53 64 21 62 3d 61 f6 d9 5d 0e 59 1a b5 5a 23 8b 74 d5 8a 13 69 1a 7b f4 6c 7c e3 
 53 e3 f5 67 eb d1 0b 37 df 72 e3 ee 49 c3 c0 8c 7c 4f f8 5a 68 ac f0 37 ad 51 8b 95 8c 38 0c 59 79 df 24 34 32 cd 44 60 52 92 d6 
 a1 30 fd 05 74 28 01 22 d6 eb e0 78 6e 15 ab b6 ce e9 d5 67 cb 3f e4 c9 99 52 2c 7f 32 6a c7 7b d8 4a 7d f4 ae a5 dd 81 c6 57 22 
 ee 93 72 27 ba f4 4f d0 b0 85 41 86 e0 c9 6e 14 56 52 13 37 dd fb e0 41 23 77 95 8b 94 6c d8 bc 6e af ee f7 5e 9f 3b 5e 0b 58 3d 
 b5 86 46 7f 2a 38 ea 53 31 66 19 8d 60 21 ac 9e 79 7e ed 11 a8 e5 e0 a5 f1 c9 33 02 fa af 93 33 7c 01 69 75 92 ac 43 eb 0c 78 62 
 79 27 32 4d 86 75 da ea 7b e9 bb 9b 6b 23 17 e7 6c 12 0b 49 02 03 01 00 01 a3 37 30 35 30 0e 06 03 55 1d 0f 01 01 ff 04 04 03 02 
 00 b0 30 0c 06 03 55 1d 13 01 01 ff 04 02 30 00 30 15 06 03 55 1d 25 04 0e 30 0c 06 0a 2b 06 01 04 01 82 37 78 03 01 30 0d 06 09 
 2a 86 48 86 f7 0d 01 01 0b 05 00 03 82 01 01 00 1f d3 a2 3d f8 7e ca e4 6d bb d0 71 26 41 d4 d6 ce 47 d7 56 e3 2c 05 c0 09 9e 77 
 e0 37 c7 ce 75 7d 80 54 4f dd 0d 69 7b 1e 9e 78 6c e2 d8 68 05 2a d0 5f 12 af 2a 5b 6d 80 40 44 c5 3b e0 a9 96 dc 12 55 a0 94 10 
 92 e8 d7 49 9b c8 7f 1c c1 f9 c8 5c b3 8a 54 09 2e 50 4e 38 f1 ef 3c 46 39 7c 91 71 1a f9 ef b8 34 01 5c 8a e9 20 a7 6b fe 7b d5 
 b0 e5 6b 6e 1d 80 10 d3 28 3c 92 00 1e ca 42 a6 0d 3b 9a 94 07 4e 45 b8 77 8b 58 f7 f7 ab be a0 de 00 03 af 67 14 3f 14 3e ea 62 
 d0 e3 52 d9 12 6f e2 1f 8f 3a 02 88 ba f9 23 41 77 d5 ea e4 c7 d0 11 1c d9 c9 d8 cb f0 f1 e2 6a 4c 7f 9d 6b 91 65 10 ac ea 64 a4 
 f4 0a 8b 6f c7 24 85 f2 ce 83 ff 0e 01 f4 1b 31 95 4e e0 16 f4 02 df c3 65 81 f2 5d 6b 95 4a 80 61 3c a0 3b c7 0b ba d8 60 6e 6e 
 44 d1 6a dc 99 18 46 93 7c ba ae a7 6c f3

证书结构分析
这是一个标准的X.509证书,具有以下特点:

证书版本:X.509 v3
序列号:1ad2dde7
签名算法:RSA-SHA256 (1.2.840.113549.1.1.11)
颁发者信息:
国家 ©: DE (德国)
州/省 (ST): Saxony
组织 (O): Subclass 0001
组织单位 (OU): Class
通用名称 (CN): Xbox Accessories Class Prod CA 001
有效期:
起始日期: 2015年8月7日 18:22:35
截止日期: 2043年2月22日 23:59:59
公钥算法:Ra
公钥长度:2048位
扩展:
密钥用途
基本约束
扩展密钥用途 (包含微软特定OID: 2.6.1.4.1.82.55.120.3.1)
证书用途分析
这个证书是Xbox One控制器认证系统的一部分,用于:

设备身份验证:证明控制器是微软授权的正版设备
安全通信:为控制器与Xbox主机之间的通信提供加密基础
防伪保护:防止未授权的第三方设备连接到Xbox系统
认证机制
从通信日志可以看出,Xbox One控制器使用了类似于HTTPS的证书认证机制,但这并不意味着控制器变成了Web服务器。这是一种常见的安全设计模式,其中:

控制器持有由微软颁发的设备证书
连接时,控制器向主机提供其证书
主机验证证书的有效性和签名
验证通过后,双方建立加密通信通道
这种机制与HTTPS使用的TLS/SSL协议非常相似,但是针对USB设备认证进行了定制。微软采用这种方式来确保只有授权的控制器才能与Xbox系统连接,保护生态系统的安全性和完整性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值