大学生
 
- 金币
- 1801
- 好评
- 13
- 信誉
- 98
|
发表于
2025-11-29 13:53:48
来自手机
|
显示全部楼层
| 阅读模式
来自 江苏
全程ai
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- import random
- class XuanAoRegKeygen:
- def __init__(self, soft_sn):
- self.soft_sn = soft_sn
- def sn_cal(self, param):
- char_at = 0
- for i in range(1, 13):
- char_at += (int(self.soft_sn[i-1]) * i)
- result = ((param ^ ((char_at + param) << 4)) + 32955) & 65535
- return result
- def reverse_chknum_a(self):
- target = int(self.soft_sn[:4])
- for reg_part in range(10000, 100000):
- j = 10000
- char_at = 0
- reg_str = str(reg_part).zfill(5)
- for i in range(1, 6):
- char_at += (int(reg_str[i-1]) * j)
- j //= 10
- result = (((self.sn_cal(905) ^ char_at) + 905) // 3) - 905
- if result == target:
- return reg_str
- return None
- def reverse_chknum_b(self):
- target = int(self.soft_sn[4:8])
- for reg_part in range(10000, 100000):
- j = 10000
- char_at = 0
- reg_str = str(reg_part).zfill(5)
- for i in range(6, 11):
- char_at += (int(reg_str[i-6]) * j)
- j //= 10
- result = (((((char_at ^ self.sn_cal(2454)) ^ 2454) // 2) + 2454) // 2) - 2454
- if result == target:
- return reg_str
- return None
- def reverse_chknum_c(self):
- target = int(self.soft_sn[8:12])
- for reg_part in range(10000, 100000):
- j = 10000
- char_at = 0
- reg_str = str(reg_part).zfill(5)
- for i in range(11, 16):
- char_at += (int(reg_str[i-11]) * j)
- j //= 10
- jsn_cal = (char_at ^ self.sn_cal(3074)) ^ 3074
- result = 0
- j3 = 1000
- for i2 in range(12, -1, -4):
- result += ((((jsn_cal >> i2) & 15) + 42) - 48) * j3
- j3 //= 10
- if result == target:
- return reg_str
- return None
- def generate_reg_code(self):
- part1 = self.reverse_chknum_a()
- part2 = self.reverse_chknum_b()
- part3 = self.reverse_chknum_c()
- if part1 and part2 and part3:
- return part1 + part2 + part3
- return None
- if __name__ == "__main__":
- custom_sn = input("请输入12位序列号: ").strip()
- if len(custom_sn) != 12 or not custom_sn.isdigit():
- print("❌ 序列号格式错误,必须是12位纯数字!")
- else:
- generator = XuanAoRegKeygen(custom_sn)
- reg_code = generator.generate_reg_code()
- if reg_code:
- print(f"✅ 注册码: {reg_code}")
- else:
- print("❌ 注册码生成失败")
复制代码 |
|