建立自己的网站步骤,ci框架的网站,创建网络公司需要什么条件,销售策略和营销策略m0_01
附件是一个USB流量文件
分析
1.键盘流量
USB协议数据部分在Leftover Capture Data域中#xff0c;数据长度为八个字节#xff0c;其中键盘击健信息集中在第三个字节中。
usb keyboard映射表#xff1a;USB协议中HID设备描述符以及键盘按键值对应编码表
2.USB…m0_01
附件是一个USB流量文件
分析
1.键盘流量
USB协议数据部分在Leftover Capture Data域中数据长度为八个字节其中键盘击健信息集中在第三个字节中。
usb keyboard映射表USB协议中HID设备描述符以及键盘按键值对应编码表
2.USB流量提取
USB协议的数据部分在 Leftover Capture Data 域中可使用tshark提取流量 tshark -r xxx.pcapng -T fields -e usb.capdata usbdata.txt
3.处理data文件提取键盘信息
由于得到的USB文件中含有空行常见的usbdata中以两字节加冒号的格式如例子。 例子 对文件进行处理
#1.使用脚本删除空行
with open(usbdata.txt, r, encodingutf-8) as f:lines f.readlines()
lines filter(lambda x: x.strip(), lines)
with open(usbdata.txt, w, encodingutf-8) as f:f.writelines(lines)#2.将上面的文件用脚本分隔加上冒号
fopen(usbdata.txt,r)
fiopen(out.txt,w)
while 1:af.readline().strip() if a:if len(a)16:#键盘流量的话len为16鼠标为8 outfor i in range(0,len(a),2):if i2 ! len(a):outa[i]a[i1]: else:outa[i]a[i1] fi.write(out) fi.write(\n) else: break
fi.close()#3.最后用脚本提取
# print((line[6:8])) #输出6到8之间的值
#取出6到8之间的值
mappings { 0x04:A, 0x05:B, 0x06:C, 0x07:D, 0x08:E, 0x09:F, 0x0A:G, 0x0B:H, 0x0C:I, 0x0D:J, 0x0E:K, 0x0F:L, 0x10:M, 0x11:N,0x12:O, 0x13:P, 0x14:Q, 0x15:R, 0x16:S, 0x17:T, 0x18:U,0x19:V, 0x1A:W, 0x1B:X, 0x1C:Y, 0x1D:Z, 0x1E:1, 0x1F:2, 0x20:3, 0x21:4, 0x22:5, 0x23:6, 0x24:7, 0x25:8, 0x26:9, 0x27:0, 0x28:\n, 0x2a:[DEL], 0X2B: , 0x2C: , 0x2D:-, 0x2E:, 0x2F:[, 0x30:], 0x31:\\, 0x32:~, 0x33:;, 0x34:, 0x36:,, 0x37:. }
nums []
keys open(out.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:continuenums.append(int(line[6:8],16))
keys.close()
output
for n in nums:if n 0 :continueif n in mappings:output mappings[n]else:output [unknown]
print (output :\n output)运行脚本将对应的USB转换出来是一串数字
4.云影解码
这一串数字我也不知道是啥搜吧 云影密码01248码 这种加密方式仅使用01248这5种数字来进行其中0用来唯一表示间隔其他数字用加法和表示替换密文。再使用数字1-26表示字母A-Z。 如18 18 9 I1248 1248 15 O特点密文中仅存在01248加密对象仅有字母。加密方式 题目12401011801180212011401804 注意(3个及以上数字时)虽然是相加但是可以在数字内不按顺序相加如124可写成(12)4和1(24)结果分别是7和16只要保证不大于26即可 第一步分割即124 、1、118、118、212、114、18、4第二步基本翻译例如124可以表示7,也可以表示16(但不可能是34,因为不会超过26),所以可以放弃来翻译其他没有异议的,可得:124、a、s、s、w、o、18、d第三步推测得出明文可以推测后面的18表示r,前面的为p最合适。 所以最后明文:password(密码) 解密脚本
##with open(rF:/桌面/tmp/2.txt,r) as f:
## data f.read()
## print(data)data 884080810882108108821042084010421
list data.split(0)
print(list)datalist[]
def dlist(list):d 0for i in list:for j in i:d int(j)datalist.append(d)d0return datalist
datalist dlist(list)def str(datalist):sfor i in datalist:s chr(i64)return s
print(str(datalist)) 最终得到flag
参考链接 https://blog.csdn.net/ON_Zero/article/details/130528679 https://www.cnblogs.com/yuanchu/p/13492904.html CTF密码学总结 https://blog.csdn.net/xiao__1bai/article/details/121089114