一个帧格式解析问题
几年前做一半的一款16通道数据采集软件,配合某国际大厂的采集器使用,后来甲方暂停了,现在可能又要启动,合作单位给的帧格式如下:01100011011
00100001101
00000000011
00000000011
00000000011
00000000011
00000000011
00000000011
00000000011
00000000011
00001000001
00000000011
00000000011
00000000011
00000000011
00000000011
00000000011
00000000011
00110101101
一帧是209bit,拆成11*19,如上面的排列方式,每一行是带奇偶校验的uart,但是对方没有给出最后一行的意义(没有研究出来,希望我们也帮忙研究一下),我感觉是某种校验,但试过几种CRC8都不是。求教有经验的坛友。
再来一帧
01100011011
00100001101
01111111111
01111111111
01111111111
01111111111
01111111111
01111111111
01111111111
01111111111
01111111111
01111111111
01111111111
01111111111
01111111111
01111111111
01111111111
01111111111
01010011101
本帖最后由 Himem 于 2020-5-22 16:15 编辑
有没有只相差一两BIT的数据样本
而且如果是采集软件发送的数据,那完全可以逆向软件来看算法 Himem 发表于 2020-5-22 16:09
考虑下从软件下手,直接反汇编看算法
甲方就是不想用官方软件,过于庞大,功能复杂而且这个功能模块不是图形化显示,单机授权而且授权费很高,所以外包一个简版客户端出来。我们估计拿不到官方软件,拿到了也跑不起来,反汇编也是海底捞针,难度很大了。 Himem 发表于 2020-5-22 16:09
有没有只相差一两BIT的数据样本
而且如果是采集软件发送的数据,那完全可以逆向软件来看算法 ...
那倒没有,16通道adc采样两次只差一两个bit比较难,这个数据是采集器硬件返回的,其实就是16通道adc+fpga,只是用于特殊行业,指定用这个设备。 本帖最后由 Himem 于 2020-5-22 16:37 编辑
nokia007 发表于 2020-5-22 16:15
甲方就是不想用官方软件,过于庞大,功能复杂而且这个功能模块不是图形化显示,单机授权而且授权费很高, ...
假如客户端没什么过分的加密的话,动态调试从串口读数据地方下断点其实还算好找
或者换种思路,自己编辑一帧数据发送,穷举最后一行看看怎样才能被原版客户端所接受
之后数据里变一些bit,逐渐找规律 nokia007 发表于 2020-5-22 16:15
甲方就是不想用官方软件,过于庞大,功能复杂而且这个功能模块不是图形化显示,单机授权而且授权费很高, ...
兄弟,IDA可以直接反编译出C代码的。 nokia007 发表于 2020-5-22 16:18
那倒没有,16通道adc采样两次只差一两个bit比较难,这个数据是采集器硬件返回的,其实就是16通道adc+fpga ...
采样两次只差一两个bit应该不难吧
采样同一个恒定信号,一直记录数据,估计你至少能采样到±8lsb内的数据 就是奇偶校验啊,准备来说是偶检验,你列出来的数据竖着看(第一列好像固定为0?) 看的这东西就头疼的很 CRC8,SUM,XOR,SUM-NOT wye11083 发表于 2020-5-22 17:30
兄弟,IDA可以直接反编译出C代码的。
由机器码反编译出来的汇编就是一团屎。 avr破解出来的机器码反汇编根本就找不到逻辑,比如串口通信协议。
不觉得这种一团屎的东西反编译的C代码能够有更多的价值。 ziruo2002ab 发表于 2020-5-22 21:54
由机器码反编译出来的汇编就是一团屎。 avr破解出来的机器码反汇编根本就找不到逻辑,比如串口通信协议。 ...
那是因为你的汇编和c代码底子太烂了。。 本帖最后由 Himem 于 2020-5-22 22:59 编辑
ziruo2002ab 发表于 2020-5-22 21:54
由机器码反编译出来的汇编就是一团屎。 avr破解出来的机器码反汇编根本就找不到逻辑,比如串口通信协议。 ...
重点从相关位置切入,像楼主情况ReadFile下个条件断点的事 Himem 发表于 2020-5-22 22:56
重点从相关位置切入,像楼主情况ReadFile下个条件断点的事
其实还是很费时间的,得一个字节一个字节对和字节一个字节猜。如果系统比较简单,到不如自己重新做一遍。 本帖最后由 Himem 于 2020-5-22 23:47 编辑
ziruo2002ab 发表于 2020-5-22 23:13
其实还是很费时间的,得一个字节一个字节对和字节一个字节猜。如果系统比较简单,到不如自己重新做一遍。 ...
熟练运用读写断点比较好找的,以前常接类似这种活,虽然场景不一样 甲方是个研究所,项目是创新课题大家懂的。官方软件是不会给我们的,外包出来的只是其中一个小小的模块。这个板卡也是硬件机架中的一个小模块,单独拎出来做套软件配合使用。 本帖最后由 Himem 于 2020-5-23 08:35 编辑
nokia007 发表于 2020-5-23 07:09
甲方是个研究所,项目是创新课题大家懂的。官方软件是不会给我们的,外包出来的只是其中一个小小的模块。这 ...
那样本还是太少,不能指定bit,那估计要先来几百组凑出合适的组合
无视最后的帧校验前面每字节也有奇偶校验,不影响拿数据吧,不知道这个需求主要是什么目的
页:
[1]