最近,微信出现了一个新的漏洞,这个漏洞可能与微信的OCR识别功能有关。据报道,4月23日晚间,一张二维码图片在微信群中传播,当用户点击这张图片时,会导致微信程序崩溃,即使将二维码添加到任意图片中,仍然会出现崩溃。
这个漏洞可能是由于微信的OCR识别功能出现了问题所致。OCR(Optical Character Recognition)是一种光学字符识别技术,可以将图像中的文字转化为可编辑的文本。在微信中,OCR识别功能通常用于扫描二维码、识别身份证等操作。
识别这个二维码识别真的“崩了”,实测真实有效😱,二维码如上↑
我的微信版本:
微信闪退崩溃的原因可能是因为 OCR 字符识别系统出现了内存崩溃导致的。由于这张图片导致了微信内存泄漏,因此才会出现闪退的情况。值得庆幸的是,本次闪退问题并不会涉及个人隐私以及资金泄露问题。
目前,已经有用户在GitHub提交了该Bug的代码修复,预计微信官方将在下个版本整合用户的修复补丁。
虽然闪退并不会对微信的使用造成严重影响,但基于使用安全考虑,在微信官方修复问题前,最好还是不要在微信中打开或扫描存在问题的二维码。
二维码的应用在近些年深受国人喜爱,因为它方便我们的支付。其实二维码不是起源我国的,只是用的比较灵活而已,起初的二维码应用主要在数据下载、车间管理、定位及导航和火车票的购买等。
二维码的原理二维码采用某种特定的几何图形以一定规律,通过二维方面的平面分布黑白相间几何图形记录信息数据符号,二维码在代码编制方面巧用计算机内部逻辑0、1比特流概念,以数个黑白相间的几何图形与二进制相对应,来表示文字信息数据,以扫描设备和图像输入设备来过去二维码中的信息。
说到二维码其实还有条形码,条形码有一维码和二维码。一维码由于它的容量有限,因此只能用于商品的标识,不能用于商品的描述,但是二维码的出现,却很好的弥补了一维码的容量缺陷,而且在此基础上,它用有很好的高可靠性、信息量大、安全性高,同时不仅可用于多种文字的表示,还可以用于图像信息等。
微信二维码检测器是微信计算机视觉团队(微信)提供的一款高性能、轻量级的二维码检测和解码库。已广泛应用于微信、WeCom、QQ、QQ浏览器等腾讯应用中。目前这个功能已经集成到opencv_contrib模块,使用十分方便。
开源地址:
https://github.com/opencv/opencv_contrib/tree/4.x/modules/wechat_QRCode
目前,有用户已经发现,导致该问题的是微信扫码引擎中的一个内存读写Bug,此类恶意制作的图片,将会通过无效的内存访问导致wechat_qrcode模块崩溃。
具体来说,根据GitHub用户Konano和GZTimeWalker的发现,该问题出现在DecodedBitStreamParser::decodeByteSegment中。
如果传入的参数bits_是内容为空,但长度非零的ByteSegment,此时bits.available 将返回0,而count也将被更新为0.
但与此同时,nBytes并没有更新,而是保持非0,这将导致后续的append函数访问空指针readBytes读取nBytes数据,导致程度异常终止。
目前,已经有用户在GitHub提交了该Bug的代码修复,预计微信官方将在下个版本整合用户的修复补丁。
虽然闪退并不会对微信的使用造成严重影响,但基于使用安全考虑,在微信官方修复问题前,最好还是不要在微信中打开或扫描存在问题的二维码。
PS: 目前最新版微信 已经不存在这个问题了.
如果这篇文章对您有所帮助,或者有所启发的话,求一键三连:点赞、评论、收藏➕关注,您的支持是我坚持写作最大的动力。