Siglent SDS2000X 破解 500MHz 等选件

步骤

1. 获取自己示波器的产品ID号

打开示波器的 功能 -> 系统信息 在弹出的系统信息面板中有一个产品ID号,格式为:xxxx-xxxx-xxxx-xxxx

2. 计算序列号

执行以下Python脚本,根据提示输入上一步获取到的ID号。

如果你本地没有Python运行环境,可以使用一些在线执行工具。例如:programizonline-python 等。只需要将下面的代码复制到网站中然后点击Run后,根据提示输入即可。

也可以选择使用Replit,登录使用该页面上部署的程序。

import hashlib

while True:
  print('请输入您示波器的产品ID号,使用回车键确认:', end='')
  SCOPEID = input()
  SCOPEID = SCOPEID.replace('-', '')
  SCOPEID = SCOPEID.replace('\n', '')
  SCOPEID = SCOPEID.replace('\r', '')
  if len(SCOPEID) != 16:
    print("产品ID号位数可能错误,请检查。")
    continue
  else:
    break

def gen(x):
  h = hashlib.md5((
      '5zao9lyua01pp7hjzm3orcq90mds63z6zi5kv7vmv3ih981vlwn06txnjdtas3u2wa8msx61i12ueh14t7kqwsfskg032nhyuy1d9vv2wm925rd18kih9xhkyilobbgy'
      + ('SDS2000X+' + '\n').ljust(32, '\x00') + x.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 or b == 0x31:
      b += 2  # 0->2 1->3
    if b == 0x6c or b == 0x6f:
      b += 1  # l->m o->p
    key += chr(b)
  return key.upper()


table = {
    "AWG": "SDS_2000XP_FG",
    "MSO": "SDS_2000XP_16LA",
    "FLX": "SDS_2000XP_FlexRay",
    "CFD": "SDS_2000XP_CANFD",
    "I2S": "SDS_2000XP_I2S",
    "1533": "SDS_2000XP_1553B",
    "PWA": "SDS_2000XP_PA",
    "SENT": "SDS_2000XP_SENT",
    "MANC": "SDS_2000XP_Manch",
    "100M": "SDS_2000XP_4BW01",
    "200M": "SDS_2000XP_4BW02",
    "350M": "SDS_2000XP_4BW03",
    "500M": "SDS_2000XP_4BW05",
}

print("升级带宽激活码:")
for opt in ('25M', '40M', '50M', '60M', '70M', '100M', '120M', '150M', '200M',
            '250M', '300M', '350M', '500M', '750M', '1000M'):
  line = gen(opt)
  extra = "" if opt not in table else "参考选项:" + table[opt]
  print(f"{opt:<5} {'-'.join([line[i:i+4] for i in range(0,16, 4)])} {extra}")

print("\n升级选件激活码:")
for opt in ('MAX', 'AWG', 'WIFI', 'MSO', 'FLX', 'CFD', 'I2S', '1553', 'PWA',
            'MANC', 'SENT'):
  line = gen(opt)
  extra = "" if opt not in table else "参考选项:" + table[opt]
  print(f"{opt:<5} {'-'.join([line[i:i+4] for i in range(0,16, 4)])} {extra}")

3. 输入序列号

然后打开“功能 -> 菜单 -> 软件选件 ”。在“选件类型”选择需要升级的选件,然后下方输入激活码,然后点击安装。如果出现“安装成功,请重新启动”那么恭喜,该选件已经成功激活,如果显示“数据无效”则表示激活码不正确,检查有没有输错。

附录

对照表

对照表不全,欢迎补充。

选件类型 选件功能 激活码标识
SDS_2000XP_FG 任意波形发生器 AWG
SDS_2000XP_16LA 16路数字通道软件,数字逻辑分析仪,需购买SPL2016逻辑探头。 MSO
SDS_2000XP_FlexRay FlexRay 触发/解码 FLX
SDS_2000XP_CANFD CAN FD 触发/解码 CFD
SDS_2000XP_I2S I2S 触发/解码 I2S
SDS_2000XP_1553B MIL-STD-1553B 触发/解码选件 1533
SDS_2000XP_PA 电源分析 PWA
SDS_2000XP_SENT SENT协议触发及解码套件 SENT
SDS_2000XP_Manch Manchester协议解码 MANC
SDS_2000XP_4BW01 升级到100M 100M
SDS_2000XP_4BW02 升级到200M 200M
SDS_2000XP_4BW03 升级到350M 350M
SDS_2000XP_4BW05 升级到500M 500M

:带宽升级必须一步步来,先升级4BW01才会出现4BW02,依次升级,最终到500M。

创建时间:2024-03-27
最后修改:2024-03-27

反馈