求教解答一个关于编码问题,重谢

cl37211314 2020-03-03 08:28:00
一、 最初形态如下:
第一行与第一列为奇偶校验,确保每行奇数个点,每列奇数个点。其中可以确定的是第二列代表分钟,第五列代表小时,其余待探索。自上而下翻译成二进制,如图1的第二列为1100011(十进制代表99,减去64得到35),图2的第二列为1100010(十进制代表98,减去64得到34),以此类推。但是第五列小时的编码规律不同,感兴趣的可以通过我统计的excel表格研究一下。可以确定的是列信息中还包含了日、月、年的信息(初步推测是第六列、第七列、第八列),以及固定序列号信息(351082)或者机种代码(TC101296)。









二、 去除奇偶校验行与列后翻译成二进制表格
【见附件中excel表】:https://www.jianguoyun.com/p/Daia2DYQqp2xBxj8yOkC
三、 待解决问题
年月日信息分别对应哪几列?与分、时的编码方式貌似存在很大的差异。
序列号信息貌似对于第十一、十二、十三、十四列,但是如何对应毫无头绪。
悬赏不多,只有400,如果能够一起沟通探讨出结果,还望不吝赐教,重谢。
...全文
545 37 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
寻开心 2020-03-11
  • 打赏
  • 举报
回复
不会, 它可以直接读取写在硬件芯片里面的信息,而无需和外部其他设备交互的。
自己家的东西,内部通讯处理更简单啊
再说,它也为必须要知道这个序列号啊。 打印机的型号,和序列号,不见得是同一个标注上,可以分开写在不同的地方的
从文章福袋的Xeonx打印机的图上可以看出来, 2005被表示成了数字5。那就是用一列就可以了,从2000年开始,7位可表示128年了
那也只是这个品牌打印机的事儿, 其他的未必如此呢。
还是继续积累数据慢慢分析吧

其实你是可以找找高校的搞信息学,密码学的合作, 他们多的是人和时间。 这个论坛里面的,毕竟业余的为主。
cl37211314 2020-03-11
  • 打赏
  • 举报
回复
引用 35 楼 寻开心 的回复:
升级固件理论上是统一针对一个系列或者是一个型号的, 原则上应该不会包含单个设备的信息,否则这个固件升级数据包就太受限制了,升级包会去检测当前设备是否是符合自己要求的硬件(这也是取决于升级包的完善程度) 打印机的唯一标识应该是在其主芯片当中写入的,而且有可能是只读的RAM之类的,并不会随着升级固件而改变才对。 固件升级可以改变这个打印暗记的算法,毕竟他也只是一个加密算法而已。
============ 是的,序列号信息应该是固定在机器里的,我想的是固件作为一个程序,他可以读取序列号、时钟再转译成点阵,所以猜想在固件中是不是包含了这个转译程序。
寻开心 2020-03-11
  • 打赏
  • 举报
回复
升级固件理论上是统一针对一个系列或者是一个型号的, 原则上应该不会包含单个设备的信息,否则这个固件升级数据包就太受限制了,升级包会去检测当前设备是否是符合自己要求的硬件(这也是取决于升级包的完善程度)
打印机的唯一标识应该是在其主芯片当中写入的,而且有可能是只读的RAM之类的,并不会随着升级固件而改变才对。
固件升级可以改变这个打印暗记的算法,毕竟他也只是一个加密算法而已。
cl37211314 2020-03-11
  • 打赏
  • 举报
回复
引用 31 楼 寻开心 的回复:
这个各个厂商对这个暗记的处理方法也不尽相同 包括那个设备ID, 也是各个厂商自己的, 不可能全球统一ID 但是一旦限定到指定的厂商或者系列的设备上,可用性就降低了很多了 还是尽量多积攒一些样本吧,尤其是相同时间,不同年月日的。 无论年月日确定哪一个参数都能把范围缩小很多,时分确定是价值最低的 年月日未必是如同时间那样分成三段各自独立,也许会表述成距离2000年1月1日到当前的天数呢,打印机即便能用100年,那也不到36600天, 一个16位数(2字节)足以容纳了。
================= https://office-watch.com/2017/secret-printer-tracking-dots/
cl37211314 2020-03-11
  • 打赏
  • 举报
