0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享一种使用RTH示波器探测并解码HDMI的方法

罗德与施瓦茨中国 来源:罗德与施瓦茨中国 2024-03-14 13:47 次阅读

引言

现代社会中,人们的日常工作和生活愈发依赖于计算机。在处理一些机密事务时,信息安全不可谓不重要。在一些单位会采取断网或禁止插入U盘的方式来防止泄密。然而,计算机的EMI问题还可能导致信息从其它途径泄露。本文介绍了一种使用RTH示波器探测并解码HDMI的方法,并解释了其实现原理。

RTH示波器相比市面上常见的软件无线电接收机采样率高了很多倍,因此解析出的画面会更清晰,有利于看清小字体。另外,RTH示波器是手持仪表,携带非常方便,还能通过WiFi方式实现信号回传,简化了示波器与上位机之间的连接,降低了整套探测系统的复杂度。

e39ca526-e1be-11ee-a297-92fbcf53809c.png

既然是EMI问题导致的信息泄露,我们可以先尝试用示波器的近场探头配合示波器FFT功能在被攻击电脑附近进行探测。当我们移动近场探头到达被攻击电脑的HDMI接口附近,示波器频谱上会出现好多信号。

e3abd29e-e1be-11ee-a297-92fbcf53809c.pnge3cee32e-e1be-11ee-a297-92fbcf53809c.png                                                    

▲从上图可知,HDMI显示信号已经泄露到了空气中,如果我们能够找出信号规律,即可逆向得到原始画面内容。

e3e4c9c8-e1be-11ee-a297-92fbcf53809c.png

我们可以先在被攻击电脑上使用比较简单的图形,并观察示波器的时域波形,来尝试找出电脑画面与泄露信号之间的规律。

e3f0a8ba-e1be-11ee-a297-92fbcf53809c.png

比如我们可以在被攻击电脑上开启画图程序,并填充黑色背景。然后中间开启一个白色长条形的记事本窗口,并尝试更改这个窗口的宽度,或左右拖动这个窗口。

e4059716-e1be-11ee-a297-92fbcf53809c.png

调整示波器的水平/垂直刻度和触发方式,你会得到这样有规律的时域波形。并且你会发现,在示波器屏幕中间的触发位置处有一个窄矩形,同时它的左数3格位置也有类似的窄矩形。说明这种矩形的重复周期大概是30us。当我们在被攻击电脑上左右拖动记事本窗口的边沿,则两个窄矩形之间的较宽矩形就会对应运动,并且当电脑屏幕上的记事本运动到屏幕边界处时,示波器显示的宽矩形也会靠近窄矩形的位置。

e4377538-e1be-11ee-a297-92fbcf53809c.gif

根据上述规律,我们可以大胆猜测在窄矩形之间的波形,对应的是电脑屏幕上的一行,示波器从左往右的波形对应于电脑屏幕的一行中从左往右的像素点。由于目前被攻击电脑的屏幕内容比较简单,因此可以认为它的每一行数据基本是相同的。这也就是为什么时域波形看上去是周期性的,重复周期是30us。如果对模拟视频制式比较熟悉,你会发现这一点与PAL或NTSC制式非常相似。

因此,我们可以尝试用时域波形的幅度对应于像素点的亮度,把每一行的波形都用绘图软件库中的函数绘制出来,行之间的顺序也参考模拟视频,把左侧出现的行放在上方,右侧出现的行放在下方。

e4c2ddda-e1be-11ee-a297-92fbcf53809c.png

大致猜出信号规律后,我们就可以开始着手写程序了。

我们需要先配置示波器程控开发环境(以Ubuntu系统为例):

1.安装python3.8

2.在罗德与施瓦茨官网搜索并下载RSVisa(对于Ubuntu系统,可下载deb包,并双击安装)

3.使用pip3 install命令安装pyvisa, rsinstrument, opencv-python等软件库 这样就配置完成了示波器程控开发环境。

然后我们找到罗德与施瓦茨在github上的账号中的RTH示波器范例,并逐步修改,实现自己的程序。

e4ddf570-e1be-11ee-a297-92fbcf53809c.png    

在上方代码中,我修改了RTH的设备地址、时基设置、通道刻度、触发方式(可用代码设置或保持示波器原先的设置)。

e4f0d348-e1be-11ee-a297-92fbcf53809c.png    

在上方代码中,设置了数据类型,并请求数据。然后获取通道的刻度和偏置,实现数据归一化。最终,用matplotlib绘制时域波形。

