CTF 【练习题 20160710】传感器数据解码(未完成)

来源: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, 高-低的电平跳变表示0。
- 编码0101(0x5)表示11;
- 编码1001(0x9)表示01;
- 编码0110(0x6)表示10;
- 编码1010(0xA)表示00;

2.结合数据5555555595555A65556AA696AA6666666955进行解码。
由于有两种标准,所以两种结果。
第一种G. E. Thomas, Andrew S. Tanenbaum规则解码:
000000000000000010000000001101000000011111011001111101010101010101100000
粘贴到计算器里转成16进制:0x803407D9F55560。
第二IEEE 802.3规则解码:
111111111111111101111111110010111111100000100110000010101010101010011111
粘贴到计算器里转成16进制:0xFFFF7FCBF8260AAA9F。

3.这两个结果都没有出现ID:0xFED31F,解题思路错了么?或者答案就是flag{0x803407D9F55560} 或flag{0xFFFF7FCBF8260AAA9F}?
结果未验证,等待writeup

你可能感兴趣的:(CTF,编码解码)