回复
引用 31 楼 寻开心 的回复:
这个各个厂商对这个暗记的处理方法也不尽相同 包括那个设备ID, 也是各个厂商自己的, 不可能全球统一ID 但是一旦限定到指定的厂商或者系列的设备上,可用性就降低了很多了 还是尽量多积攒一些样本吧,尤其是相同时间,不同年月日的。 无论年月日确定哪一个参数都能把范围缩小很多,时分确定是价值最低的 年月日未必是如同时间那样分成三段各自独立,也许会表述成距离2000年1月1日到当前的天数呢,打印机即便能用100年,那也不到36600天, 一个16位数(2字节)足以容纳了。
===================== https://en.wikipedia.org/wiki/Machine_Identification_Code#cite_note-:0-2 又思考了一下,是否有可能在打印机的升级固件中找到相关的信息呢?
cl37211314 2020-03-09
  • 打赏
  • 举报
回复
引用 31 楼 寻开心 的回复:
这个各个厂商对这个暗记的处理方法也不尽相同 包括那个设备ID, 也是各个厂商自己的, 不可能全球统一ID 但是一旦限定到指定的厂商或者系列的设备上,可用性就降低了很多了 还是尽量多积攒一些样本吧,尤其是相同时间,不同年月日的。 无论年月日确定哪一个参数都能把范围缩小很多,时分确定是价值最低的 年月日未必是如同时间那样分成三段各自独立,也许会表述成距离2000年1月1日到当前的天数呢,打印机即便能用100年,那也不到36600天, 一个16位数(2字节)足以容纳了。
引用 31 楼 寻开心 的回复:
这个各个厂商对这个暗记的处理方法也不尽相同 包括那个设备ID, 也是各个厂商自己的, 不可能全球统一ID 但是一旦限定到指定的厂商或者系列的设备上,可用性就降低了很多了 还是尽量多积攒一些样本吧,尤其是相同时间,不同年月日的。 无论年月日确定哪一个参数都能把范围缩小很多,时分确定是价值最低的 年月日未必是如同时间那样分成三段各自独立,也许会表述成距离2000年1月1日到当前的天数呢,打印机即便能用100年,那也不到36600天, 一个16位数(2字节)足以容纳了。
================ 明白,那就先固定时分,月、年,先研究日,谢谢。
寻开心 2020-03-09
  • 打赏
  • 举报
回复
这个各个厂商对这个暗记的处理方法也不尽相同
包括那个设备ID, 也是各个厂商自己的, 不可能全球统一ID
但是一旦限定到指定的厂商或者系列的设备上,可用性就降低了很多了

还是尽量多积攒一些样本吧,尤其是相同时间,不同年月日的。
无论年月日确定哪一个参数都能把范围缩小很多,时分确定是价值最低的

年月日未必是如同时间那样分成三段各自独立,也许会表述成距离2000年1月1日到当前的天数呢,打印机即便能用100年,那也不到36600天, 一个16位数(2字节)足以容纳了。
cl37211314 2020-03-09
  • 打赏
  • 举报
回复
引用 29 楼 寻开心 的回复:
那说明内部很可能有两个时钟芯片, 一个是自己内部设置不由你更改的,很可能主板还有自己独立的电池供电,保证设备断电的情况下时钟还可以继续工作,这种耗电很低的一块儿小电池就可以保证芯片工作十年以上(台式机、笔记本电脑主板上都有这种电池) 一个是开放給用户可以自己设置的时钟芯片,通过管理员身份来更改的 这个完全可以开出单位证明,要求设备制造厂商给予解决的唉; 从给出的数据来看, 不过是16个BYTE都数值,信息量不大,样本給的合适可以破解的 只是需要有专业一点搞密码学的人来做, 论坛里面的多是业余的,还都上班的上班,没有空闲时间弄这个,处理它不是三两个小时就出来的,估计要花上几天时间专门来琢磨。 另外, 即便解码了,你还需要证明其唯一性。 就好比嫌疑人有了能打开案发现场的钥匙,但是你不能就认定它就罪犯。除非这个钥匙就是世界上唯一的一把。 貌似这个问题目标是要归结到证明某个打印结果, 是由此设备输出的。 除了破解这个外,还可以用痕迹来比对打印纸张上的墨迹特点来做到的吧。另外的思路了
=============== 1、你说的对的,认定到打印机具我们还通过显微观察墨粉形态、或者通过拉曼光谱分析墨粉成分、或者打印机具感光鼓的瑕疵、压印痕迹等等来认定,但是推断时间往往比较困难,也不是很准确,但是如果能够通过遗留暗记点来推断,方便且准确了很多。 2、是的,在必要的大案中,肯定可以请有关厂商协助的,但是并不是每个案件都能享受到这样的司法资源。 3、最初揭秘这些暗记是在2000年左右FBI 公布的一份文件中提到了这个技术,并简述了破译方法,后来厂商进一步改进了加密/编码方式,恰好老师在做这块研究,我也在参与中。 4、现在就是制作样本比较困难,后面我在持续收集不同日期、月份的研究看看吧。
寻开心 2020-03-09
  • 打赏
  • 举报
