前一段时间参加一个CTF比赛的时候其中有一个题目就是一张二维码图片,然后获取其中的信息来解题,那个二维码的特别之处在于,它把3个位置探测区域用几张美女图片代替了,然后在做题的时候顺便简单的了解了一下二维码的原理。

如图所示,在二维码的三个角处有位置探测区域,它是用来方便扫码时对二维码进行定位,所以你即使倒着扫二维码也可以正常扫到。然后二维码中有很多黑白相间的小点,其实它们就可以分为黑点和白点,然后扫码时是从右往左,从上往下读取图案的信息。白点=0,黑点=1,所以划出的红色区域信息为:0001100100011001100111001。

黑白区域包含了数据和纠错码字,然后我们扫码时机器读取到的二进制信息会经过编码转化后变为有用信息。

最新文章

  1. 网站就必须用响应式布局吗?MVC视图展现模式之移动布局
  2. linux系统下使用xampp 丢失mysql root密码【xampp的初始密码为空】
  3. 你知道url中的特殊符号含义么
  4. Git 版本控制 在 WIN 下的一些使用方法
  5. poj2407
  6. Java_InvokeAll_又返回值_多个线程同时执行,取消超时线程
  7. shell脚本中>/dev/null的含义
  8. [置顶] ※数据结构※→☆线性表结构(list)☆============单向链表结构(list single)(二)
  9. 1.cocos2dx它Menu(CCMenuItemFont,CCMenuItemImage,CCMenuItemLabel,CCMenuItemSprite,CCMenuItemToggle)
  10. C++ 头文件系列(ostream)
  11. Linux的动态库与静态库
  12. git使用笔记1:结合Github远程仓库管理项目
  13. react-native-echarts在打包时出现的坑
  14. 前端面试题整理—JavaScript篇(二)
  15. .Net #if DEBUG调试模式代码使用
  16. LA3485 Bridge
  17. .net中操作Visual SourceSafe
  18. iOS 绘图 (UIImage的一些操作)
  19. 算法笔记(c++)--求一个数的所有质数因子
  20. Gym - 100712G Heavy Coins(二进制枚举)

热门文章

  1. pygame-KidsCanCode系列jumpy-part6-主角挂掉重新开始
  2. VBA 判断一个TXT编码方式,再创建一个新的文件,复制数据进去
  3. C# 程序打包成安装项目
  4. ionic生成全尺寸icon和splash
  5. 阿里云物联网平台体验(树莓派+Python篇)
  6. vs2017 打开附带的localdb v13
  7. 《深度探索C++对象模型》调用虚函数
  8. atitit 读书与获取知识资料的attilax的总结.docx
  9. svg中实现文字随曲线走向,HTML直接写和JavaScript创建对象两种方式
  10. 15个最佳的 JavaScript 表单验证库