【鼎阳SDS804示波器带宽与选件升级破解方法】

方法来自eevblog
https://www.eevblog.com/forum/testgear/siglent-sds-sdg-hack-script/
在这里插入图片描述

在这里插入图片描述

因为要使用SCPI功能,所以首先需要使用网页连接到示波器,具体方法见官方用户手册,可在官网找到。
SDS800X HD 系列示波器支持用户通过 Web 浏览器访问和控制示波器。在网页服务界面下可以设
置访问的密码。用户在浏览器地址栏输入示波器 IP 地址,即可访问示波器。
在这里插入图片描述
在SCPI命令行输入MD5_SRLN?获取示波器ID
在这里插入图片描述

在SCPI命令行输入MD5_PR?获取示波器型号
在这里插入图片描述

在Home界面查询SN码
在这里插入图片描述

在线运行python脚本网站: https://www.json.cn/runcode/run_python3/
如果未升级前的本机带宽秘钥与脚本生成的一样,说明参数没有错误,
则可以使用脚本生成的更高带宽的带宽秘钥替换原来的秘钥,完成带宽破解。

# 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)))
  • 11
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值