回复
那说明内部很可能有两个时钟芯片,
一个是自己内部设置不由你更改的,很可能主板还有自己独立的电池供电,保证设备断电的情况下时钟还可以继续工作,这种耗电很低的一块儿小电池就可以保证芯片工作十年以上(台式机、笔记本电脑主板上都有这种电池)
一个是开放給用户可以自己设置的时钟芯片,通过管理员身份来更改的

这个完全可以开出单位证明,要求设备制造厂商给予解决的唉;

从给出的数据来看, 不过是16个BYTE都数值,信息量不大,样本給的合适可以破解的
只是需要有专业一点搞密码学的人来做, 论坛里面的多是业余的,还都上班的上班,没有空闲时间弄这个,处理它不是三两个小时就出来的,估计要花上几天时间专门来琢磨。

另外, 即便解码了,你还需要证明其唯一性。
就好比嫌疑人有了能打开案发现场的钥匙,但是你不能就认定它就罪犯。除非这个钥匙就是世界上唯一的一把。
貌似这个问题目标是要归结到证明某个打印结果, 是由此设备输出的。
除了破解这个外,还可以用痕迹来比对打印纸张上的墨迹特点来做到的吧。另外的思路了
cl37211314 2020-03-08
  • 打赏
  • 举报
回复
引用 26 楼 GKatHere 的回复:
是程序生成的吗?有源代码就可以破解下。 从表面看来,除奇偶校验,与分种、小时外,其它的列的值都随分钟在变化
============== 1、兄弟,这是一个硬件设备,设备会输出一个类似纸张图像,我们用一定的手段将图像点阵提取如正文所列的四张图像,然后根据点阵排布分析规律。 2、您看得没错,除了分钟、小时有迹可循,其它列都在随着分钟变化,所以我想分钟应该是作为一个变量参与到了日月年的计算吧?包括本来不变的序列号,也在跟随着分钟变化。因为不是计算机相关专业,感觉无从下手。近几日研究了条形码,感觉在某些地方有异曲同工之妙,故而认为这可能是编码领域可以解决的问题,所以寻求论坛各位专家帮助。
cl37211314 2020-03-08
  • 打赏
  • 举报