e5129992-e1be-11ee-a297-92fbcf53809c.png    

运行上述代码,你就能在程控电脑的屏幕上得到上图结果。你会观察到,现在程控电脑上得到的波形与示波器探测的波形完全一致,比较宽的矩形对应的就是被攻击电脑上的记事本窗口,而比较窄的矩形对应的就是被攻击电脑的屏幕边界。下一步,我们只要把波形幅度转为像素点亮度即可。

e523b826-e1be-11ee-a297-92fbcf53809c.png

成功运行了RTH程控范例后,我们即可对此范例程序进一步修改,以验证我们之前猜测的想法。 e53ff6bc-e1be-11ee-a297-92fbcf53809c.png      

上图是我修改后的代码,我做的主要修改是先对整个解码程序加了一个循环,这样解码的画面才可以不停刷新,而不是只显示一副画面。我用abs来对波形数据取模,相当于实现了AM解调,并把解调结果依次绘制在OpenCV的画布上。绘制顺序是从左往右绘制,到达行尾后换行,到达列尾后重新回到画布左上角。绘制完一副画面后,用imshow函数把画面显示出来。

e561b41e-e1be-11ee-a297-92fbcf53809c.gif

e577fc42-e1be-11ee-a297-92fbcf53809c.png

成功实现HDMI解码后,我们还可以查询HDMI规范,了解为什么这种高清数字信号能用模拟视频解调的方式解出来。

e591906c-e1be-11ee-a297-92fbcf53809c.png        

从上图可知HDMI在TMDS模式时,3个通道独立发送数据。它们对应于HDMI线缆中的3对差分线。更具体来说,这3对差分线中分别传输的数据就是R、G、B数据。

e5ab178a-e1be-11ee-a297-92fbcf53809c.png      

不仅如此,从上图可知这三路R、G、B数据是按像素点依次传输的。当某一行的像素点从左往右传输完成后,就会换行,传输下一行的RGB数据,这一点与模拟视频几乎一样,这就解释了为何我们可以用类似模拟视频解调的方式,实现HDMI信号的解码。不仅HDMI信号以此方式传输,早期的DVI信号也是这种方式。因此,也能用类似的方式解码。

除了这些视频接口外,显示屏内部的专用信号也存在信息泄露问题,这些问题可能由于显示屏在生产过程中内部电路板的差分走线的不对称而引入。

结语

通过本文,相信你已经学会如何自己写程序控制示波器,并实现对HDMI泄露信号的探测和解码。在日常工作中,罗德与施瓦茨的示波器和近场探头也是调试EMI问题的好帮手。除此之外,罗德与施瓦茨还提供了全套专业的EMC测试方案,帮助你整改目标设备的EMC问题。



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 示波器
    +关注

    关注

    111

    文章

    5661

    浏览量

    181787
  • RGB
    RGB
    +关注

    关注

    4

    文章

    763

    浏览量

    57412
  • HDMI信号
    +关注

    关注

    0

    文章

    6

    浏览量

    7705
  • 无线电接收机

    关注

    0

    文章

    6

    浏览量

    1694
  • 时域波形
    +关注

    关注

    0

    文章

    7

    浏览量

    1859

原文标题:【实践分享】| 被夸爆的HDMI信号泄露检测技巧,一台示波器就能实现

