0.题目

题目所展示的二维码

题目其实很简洁,给你一个不完整的二维码,然后让你分析二维码的内容。

如右图就是一个类似的二维码,左半部分已经被完全抹去,只剩下右半部分。

一开始拿到题目的时候,可能会有一种怀疑,那就是这么一点二维码真的扫的出来吗?

这个时候就需要大概了解一下二维码整体的一个结构了。

1.QR码的整体结构

格式化以后的二维码

首先我们来看一下右图格式化以后的二维码

1.矫正和定位探测图案

如图红色部分的为每个二维码用于矫正和定位探测的图案。

2.格式信息图案

如图蓝色部分为每个二维码的格式信息图案。从这15个二进制位的图案我们能够获取到这个二维码的纠错级别和掩码类型。而纠错级别则保证了在这个二维码受到轻微损坏的时候依然能够获取到其中的数据。而掩码类型则代表了这个二维码经过了怎样的掩码变化,而掩码则主要用来防止二维码有大片的空白和黑块,从而二维码识别的时候造成错位的可能性就降低了。

2.对于半个二维码内容提取的思路

1.工具推荐

对于二维码的题目,github上面有一个专门的分析工具:QRazyBox

下载下来以后直接打开index即可使用。

2.对二维码纠错级别和掩码类型的提取

如右图,为了增加容错率,所以纠错类型和掩码类型信息被保存了两遍。而我们获取的右半边二维码中就保存了0-7位的信息,根据图中的信息我们可以知道二维码的格式信息最后七位为10001001,对照相应的格式信息表可以得知题目二维码的纠错类型为H而掩码类型为0。

完整的15位为: 001011010001001

3.对二维码格式信息的补充

有了二维码的格式信息我们可以直接在刚刚介绍的工具中点击蓝色部分,选择对应的格式信息进行补充。

4.补充完以后对二维码信息的提取

此时我们可以直接利用QRazyBox中Tools里面的Extract QR Information功能来提取。

在内容最后一行我们可以看到我们最后所需要知道的内容:

Final Decoded string : https://www.feiyueha.xyz/