回复
引用 25 楼 寻开心 的回复:
你这个输出一个测试结果就要打印一张纸是吗?还是怎样的,获取测试数据的成本高不高? 此外这个设备上有自己的时钟吗? 能不能自己去修改那个时间? 现在可以先假定你的时和分的编码正确,再来找年月日 如果你可以改设备的时钟,那么你可以把时间固定成12:00 然后改日期,改一次弄个10个测试数据, 连续弄10来个日期的 然后固定日时分秒,只变更月份,再来一些测试数据 最后再固定月日时分秒,只变更年份,再来一些测试数据 这样逐步的对比,可以把变化固定在特定的范围内,找关系会容易一些 好在这些数列并不是很长,还是可以去尝试的 现在突然想到一个问题 你知道了这个编码规律又有何意义,恐怕也无法改造这个输出吧,毕竟输入打印机自己内部控制输出的。 不同型号的设备,甚至固件的驱动更改一次,这个玩意儿可能就失效了 更换一个加密算法可比你破解这个容易的太多了 序列号和验证码,还可以认为是为了破解 这个硬件输出的标志,你明白了规则,看到了编码反向找到了固件的ID什么的又如何? 难道你还要去根据别人都打印东西反向去追查哪一个打印机? 知道了也没有多大用处,你还得定位那个设备在哪儿, 这个可不是这个编码所包含的了。 突然觉得 细思极恐呢, 不会跑到反恐上来了吧
============== 1、对于这台设备,基本上类似于打印一张纸提取一个测试结果。 2、以管理员身份进入配置菜单,更改系统时间,并不会影响到测试结果,仿佛测试结果是依赖一个我没法看得见、没法调整的内部时钟。 3、你说的制作样本的方法我有试过,譬如以2020年3月8日12:00制作一个样本,然后隔了一分钟之后,再调整成为2020年3月8日12:00制作一个样本,测试结果是不一样的。但是根据目前我掌握的分钟推断规律发现,恰好是12:01,也就是说这个结果并不依赖我调整系统时间。而且在制作这些样本的过程中,我并没有连接电脑,仅仅是用系统内置测试页输出结果。 4、以同样的手段,控制变量法分别调整年月日,即便从2020年递增至2030年,保持日、月、分、时不变,测试结果依然以分钟递增的规律增加着。 5、兄弟说的差不多把,但没那么玄乎,我们主要从事刑技工作,也就是大家认知的司法鉴定,主要是为了解决案件中的一些问题,也只是刑侦工作中微不足道的一环,但也希冀能够在必要的时候提供确切的证据。
GKatHere 2020-03-08
  • 打赏
  • 举报
回复
是程序生成的吗?有源代码就可以破解下。 从表面看来,除奇偶校验,与分种、小时外,其它的列的值都随分钟在变化
寻开心 2020-03-07
  • 打赏
  • 举报
回复
这种情况和前面说的那种身份验证道理是一样的

时间 + (设备信息+时间+打印者的混合运算结果) = 打印的标记

相当于对这个设备打印的东西做了一个唯一标志, 包含了打印时间和打印设备,甚至有可能包括传递过来的计算机的一些信息
这些信息混合生成的这个标志, 有了这个标志可以反向知道是那一台设备,什么时间,什么人打印了这个内容
打印者信息也许单纯是系统用户的名字,也有可能是电脑都硬件信息之类的,都有可能

打印机设备的信息是固定,每台设备都不一样
打印者的信息基本上也不会经常变化
唯一变动的还是时间

所以加密的方式,依然可以如同前面所说的方式进行
解密这个事儿,就不是非专业人士能干的, 需要时间和精力的
cl37211314 2020-03-07
  • 打赏
  • 举报
