当前位置:网站首页>TEMPEST HDMI泄漏接收 4
TEMPEST HDMI泄漏接收 4
2022-07-01 11:05:00 【老邵的开源世界】
接下来我们开始优化画面
首先我改了换行位置,原本是463才换行,差不多一行重复出现8个重复画面。我把463/8得到58。
在x>=58时换行。
from pylab import *
from rtlsdr import *
import cv2
sdr = RtlSdr()
# configure device
sdr.sample_rate = 1.951047e6
sdr.center_freq = 395.991e6
sdr.gain = 60
# init for opencv
x = 0
y = 0
img=np.zeros((600,600,1), np.uint8)
while True:
samples = sdr.read_samples(1024*100) #type(sample) is numpy.complex128
for sample in samples:
mag = np.sqrt( sample.imag * sample.imag + sample.real * sample.real)
value = mag * 255 * 10
img[y, x] = value
x = x + 1
if (x >= 58):
x = 0
y = y + 1
if (y >= 500):
y = 0
cv2.imshow("HDMI", img)
if(cv2.waitKey(10)==27):
break
sdr.close()可以看到只剩一个画面了,但是画面宽度变窄,显得变形了。

这时候我再对每行的像素点插值,大概每个像素点重复往右画10遍,就可以得到如下效果:

可以看出现在画面放大了,基本上显示界面就对应了1个屏幕的泄漏画面。
行差值的代码如下:
from pylab import *
from rtlsdr import *
import cv2
sdr = RtlSdr()
# configure device
sdr.sample_rate = 1.951047e6
sdr.center_freq = 395.991e6
sdr.gain = 60
# init for opencv
x = 0
y = 0
img=np.zeros((600,600,1), np.uint8)
while True:
samples = sdr.read_samples(1024*100) #type(sample) is numpy.complex128
for sample in samples:
mag = np.sqrt( sample.imag * sample.imag + sample.real * sample.real)
value = mag * 255 * 10
img[y, x] = value
img[y, x + 1] = value
img[y, x + 2] = value
img[y, x + 3] = value
img[y, x + 4] = value
img[y, x + 5] = value
img[y, x + 6] = value
img[y, x + 7] = value
img[y, x + 8] = value
img[y, x + 9] = value
x = x + 10
if (x >= 580):
x = 0
y = y + 1
if (y >= 500):
y = 0
cv2.imshow("HDMI", img)
if(cv2.waitKey(10)==27):
break
sdr.close()但是从画面看出来,整个屏幕还是斜的,本来白色矩形在我泄漏屏幕上应该垂直,但是现在是从右上往左下角倾斜的。
这个问题也可以解决,需要把每一行的数据单独存下来,然后上一行多出来的数据拼到下一行开头,或者从下一行开头取数据拼给上一行结尾。
本次实验泄漏画面是这样的,留作参考:

边栏推荐
- The idea runs with an error command line is too long Shorten command line for...
- 基金国际化的发展概况
- [.NET6]使用ML.NET+ONNX预训练模型整活B站经典《华强买瓜》
- dotnet 控制台 使用 Microsoft.Maui.Graphics 配合 Skia 进行绘图入门
- 名创拟7月13日上市:最高发行价22.1港元 单季净利下降19%
- Cvpr22 | CMT: efficient combination of CNN and transformer (open source)
- What are the advantages and disadvantages of PHP
- 持续交付-Pipeline入门
- 爬虫(2) - Requests(1) | Requests模块的深度解析
- The first anniversary of the data security law, which four major changes are coming?
猜你喜欢

Global filter (processing time format)

kubernetes之ingress探索实践

In June 2022, it was the first programming language?!

Ten years of sharpening a sword: unveiling the secrets of ant group's observability platform antmonitor

软件项目管理 9.2.软件项目配置管理过程

JS foundation -- data type

node版本管理器nvm安装及切换

技术分享 | Linkis参数介绍

Wireshark TS | confusion between fast retransmission and out of sequence

Neurips 2022 | cell image segmentation competition officially launched!
随机推荐
Cvpr22 | CMT: efficient combination of CNN and transformer (open source)
Handling distributed transactions with powerful dbpack (PHP tutorial)
Personal mall two open Xiaoyao B2C mall system source code - Commercial Version / group shopping discount seckill source code
Error: missing revert data in call exception
华为HMS Core携手超图为三维GIS注入新动能
Dotnet console uses microsoft Maui. Getting started with graphics and skia
数据库实验报告(一)
Leetcode 181 Employees exceeding the manager's income (June 29, 2022)
I'd like to know where I can open an account in Guangzhou? Is it safe to open an account online now?
Global filter (processing time format)
CVPR 2022 | Virtual Correspondence: Humans as a Cue for Extreme-View Geometry
12 product management platforms that everyone is using
内存泄漏定位工具之 valgrind 使用
Database experiment report (II)
How does MySQL copy table data from one database to another (two databases are not linked to the same database)
Node version manager NVM installation and switching
[AI information monthly] 350 + resources! All the information and trends that can't be missed in June are here! < Download attached >
软件项目管理 9.2.软件项目配置管理过程
China's cellular Internet of things users have reached 1.59 billion, and are expected to surpass mobile phone users within this year
. Net 5.0+ does not need to rely on third-party native implementation of scheduled tasks