文章出处:【微信号:罗德与施瓦茨中国,微信公众号:罗德与施瓦茨中国】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    数字信号处理操作教程_音频解码:3-8 G711A音频解码实验

    、实验目的 学习G711音频的格式和G711A音频解码的原理,实现将BIT格式解码为PCM格式。 二、实验原理 G711 G711是国际电信联盟订定出来的
    发表于 04-24 15:09

    示波器表笔:探测微弱信号的能力与应用

    微弱信号是一项常见的任务。微弱信号可能是来自传感器、放大器输出或其他低幅度信号源的电压变化。示波器表笔是一种常用的测量工具,但在探测微弱信号时,其性能和限制需要得到充分考虑。本文将探讨示波器
    的头像 发表于 04-23 10:08 87次阅读
    <b class='flag-5'>示波器</b>表笔:<b class='flag-5'>探测</b>微弱信号的能力与应用

    深圳特信屏蔽器|GPS信号探测器的作用与工作原理.

    器是一种能够检测分析GPS信号的设备,其主要作用在于帮助用户了解周围环境中的GPS信号情况,提供准确的定位信息。它可以帮助用户快速锁定卫星信号、优化GPS接收效果以及排除GPS信号受阻的原因,为户外定位
    发表于 04-08 09:07

    示波器的使用方法 示波器的用途有哪些?

    示波器一种用于测量电压信号的仪器,它可以将电信号转换为可以在屏幕上显示的波形图形。在电子工程领域,示波器是一个必不可少的仪器,它可以用于许多不同的应用和测量。本文将详细介绍示波器的使
    的头像 发表于 02-18 16:18 512次阅读

    示波器的使用方法步骤 示波器的直流耦合和交流耦合的区别

    示波器一种广泛应用于电子测量的仪器,它用于显示电压波形、频率、相位等电信号的特性。下面将详细介绍示波器的使用方法步骤以及直流耦合和交流耦合的区别。 一、
    的头像 发表于 02-04 13:36 790次阅读

    示波器的使用方法步骤 示波器的主要功能和作用

    示波器一种用于显示电信号波形的仪器,它能够通过测量和显示电压随时间变化的图形,用于分析和诊断电路和信号的性质和特征。示波器广泛应用于电子、电力、通信等领域的实验、测试和维修工作中。 一、示波
    的头像 发表于 01-22 14:54 2462次阅读

    SIGLENT示波器的使用方法

    SIGLENT示波器一种常见的电子测量仪器,广泛应用于电子、通信、计算机等领域。它可以用于观测和分析各种信号,帮助工程师进行电路设计、故障排查和调试等工作。在本文中,我们将详细介绍SIGLENT
    的头像 发表于 01-16 16:49 768次阅读

    泰克示波器校准方法

    示波器是电子工程中不可或缺的仪器,用于测量和显示电信号的波形。泰克示波器一种常见的示波器品牌,确保其准确性和可靠性至关重要。泰克示波器校准
    的头像 发表于 01-08 17:46 277次阅读
    泰克<b class='flag-5'>示波器</b>校准<b class='flag-5'>方法</b>

    贸泽电子供应丰富多样的Würth Elektronik产品

    202 4 年 1 月 3 日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 作为领先的电子和机电元件制造商Würth
    发表于 01-03 15:18 149次阅读

    adv7441 HDMI/DVI PORTB无法识别信号是什么原因导致的?

    专家好: 我使用adv7441A 采集DVI/HDMI信号。PORTA采集DVI信号,PORTB采集HDMI信号 当使用porta采集DVI信号时,可以正常识别采集到信号。但是使用portb采集
    发表于 12-25 06:52

    数字示波器使用方法介绍 数字示波器的用途介绍

    数字示波器使用方法介绍 数字示波器的用途介绍  数字示波器一种电子测试仪器,适用于电子工程师在设计、调试和维护现代电子系统中使用。数字示波器
    的头像 发表于 09-04 16:49 1355次阅读

    示波器电流探头测试大短路电流的方法

    示波器电流探头是电子测试领域中常用的一种仪器,用于测量电路中的电流。在测试大短路电流时,示波器电流探头可以起到重要的作用。本篇文章PRBTEK将介绍使用示波器电流探头测试大短路电流的
    的头像 发表于 07-21 10:45 801次阅读

    HDMI1.3 over IP网线延长器

    此方案是一款MJPEG编解码方式的延长器,编码端(TX)将HDMI音视频信号编码成网络信号进行远距离传输,解码端(RX)将收到的网络信号解码后通过H
    的头像 发表于 07-20 17:40 410次阅读
    <b class='flag-5'>HDMI</b>1.3 over IP网线延长器

    采用TekScope PC进行MIPI D-PHY/ C-PHY解码的使用方法和步骤

    自从有了TekScope,泰克示波器就如同插上翅膀,可以飞到云端,可以摆脱所处位置的限制,可以打通泰克示波器全家族,一个平台覆盖所有。今天跟您分享泰克TekScope应用文章,【坐享“骑”成】第三篇,讲解MIPI D-PHY/C-PHY
    的头像 发表于 07-13 16:04 1395次阅读
    采用TekScope PC进行MIPI D-PHY/ C-PHY<b class='flag-5'>解码</b>的使用<b class='flag-5'>方法</b>和步骤

    是否有一种简单的方法将esp连接到openhab并发送特殊命令?

    嗨, (首先抱歉我的英语不好) 个月以来我直在玩 ESP,我真的很喜欢它! 但现在我想更进步,将 ESP 连接到 Openhab 控制灯、RGB-LED 等。 所以我的问题:是
    发表于 05-24 08:14