回复
引用 16 楼 寻开心 的回复:
首先,还是猜测 假定你的数据是来自一个注册信息的校验过程 你有个软件或者app或者神马东西,购买了序列号, 输入序列号注册完成了 然后每次启动或者使用的时候,会重新去网络或者加密设备去校验这个号码是否正确 校验的过程是把你的序列号发送过去, 网络或者加密设备给你反馈一个校验码, 程序匹配校验码完成是否正版的检测 以上纯属猜测 每次提交的信息去校验的时候,都带有了时间参数, 返回的就是你给的那个东西 返回的校验码也包含时间参数,校验程序会验证返回的时间和发出的时间差异,来判断是否存在调试程序在截获密码逐步跟踪破解 如果有逐步跟踪调试过程,那么执行到时间检测到时候,往往会耗时较长, 和正常的提交反馈校验不到1秒或者10几秒这样的时间差很大,从而可以认定处于被跟踪破解状态,再进行反制。 这是说为什么反馈的校验信息里面要包含时间信息的原因 再继续,抛开时间信息,要校验的是什么信息 一个本地请求码,一个反馈的校验码 每次本地请求码除了时间信息外,其他信息假定是固定的 那么每次都返回码除了时间信息外,也可以假定是固定的 你要做到无非就是猜测这个固定的返回码是什么? 前面所说的是,因为有了时间这个动态的参数,每次这个固定的返回码都可以表现的不一样 比如,返回码每次都是123456, 时间是当前的时间 那么,我可以让返回码 是 123456 - 当前的时间 , 这样返回码就每次都不同了 反向解码的时候,先解出了时间, 再把剩下的数据 加上时间, 就可以还原出123456 也就是说返回码是 (固定值+对动态时间的混合运算)+ 动态时间 解码过程, 先提取出动态时间, 再逆运算还原出固定值即可 返回码都完整组合: (固定值+对动态时间的混合运算)+ 动态时间 你现在通过对比和猜测,能找到动态时间了(假定能全部找到年月日时分) 但是你还是不知道固定值和动态时间之间的混合运算算法是什么 只改变动态时间来模拟一个假定返回码是行不通的, 因为你没有和动态时间混合出(固定值+对动态时间的混合运算)这个结果 至于位运算则是加密解密当中最常用的混合算法组成部分 破解这个需要做大量的测试和验证, 也需要一些工具软件,自己写也好,借助他人的也好 但是不管怎样,都是基于这样的一个过程, 分析数据,猜测可能,验证猜测, 再分析,再猜测,再验证 如果不跟踪代码的破解部分是如何执行的(往往是编译后的汇编语言),那么只能按照上面的步骤去处理 如果有能力进行反汇编,得到汇编代码, 就可以根据这些汇编语言来得到解码的算法了 只是,看懂别人的汇编语言,比看懂高级语言,难十倍 而且,从反解密的角度,也有很多技巧可以防止别人反汇编跟踪, 比如前面说的时间验证只是方法之一 还有一些逆指令流的技巧——正常程序顺序执行,遇到反汇编情况下让指令逆向执行,造成和调试阶段的顺序跟踪步骤的冲突 加密和解密,是个斗智斗勇的过程, 除非是那种很不走心的加密方式, 要想解密难度都是很大的 矛和盾的事儿, 太耗精力, 不想继续研究了, 谁有兴趣足够年轻就继续折腾吧。
============ 感谢您的详细答疑。 我这个设备是离线的,并没有接入网络或者内网服务器,所以我想第一种注册信息校验可能不太适用。 可以把这台设备看作是一台打印机,你每打印一份文件,它就会在文件上嵌入如图的暗记,通过这个暗记理论上可以推测出文件生成的时间和设备信息(因为这台设备的上一个版本没有加密,我们可以轻而易举的推测出时间信息和设备序列号信息),这台设备并没有连接互联网或者时钟类的服务器,而该设备的系统时间可以自定义的,但是自定义的时间并不会影响“暗记”的排列,似乎设备里面还有一个特殊时钟(但是我就不太明白,如果设备里面还有一个特殊时钟,而这个时钟我用管理员身份进去也看不到,没法调,如果设备长期断电岂不是要归零重置?)。 当然,启动这台设备是需要连接计算机的,但是似乎这个特殊时钟与计算机的时钟也不是完全契合,差了18秒左右(这是最有可能的了,改天我再去调电脑时间试试)
寻开心 2020-03-07
  • 打赏
  • 举报
回复
首先,还是猜测
假定你的数据是来自一个注册信息的校验过程
你有个软件或者app或者神马东西,购买了序列号, 输入序列号注册完成了
然后每次启动或者使用的时候,会重新去网络或者加密设备去校验这个号码是否正确
校验的过程是把你的序列号发送过去, 网络或者加密设备给你反馈一个校验码, 程序匹配校验码完成是否正版的检测
以上纯属猜测

每次提交的信息去校验的时候,都带有了时间参数, 返回的就是你给的那个东西
返回的校验码也包含时间参数,校验程序会验证返回的时间和发出的时间差异,来判断是否存在调试程序在截获密码逐步跟踪破解
如果有逐步跟踪调试过程,那么执行到时间检测到时候,往往会耗时较长, 和正常的提交反馈校验不到1秒或者10几秒这样的时间差很大,从而可以认定处于被跟踪破解状态,再进行反制。
这是说为什么反馈的校验信息里面要包含时间信息的原因

再继续,抛开时间信息,要校验的是什么信息
一个本地请求码,一个反馈的校验码
每次本地请求码除了时间信息外,其他信息假定是固定的
那么每次都返回码除了时间信息外,也可以假定是固定的
你要做到无非就是猜测这个固定的返回码是什么?
前面所说的是,因为有了时间这个动态的参数,每次这个固定的返回码都可以表现的不一样
比如,返回码每次都是123456, 时间是当前的时间
那么,我可以让返回码 是 123456 - 当前的时间 , 这样返回码就每次都不同了
反向解码的时候,先解出了时间, 再把剩下的数据 加上时间, 就可以还原出123456

