STC15W408AS单片机EEPROM实战:手把手教你实现掉电数据保存(附完整代码)

核心内容摘要

【零基础教程】璀璨星河KOOK艺术馆:一键生成梦幻油画作品
QWEN-AUDIO播客制作:AI主播语音+背景音乐自动混音工作流

让AI Agent像科幻电影一样进化,小白程序员也能快速上手大模型

usb流量分析类型思路首先找到HID DATA或者Leftover Capture Data因为键盘和鼠标产生的流量就在这里面键盘数据包长度为8个字节第一个字节代表特殊按键第二个字节是保留位第三个字节~第八个字节第三个字节是普通按键第四个字节到第八个字节处理多键同时按的data值和具体键位关系。

首先看到是usb流量分析类的先看哪些数据包里面含有HID DATA发现

2.

1和

2.

1

1和

2.

1里面含有于是我们分组导出分别来看导出之后hid data变成Leftover Capture Data: 0400000000000000这样的了然后在目录下打开cmd输入并替换其中名字tshark -r example.pcap -T fields -e usb.capdata usbdata.txt然后每个txt里面都是16个一行一行的大概每个看看发现

txt的不符合于是对

txt和

txt进行操作先对281来操作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( C:/Users/14257/Desktop/流量分析题目/ez_usb_aa5a121ba13f7e82d2df13af34ac3123/usbdata

txt) for i in keys: i i.strip() line for j in range(0, len(i),

: line i[j:j 2] : line line[:len(line) - 1] # print(line) 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 nums.append(int(line[6:8],

) keys.close() output for n in nums: if n 0: continue if n in mappings: output mappings[n] else: output [unknown] print(output : output) temp_list [] i 0 while i len(output): # 识别[unknown]长度9[ u n k n o w n ] if i 9 len(output) and output[i:i9] [unknown]: i 9 # 跳过[unknown]不加入结果列表 # 识别[DEL]长度5[ D E L ] elif i 5 len(output) and output[i:i5] [DEL]: # 处理[DEL]删除前一个字符如果temp_list不为空 if temp_list: # 避免列表为空时pop()报错 temp_list.pop() # 删除前一个字符 i 5 # 跳过[DEL]自身不加入列表 # 普通字符正常加入列表 else: temp_list.append(output[i]) i 1 # 转回字符串得到最终结果 final_output .join(temp_list) print(output : final_output)最终生成了一串16进制526172211A0700CF907300000D00000000000000C4527424943500300000002A00000002B9F9B0530778B5541D33080020000000666C61672E747874B9BA013242F3AFC000B092C229D6E994167C05A78708B271FFC042AE3D251E65536F9ADA87C77406B67D0E6316684766A86E844DC81AA2C72C71348D10C43D7B00400700转换次acsll看看只能看出开头是rar估计是压缩包2101的是一串短的字符串35C535765E50074A把281的16进制转换成压缩包将16进制复制到010editor里面记住要ctrlshiftv来复制CtrlV普通粘贴把剪贴板里的内容当作文本字符粘贴每个字符存成对应的 ASCII 字节。

CtrlShiftV粘贴为十六进制串把剪贴板里的内容当作十六进制编码解析每 2 个字符转成 1 个二进制字节。

解压发现要密码用2110的字符串发现解压失败把密码换成小写的试试就ok了

阴斗9.1版本历史记录-阴斗9.1版本历史记录应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123