来源:2016全国大学生信息安全竞赛ctf初赛,ichunqiu出题。
题目:传感器1
分值:100分
5555555595555A65556AA696AA6666666955
这是某压力传感器无线数据包解调后但未解码的报文(hex)
已知其ID为0xFED31F,请继续将报文完整解码,提交hex。
tips:flag是flag{破译出的明文}
提示1:曼联
分析:
1.这个题一开始是完全不明白,提示出来后才明白上面的数据是曼彻斯特编码数据。
曼彻斯特编码:曼彻斯特编码将时钟和数据包含在数据流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因此具有自同步能力和良好的抗干扰性能。但每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。
曼彻斯特编码表示0或1有两种不同的方法:
第一种G. E. Thomas, Andrew S. Tanenbaum1949年提出的,它规定0是由低-高的电平跳变表示,1是高-低的电平跳变。
按此规则有:
- 编码0101(即0x5),表示原数据为00;
- 编码1001(0x9)表示10;
- 编码0110(0x6)表示01;
- 编码1010(0xA)表示11。
第二种IEEE 802.4(令牌总线)和低速版的IEEE 802.3(以太网)中规定, 按照这样的说法, 低-高电平跳变表示1, 高-低