也就是说返回码是 (固定值+对动态时间的混合运算)+ 动态时间
解码过程, 先提取出动态时间, 再逆运算还原出固定值即可

返回码都完整组合: (固定值+对动态时间的混合运算)+ 动态时间
你现在通过对比和猜测,能找到动态时间了(假定能全部找到年月日时分)
但是你还是不知道固定值和动态时间之间的混合运算算法是什么
只改变动态时间来模拟一个假定返回码是行不通的, 因为你没有和动态时间混合出(固定值+对动态时间的混合运算)这个结果

至于位运算则是加密解密当中最常用的混合算法组成部分
破解这个需要做大量的测试和验证, 也需要一些工具软件,自己写也好,借助他人的也好
但是不管怎样,都是基于这样的一个过程,
分析数据,猜测可能,验证猜测, 再分析,再猜测,再验证
如果不跟踪代码的破解部分是如何执行的(往往是编译后的汇编语言),那么只能按照上面的步骤去处理
如果有能力进行反汇编,得到汇编代码, 就可以根据这些汇编语言来得到解码的算法了
只是,看懂别人的汇编语言,比看懂高级语言,难十倍
而且,从反解密的角度,也有很多技巧可以防止别人反汇编跟踪, 比如前面说的时间验证只是方法之一
还有一些逆指令流的技巧——正常程序顺序执行,遇到反汇编情况下让指令逆向执行,造成和调试阶段的顺序跟踪步骤的冲突

加密和解密,是个斗智斗勇的过程, 除非是那种很不走心的加密方式, 要想解密难度都是很大的
矛和盾的事儿, 太耗精力, 不想继续研究了, 谁有兴趣足够年轻就继续折腾吧。
cl37211314 2020-03-07
  • 打赏
  • 举报
回复
引用 5 楼 寻开心 的回复:
这是在尝试破解神马东西呢? 看excel表当中 时间相同的情况下,数据就有两组不同的 相邻的不同时间下,还有数据是相同的 不过还是有规律的,当做取毫秒后四舍五入精确到分,也是可以理解 能找出奇偶校验是个成果 通过对比时间上变与不变关系,应对数值的变与不变关系,定位出小时和分钟也很好 但是你不能指望所有的信息都是这样简单的出来的 随便把几个数交叉数据位,或者和已知的数据比如就是对比出来的时和分做xor运算,或者位移动操作,就没有办法通过简单这种比对找到规律。 既然发现了这个规律了,无妨写个程序,把他们都二维点阵化的显示,并标注出每列的数值进一步研究吧 这个需要做大量的对比,和大胆的猜测验证, 加油吧!
============================= 谢谢您的回答。因为我不是从事计算机相关的行业,有些看不太明白。 1、即便第一列和第一行是奇偶校验,也可以参与计算么?这样子不是会产生相关性么? 2、交叉数据位?xor运算?位移操作?能否详细给指点一下,如果能够推荐这方面相关的专业书籍就更好了,现在可是苦于没有基础,基本功太差,连下一步的门道都摸索不到。
cl37211314 2020-03-07
  • 打赏
  • 举报
回复
引用 4 楼 gouyanfen 的回复:
[quote=引用 楼主 cl37211314 的回复:] 悬赏不多,只有400,如果能够一起沟通探讨出结果,还望不吝赐教,重谢。
你这个序列号是确定是16进制写在ROM的吗[/quote] =============== 二进制吧,因为那四张图片就是直接提取的结果,按照先前成功的研究案例直接套用就是excel表格的结果,但是发现加密/编码方式发生了改变。
寻开心 2020-03-07
  • 打赏
  • 举报
回复
你这个输出一个测试结果就要打印一张纸是吗?还是怎样的,获取测试数据的成本高不高?
此外这个设备上有自己的时钟吗? 能不能自己去修改那个时间?
现在可以先假定你的时和分的编码正确,再来找年月日
如果你可以改设备的时钟,那么你可以把时间固定成12:00
然后改日期,改一次弄个10个测试数据, 连续弄10来个日期的
然后固定日时分秒,只变更月份,再来一些测试数据
最后再固定月日时分秒,只变更年份,再来一些测试数据
这样逐步的对比,可以把变化固定在特定的范围内,找关系会容易一些
好在这些数列并不是很长,还是可以去尝试的

