![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
TEMPEST HDMI泄漏接收
文章平均质量分 65
老邵的科创世界
老邵的科创世界
软件无线电和无人机飞控的代码讲解和应用开发
展开
-
TEMPEST HDMI泄漏接收 5
上一篇文章留下了一个问题,就是如何解决垂直线变斜的问题。这个问题本来应该从通信上来解决,找出行同步信号,然后在这个信号处换行。但是实际并不好做,因为hdmi并不是无线通信标准,没有这方面的资料。因此,我打算用图像处理的方式来解决。即找出原始画面的规律,然后从画面上直观地做一些修改,来改善效果。我本来考虑过给图形做仿射变换,相当于旋转图像,但是我估计效果不会太好。后来我想了想,目前的问题无非就是每个行开始处有个offset的问题。我只要把这个offset位置的像素点挪到最开头那个点就行。还有个问题是这个off原创 2022-06-28 23:07:38 · 1606 阅读 · 1 评论 -
TEMPEST HDMI泄漏接收 4
接下来我们开始优化画面首先我改了换行位置,原本是463才换行,差不多一行重复出现8个重复画面。我把463/8得到58。在x>=58时换行,可以看到只剩一个画面了,但是画面宽度变窄,显得变形了。这时候我再对每行的像素点差值,大概每个像素点重复往右画10遍,就可以得到如下效果:可以看出现在画面放大了,基本上显示界面就对应了1个屏幕的泄漏画面。我的代码如下: 但是从画面看出来,整个屏幕还是斜的,本来白色矩形在我泄漏屏幕上应该垂直,但是现在是从右上往左下角倾斜的。这个问题也可以解决,需要把每一行的数据单独存下原创 2022-06-26 08:32:55 · 557 阅读 · 0 评论 -
TEMPEST HDMI泄漏接收 3
第一篇文章我本打算用python写代码并使用rtlsdr来接收,这样不但代码简洁好懂,而且设备也非常便宜,很好入门。但是第二篇文章我为了尽早实现效果还是采用了c++语言和hackrf。可能会对入门者不太友好,所以这两天我继续做python+rtlsdr的版本。现在已经初有成效了以上是我的代码,一共才30多行,十分简介。可以用python2.7运行。当rtlsdr在hdmi线缆附近时,效果如下: 这是泄漏电脑的桌面:可以看得出他们是比较呼应的——总体界面都是黑色,上面都有一条白色横条,然后左边有一条垂直原创 2022-06-25 23:23:37 · 1475 阅读 · 1 评论 -
TEMPEST HDMI泄漏接收 2
我后来找到了gr-tempest包,它基于gnuradio重置了tempestsdr,由于是gnuradio,比较方便我本地安装,因此我跑了一下,结果没跑出实际效果,可能因为它默认用usrp,我这用的是hackrf+重采样,硬件不太一样导致的。但是它里面还有个simulate的流图,可以导入图片再重新解出来。这个我玩成功了,通过调试,我发现在不同sample correction时,会出现类似第一篇文章的样子,也会出现比较像样的画面。所以我的信心大增。后来我还是决定在我以前的c++/hackrf实现的模拟视原创 2022-06-24 06:32:35 · 1032 阅读 · 1 评论 -
TEMPEST HDMI泄漏接收 1
之前听说有个神奇的软件叫做tempestsdr,可以用sdr来接收显示器泄露出来的信号。这个软件说实话很难安装,因为是java的,并且只给了代码。但是我看了他的代码其实核心就是AM解调,因此我有了自己写代码来实现这个功能的想法。tempestsdr的名字其实不是随便起的,tempest是Temporary emanation and spurious transmission的缩写,专指这种类型的泄漏。我用了另一个知名软件TVSharp也大致看到了HDMI泄漏的信号,进一步验证了我的想法,就是用AM解调并把原创 2022-06-23 15:02:47 · 1668 阅读 · 0 评论