記一道USB流量分析題

2021-09-17 23:45:15 字數 1897 閱讀 5409

usb-hid的初步認識

從ctf中學usb流量捕獲與解析

usb協議的資料部分在leftover capture data域之中,在mac和linux下可以用tshark命令可以將 leftover capture data單獨提取出來 命令如下:

tshark -r usb1.pcapng -t fields -e usb.capdata > usbdata.txt
**usbkeyboard的對映表**

根據這個對映表解碼得出資料報的指令碼如下:

nums =

keys =

open

('usbdata.txt'

)for line in keys:

if line[0]

!='0'

or line[1]

!='0'

or line[3]

!='0'

or line[4]

!='0'

or line[9]

!='0'

or line[10]

!='0'

or line[12]

!='0'

or line[13]

!='0'

or line[15]

!='0'

or line[16]

!='0'

or line[18]

!='0'

or line[19]

!='0'

or line[21]

!='0'

or line[22]

!='0'

:continue

int(line[6:

8],16

))keys.close(

)output =

""for n in nums:

if n ==0:

continue

else

: output +=

'[unknown]'

print

'output :\n'

+ output

附滑鼠流量資料報轉換指令碼

nums = 

keys =

open

('data.txt'

,'r'

) posx =

0 posy =

0for line in keys:

iflen

(line)

!=12

:continue

x =int

(line[3:

5],16

) y =

int(line[6:

8],16

)if x >

127:

x -=

256if y >

127:

y -=

256

posx += x

posy += y

btn_flag =

int(line[0:

2],16

)# 1 for left , 2 for right , 0 for nothing

if btn_flag ==1:

print posx , posy

keys.close(

)

轉換後會得到一系列座標點,需要輔以gnuplot 或者其他的繪圖工具畫出即可。

記一道USB流量分析CTF題

拿到資料報使用wireshark開啟後看到protocol 為usb協議,搜到了一篇關於usb流量分析的文章 貼鏈結 從ctf中學usb流量捕獲與解析 鍵盤資料報的資料長度為8個位元組,擊鍵資訊集中在第3個位元組,每次key stroke都會產生乙個keyboard event usb packet...

一道有意思的邏輯分析題

題目 我的分析 albert 我不知道cheryl的生日,但是我知道你也不會知道。分析 說明不可能是2月21號 4月22日,所以排除2月和4月,就剩下3月和5月 bernard 一開始我也不知道cheryl的生日,現在我知道了 分析 不可能是15號,因為假設是15號,那麼可能是3月15號,或者5月1...

記一道DP題

給定 n l r 求長度為n的 且元素在 l r 的 且 陣列元素和是3的倍數的 陣列的 個數 dpmod0 表示區間內的數mod 3 0的個數 mod1 mod2 同理 dp i j 表示 長度為i的 陣列元素mod 3 為 j 的陣列的個數 如果 i 1長度的陣列和 mod 3 0 那麼我再加乙...