现在突然想到一个问题
你知道了这个编码规律又有何意义,恐怕也无法改造这个输出吧,毕竟输入打印机自己内部控制输出的。
不同型号的设备,甚至固件的驱动更改一次,这个玩意儿可能就失效了
更换一个加密算法可比你破解这个容易的太多了

序列号和验证码,还可以认为是为了破解
这个硬件输出的标志,你明白了规则,看到了编码反向找到了固件的ID什么的又如何?
难道你还要去根据别人都打印东西反向去追查哪一个打印机?
知道了也没有多大用处,你还得定位那个设备在哪儿, 这个可不是这个编码所包含的了。
突然觉得 细思极恐呢, 不会跑到反恐上来了吧
cl37211314 2020-03-07
  • 打赏
  • 举报
回复
引用 19 楼 gouyanfen 的回复:
就像他说的他是非专业人士,获取的样本没有特定的规律可循,我还写了个简单的运算试了一下,因为样本的原因跑不出来什么结果,这个应该是硬件加密,所以运算不会太复杂,第一列加密因子0x01000000,第二列应该是这个加密因子位移和第一列运算出来的结果运算再加密第二列原数据。第五列刚好有点规律,很有可能是加密因子位移为0的结果,大概推算位移有可能是每次3位。但是由于样本没有需要的规律,没有再去看了
================= 此外,在老版本的机器中可以看到第一行始终保持偶数,第一列时钟保持奇数,以此保证每一行每一列都是奇数个点。而新机器中则是第一行始终保持偶数,第一列始终保持偶数,以此保证每一行每一列都是奇数个点。
引用 23 楼 gouyanfen 的回复:
[quote=引用 22 楼 cl37211314 的回复:] [quote=引用 19 楼 gouyanfen 的回复:] 就像他说的他是非专业人士,获取的样本没有特定的规律可循,我还写了个简单的运算试了一下,因为样本的原因跑不出来什么结果,这个应该是硬件加密,所以运算不会太复杂,第一列加密因子0x01000000,第二列应该是这个加密因子位移和第一列运算出来的结果运算再加密第二列原数据。第五列刚好有点规律,很有可能是加密因子位移为0的结果,大概推算位移有可能是每次3位。但是由于样本没有需要的规律,没有再去看了
====================== 因为设备不在我这,每次做样本也要按照时间一份一份的做,所以基本都是每次连续做十几分钟,有时候刻意踩着59分的点,找到了“时”对应的规律,但是无奈“日”的规律毫无头绪。(ps,上面两幅图片似乎显示不全,需要点开)[/quote] 那就更不好弄了,测试样本,需要有针对性的找他的加密规则的思路,如果没有,只能靠猜和穷举。[/quote] ====================== 可否给个思路要怎么做样本?因为日可能还可以连续做一个月,而月年的样本做起来周期很长很长了
gouyanfen 2020-03-07
  • 打赏
  • 举报
回复
引用 22 楼 cl37211314 的回复:
[quote=引用 19 楼 gouyanfen 的回复:] 就像他说的他是非专业人士,获取的样本没有特定的规律可循,我还写了个简单的运算试了一下,因为样本的原因跑不出来什么结果,这个应该是硬件加密,所以运算不会太复杂,第一列加密因子0x01000000,第二列应该是这个加密因子位移和第一列运算出来的结果运算再加密第二列原数据。第五列刚好有点规律,很有可能是加密因子位移为0的结果,大概推算位移有可能是每次3位。但是由于样本没有需要的规律,没有再去看了
====================== 因为设备不在我这,每次做样本也要按照时间一份一份的做,所以基本都是每次连续做十几分钟,有时候刻意踩着59分的点,找到了“时”对应的规律,但是无奈“日”的规律毫无头绪。(ps,上面两幅图片似乎显示不全,需要点开)[/quote] 那就更不好弄了,测试样本,需要有针对性的找他的加密规则的思路,如果没有,只能靠猜和穷举。
加载更多回复(17)

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