早知道我就买70MB升级到100MB的了,好气。
示波器上面有三个功能:电源分析 示波器 信号发生器,各有30次的机会,但是可以通过计算获得密钥。
破解需要一个是814的Serial Number和Instrument Model,不是什么ID。
工具在末尾了,就是一个Python脚本,输入自己机器的两个消息,输出,然后在示波器上面输入,重启就好了,失败了别找我,我不清楚。
就是这样
这里的话是一个噪音,因为我是想测量一个电源的性能来着
网线连接示波器在路由器,然后IP是自动获取,在浏览器打开这个IP
在SCPI里面输入指令:
很多教程说的是这个命令,其实不对哦
是我打白码的地方,这个是对的
这个没错
然后在里面去算号
会输出很多的东西,这里安装是在示波器里面安装
先安装一个试试
OK,成功
好哦,总之是破解成功了
这些是支持的配件
可以看一下现在是多少带宽的
试试能不能破解到200MB的带宽?
注意前提是你先看示波器的带宽是多少,密钥是多少,然后和算号器的密钥去对比,成功了在破解,不然就是我下面的下场失败!
现在是100M
带宽密钥
看来是不一样的
发送成功,先重启,因为我没有重启就看了下带宽,还是100mb
这里现输入的是150MB的key试试,如果成功那就是可以下一步,还是不可以。
失败了家人,不过100MB也还行。
这个是没有打开电源分析就是普通测量
支持这个选件
但是好像需要搞一个硬件做隔离
这个是一个桥整流什么的
这里就设置成C1输入
打开
电源纹波是评价直流电源的重要参数,表示输出直流电压的波动量。纹波分析能够测量电源输出端,纹波的当前值、平均值、最小值、最大值、标准差和计数值。
这个是开启了高级测量,就是下下面可以添加几个测量选项
这是我电源的一个数据文件,可以看到应该是有点虚标
上面的直方图可以放大
可以多加几组测量
基本测量是很紧凑的
电源输出的纹波应该是优化10mV
10mV的触发,还是10以内,反正我是达不到数据要求
我用的是TPS7A49当正的LDO
就是这样
大大的电容
和30配成正负电源供电
事实上测量这块需要知道的东西很多,我还在学
看看这个框图
LDO=low dropout regulator,低压差 线性 稳压器。
低压差:输出压降比较低,例如输入3.3V,输出可以达到3.2V。
线性:LDO内部的MOS管工作于线性电阻。
稳压器:说明了LDO的用途是用来给电源稳压。
分压取样电路:通过电阻R1和R2对输出电压进行采集;
基准电压:通过bandgap(带隙电压基准)产生的,目的是为了温度变化对基准的影响小;
误差放大电路:将采集的电压输入到比较器反向输入端,与正向输入端的基准电压(也就是期望输出的电压)进行比较,再将比较结果进行放大;
晶体管调整电路:把这个放大后的信号输出到晶体管的控制极(也就是PMOS管的栅极或者PNP型三极管的基极),从而这个放大后的信号(电流)就可以控制晶体管的导通电压了,这就是一个负反馈调节回路。
LDO的优点包括:
(1)结构简单,外围器件少,使用方便。
(2)无开关噪声,可应用于要求高精度低噪声的模拟电路中。
但缺点也同样明显:
(1)只能降压,不能升压。
(2)效率低,特别是输入电压高的情况下,一般负载电流小于1A情况下使用。
NMOS LDO:针对某些大电流低压差需求的场合,NMOS LDO应运而生。
PMOS LDO:常见的LDO是由P管构成的,由于LDO效率比较低,因此一般不会走大电流。
等我学明白再回来写!
代码语言:javascript复制https://www.eevblog.com/forum/testgear/siglent-sds-sdg-hack-script/
代码语言:javascript复制https://www.eevblog.com/forum/testgear/sds800x-hd-review-demonstration-thread/
代码语言:javascript复制https://www.json.cn/run/python3/
代码语言:javascript复制https://www.shili8.cn/article/detail_20000400220.html
代码语言:javascript复制https://detail.tmall.com/item.htm?_u=j1k9lc951137&id=754272057426&spm=a1z09.2.0.0.297b2e8d4kns2W
代码语言:javascript复制# Keygen program for Siglent oscilloscopes
import hashlib
# 运行MD5_SRLN? 命令获得SCOPEID
# 将下面的SCOPEID替换为本机ID
SCOPEID = '0000000000000000'
# 将下面的SN替换为本机代码
SN = 'SDS00000000000'
# 运行MD5_PR?命令获得本机型号
# 将下面的Model 替换为本机型号"
Model = 'SDS800X-HD'
bwopt = ('70M', '100M','200M')
otheropt = ('AWG', 'MSO', 'PWA',)
# 不要修改这里 !!!
hashkey = '5zao9lyua01pp7hjzm3orcq90mds63z6zi5kv7vmv3ih981vlwn06txnjdtas3u2wa8msx61i12ueh14t7kqwsfskg032nhyuy1d9vv2wm925rd18kih9xhkyilobbgy'
def gen(x):
h = hashlib.md5((
hashkey
(Model 'n').ljust(32, 'x00')
opt.ljust(5, 'x00')
2*(((SCOPEID if opt in bwopt else SN) 'n').ljust(32, 'x00'))
'x00'*16).encode('ascii')
).digest()
key = ''
for b in h:
if (b <= 0x2F or b > 0x39) and (b <= 0x60 or b > 0x7A):
m = b % 0x24
b = m (0x57 if m > 9 else 0x30)
if b == 0x30:
b = 0x32
if b == 0x31:
b = 0x33
if b == 0x6c:
b = 0x6d
if b == 0x6f:
b = 0x70
key = chr(b)
return key.upper()
print('INFO: 在输入新密钥之前检查生成的密钥 !!!' 'r')
print('您可以通过在SCIP提示符下运行 “PRBD?” 来获得带宽' 'r')
print('您可以通过在SCIP提示符下运行 “MCBD?” 来获得带宽密钥' 'r')
print('将您的密钥与生成的密钥进行比较')
print('INFO: 本机带宽查询到的秘钥必须与脚本生成的带宽秘钥是相同的 !!!')
print('--------------------------------')
print('以下是带宽代码,通过SCIP提示输入这些代码')
for opt in bwopt:
print('{:5} {}'.format(opt, gen(SCOPEID)))
print('--------------------------------')
print('以下是选件代码,在示波器UI上输入这些代码')
print('SDS800XHD-FG 选件输入AWG后代码')
print('SDS800XHD-16LA 选件输入MSO后代码')
print('SDS800XHD-PA 选件输入PWA后代码')
for opt in otheropt:
print('{:5} {}'.format(opt, gen(SN)))
代码语言:javascript复制import hashlib
SCOPEID = 'xxxxxxxxxxxx'
Model = 'SDS800X-HD'
bwopt = ('25M', '40M', '50M', '60M', '70M', '100M', '150M', '200M', '250M', '300M', '350M', '500M', '750M', '1000M', 'MAX', 'AWG', 'WIFI', 'MSO', 'FLX', 'CFD', 'I2S', '1553', 'PWA', 'SENT', 'MANC')
hashkey = '5zao9lyua01pp7hjzm3orcq90mds63z6zi5kv7vmv3ih981vlwn06txnjdtas3u2wa8msx61i12ueh14t7kqwsfskg032nhyuy1d9vv2wm925rd18kih9xhkyilobbgy'
def gen(x):
h = hashlib.md5((
hashkey
(Model 'n').ljust(32, 'x00')
opt.ljust(5, 'x00')
2*((SCOPEID 'n').ljust(32, 'x00'))
'x00'*16).encode('ascii')
).digest()
key = ''
for b in h:
if (b <= 0x2F or b > 0x39) and (b <= 0x60 or b > 0x7A):
m = b % 0x24
b = m (0x57 if m > 9 else 0x30)
if b == 0x30: b = 0x32
if b == 0x31: b = 0x33
if b == 0x6c: b = 0x6d
if b == 0x6f: b = 0x70
key = chr(b)
return key.upper()
for opt in bwopt:
print('{:5} {}'.format(opt, gen(SCOPEID)))
代码语言:javascript复制https://www.siglent.com/download/?ProId=110
代码语言:javascript复制https://blog.csdn.net/weixin_41750643/article/details/136644187
代码语言:javascript复制https://blog.csdn.net/weixin_41750643/article/details/136644187?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-136644187-blog-135455736.235^v43^control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-136644187-blog-135455736.235^v43^control&utm_relevant_index=2