Advertisement
Xuaxilco

Keygen for Siglent Spectrum Analyzers

Aug 9th, 2022
1,875
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.29 KB | None | 0 0
  1. # Keygen for Siglent Spectrum Analyzers
  2. # Beware:
  3. #   > Only tested on SVA1015X
  4. #   > Output features must be entered in lower case!
  5.  
  6. import hashlib
  7.  
  8. # You get this by running "SCOPEID?" at the SCPI prompt; Interface available via HTTP on the device IP address.
  9. SCOPEID = ''
  10. # Select one of the four options below. Beware the SVA1015X tested required 'SVA1000X' as the model.
  11. # 'SVA1000X','SVA1015X','SVA1032X','SVA1075X'
  12. Model = ''
  13.  
  14. otheropt = ('AMK', 'EMI', 'DMA', 'AMA', 'DTF')
  15.  
  16. hashkey = '5zao9lyua01pp7hjzm3orcq90mds63z6zi5kv7vmv3ih981vlwn06txnjdtas3u2wa8msx61i12ueh14t7kqwsfskg032nhyuy1d9vv2wm925rd18kih9xhkyilobbgy'
  17.  
  18. def gen(x):
  19.     h = hashlib.md5((
  20.         hashkey +
  21.         Model.ljust(32, '\x00') +
  22.         opt.ljust(5, '\x00') +
  23.         SCOPEID.ljust(32, '\x00') +
  24.         '\x00'*48).encode('ascii')
  25.     ).digest()
  26.     key = ''
  27.     for b in h:
  28.         if (b <= 0x2F or b > 0x39) and (b <= 0x60 or b > 0x7A):
  29.             m = b % 0x24
  30.             b = m + (0x57 if m > 9 else 0x30)
  31.         if b == 0x30:
  32.             b = 0x32
  33.         if b == 0x31:
  34.             b = 0x33
  35.         if b == 0x6c:
  36.             b = 0x6d
  37.         if b == 0x6f:
  38.             b = 0x70
  39.         key += chr(b)
  40.     return key.lower()
  41.  
  42. for opt in otheropt:
  43.     print('{:5} {}'.format(opt, gen(SCOPEID)))
  44.    
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement