找出“安全链接”、“URL防御”及其他封装机制背后的目标地址(Mimecast:域名)。
二维码解码器
该工具本身是英文的;本页面将用您的语言对它进行说明。
使用 二维码解码器
功能介绍
载入、拖入或粘贴二维码图片。其内容会以无害化文本显示,并说明它的作用:链接及其真实主机、Wi-Fi 登录信息、付款请求或双因素认证密钥。
它完全在您的浏览器中运行:您输入的任何内容都不会被上传。
如何使用二维码解码器
- 获取二维码图片. 对二维码截图或拍照。本页面从不使用你的摄像头。
- 载入图片. 将图片拖到框中,点击框选择文件(PNG、JPEG、GIF、WebP、BMP 或 SVG,最大 20 MB),或用 Ctrl+V 粘贴截图。
- 检查预览. 图片会显示出来,检测到的二维码会被框出。徽标会注明内容类型以及读取它的解码器。
- 阅读内容和警告. 内容以无害化形式显示,因此链接无法点击。其下方的红色和黄色提示说明了该二维码会做什么。
- 查看各字段. 字段把内容拆分为 Host、Network name、Amount 或 Recipient 等部分。钱包地址有单独的 Copy 按钮。
- 采取下一步行动. 对于链接,使用 Send to…(发送到…)将其转交给 Link Unwrapper(链接解包器)、Homoglyph Checker(同形字符检查器)或 URL Parser(URL 解析器),无需访问它。
示例
隐藏真实主机的停车缴费链接
https://pay-parking.example@198.51.100.24/pay?zone=401Web link read by jsQR (as is)
Payload (defanged)
hxxps://pay-parking[.]example[@]198[.]51[.]100[.]24/pay?zone=401
Copy raw
Text before "@" is not the destination: this link opens 198[.]51[.]100[.]24, not "pay-parking[.]example".
The host is a bare IP address (198[.]51[.]100[.]24), not a domain name.
HOST
198[.]51[.]100[.]24
USER INFO BEFORE @
pay-parking[.]example
SCHEME
https
PATH
/pay
QUERY
?zone=401
Next: use Send to… above. URL Parser splits the link into parts.Load example 会在页面上把这段文本绘制成二维码并解码该图片:真实主机是 IP 地址 198.51.100.24,而 @ 之前的 pay-parking.example 只是用户信息,因此两者都被标记为危险迹象。
检查内容
| 信号 | 其含义 |
|---|---|
| 内容类型 | 网页链接、Wi-Fi 网络、付款请求、双因素认证密钥、电子邮件、短信或电话草稿、联系人名片、日历事件、应用链接或纯文本。徽标颜色取决于最严重的警告。 |
| 链接中隐藏的主机 | @ 之前的文本并不是目标地址,以 IP 地址书写的主机显示为红色。混用多种字母表的 Punycode 主机也显示为红色。 |
| 短链接或邮件包装 | 经过 bit.ly、qrco.de 等服务,或经过 Safe Links 或 URL Defense 的链接,会隐藏真实地址。工具会指出这一点,并引导你使用 Link Unwrapper。 |
| 免费托管、http、端口、多级子域名 | 纯 http 会得到黄色警告。github.io 或 pages.dev 等免费托管、非标准端口以及五级及以上的主机会得到提示,因为这样的地址很难说明页面由谁运营。 |
| 双因素认证密钥(红色) | otpauth 码携带用于生成一次性验证码的密钥,而 otpauth-migration 码包含整个身份验证器的导出数据。在你按下 Show secret(显示密钥)之前,密钥保持隐藏。 |
| 加密货币付款请求 | 比特币、以太坊、Solana、TRON、TON 及其他付款链接会显示地址和金额。调用 approve、increaseAllowance、setApprovalForAll 或 permit 的以太坊二维码显示为红色,Solana Pay 交易请求也是如此。 |
| UPI 和 EMV 商户码 | 扫描 UPI 码会从你的账户付款,UPI 授权(mandate)则允许重复扣款。CRC 校验和不匹配的 EMV 码已被编辑或损坏。 |
| 危险的协议 | javascript:、data:、file:、ms-msdt:、search-ms: 及类似协议显示为红色。打开应用而非网页的二维码会得到黄色提示。 |
| Wi-Fi 详情 | 网络名称、安全类型、是否有密码以及网络是否隐藏。开放网络会得到警告。 |
更多示例
开放 Wi-Fi 网络的二维码
WIFI:T:nopass;S:Airport Free WiFi;;Wi-Fi network。Network name (SSID):Airport Free WiFi,Security:nopass,Password:none,Hidden network:no。黄色警告:Open network(开放网络):流量在 Wi-Fi 层面未加密。一条提示指出,攻击者会架设开放的仿冒网络来拦截流量。
带身份验证器密钥的二维码
otpauth://totp/Example:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=ExampleTwo-factor (TOTP/HOTP) secret。在你按下 Show secret 之前,内容显示为 secret=••••••••。字段:Type TOTP,Issuer Example,Account alice[@]example[.]com,Secret present(16 个字符,已隐藏),Algorithm SHA1(默认),Digits 6(默认),Period 30 s,另有一条红色警告,提醒切勿把这张图片发给任何人。
伪装成付款的代币授权(EIP-55 测试地址)
ethereum:0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359@1/approve?address=0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed&uint256=115792089237316195423570985008687907853269984665640564039457584007913129639935Ethereum payment request。字段:Network Ethereum,Contract 0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359,Chain ID 1,Function approve,Address parameter(被授权方)和 Token amount (raw units),此处为 78 位的最大值。红色警告:该请求让你的钱包调用 approve,授予 0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed 转移你代币的权限。钱包盗币程序用的正是这一手法。随后是一条黄色提示:请比对完整地址。
常见问题解答
解码器会显示二维码的哪些信息?
显示经过无害化处理、无法点击的解码文本及其类型:网页链接(主机、Punycode、IP 主机、@ 之前的用户信息、短链接和包装链接)、Wi-Fi 网络、电子邮件、电话或短信草稿、加密货币、UPI 或 EMV 付款请求、otpauth 双因素认证密钥、联系人名片或日历事件。每种类型都会给出与之相关的警告,例如 otpauth 码携带的是 2FA 密钥。
为什么有些图片无法解码?
条形码可能过小、模糊、边缘被裁切或被反光遮挡;通常将图片裁剪为仅包含条形码及其白色边框会有所帮助。 解码器会先尝试使用浏览器内置的条形码检测器(如有),然后对图像(将其最长边缩小至1,600像素)应用jsQR算法, 黑白阈值识别、添加白色边框,以及对于最长边不超过800像素的图像,进行2倍放大处理。
图片会被上传吗?
不会。图片在你的浏览器中用内置的 jsQR 库解码,从不发送到任何地方。本页面不使用摄像头,因此请先拍照或截图,再载入或粘贴。
如果图片中不止一个二维码怎么办?
如果你的浏览器有内置条码检测器,它找到的每个二维码都会以 QR code 1 of N 的形式列出,各自带有警告。备用的 jsQR 每张图片只读取一个二维码,因此请把图片裁剪到你关心的那个二维码。
为什么 Wi-Fi 密码或双因素认证密钥是隐藏的?
这样它就不会显示在屏幕上,也不会出现在结果截图中。Show secret 会在内容框中显示它,而 Copy raw 始终复制完整文本。
可以拖入其他网站上的图片链接吗?
不可以。本页面只读取图片文件和粘贴的图片,不会下载任何内容。请先保存图片,或复制图片本身再粘贴。粘贴 base64 形式的 data:image 文本也可以。