from base64 import b64decode, b64encode
def vigenere(msg: bytearray, key):
for i in range(len(msg)):
msg[i] ^= key[i % len(key)]
def decode_str(s):
try:
s = s.encode()
except:
pass
if len(s) % 4 != 0:
s += b'=' * (4 - len(s) % 4)
s = bytearray(b64decode(s))
vigenere(s, [3, 2, 1, 5, 6, 4, 8, 7, 9])
if len(s) % 4 != 0:
s += b'=' * (4 - len(s) % 4)
s = b64decode(s)
try:
s = s.decode()
except:
pass
return s
def encode_str(s):
try:
s = s.encode()
except:
pass
s = bytearray(b64encode(s).strip(b'='))
vigenere(s, [3, 2, 1, 5, 6, 4, 8, 7, 9])
return b64encode(s).strip(b'=').decode()
def keygen(machine_code):
issue_to = 'Ichild'
time = '2077-12-31 23:59:59'
machine_code = decode_str(machine_code)
computer_name, computer_uid = machine_code.split('|')
data = {'code': 1, '电脑名称': computer_name, '电脑UID': computer_uid, '到期时间': time, '颁发者': issue_to}
return encode_str(str(data).replace('\'', '"'))
print(keygen('UUdXUVU1WldcQDNKV0BBf1ZcN3VnQVc2RUNhRU1VSDVIXGBzTFdUcUhAQTJYejNDV0NRPEtdRURPUFN9WVNbQU1FTDRWWQ'))
'''
248: ZzAwdV9z # wmic
272: WjFPcmVpMWxtVEwx # csproduct
296: WTBXNQ # get
320: VVRXT1RF # UUID
344: NnAqRDN2WzA8YlF5M0pXZDA+ekA # 激活失败!
368: WjA4blxV # code
392: NjdSNDBNW1U8WUFPMDBhfw # 电脑名称
416: NjdSNDBNW1VfVm5E # 电脑UID
440: NltocjN0cWE8c2czM1xhOA # 到期时间
464: ZlptMGNXOUldUDNqX0VGZ2ZNc3ZjUXZ+a3A # yyyy-MM-dd hh:mm:ss
488: NWNKRzNdI1U/SkFH # 颁发者
512: NnN4bDBII0g8TzBmMjF9RQ # 欢迎你,
536: NltocjN0cWE8c2dtMHZ9bjA+emM # 到期日期:
560: T2s4NWVpTnJqMXppYUFofmVnTnRiXVRiUVBqdmFWNQ # ./translations/qt_ag.qm
'''
|