admin管理员组

文章数量:1660146

介绍:

本文介绍一个基于 Python 实现的硬件信息注册码生成器。该程序通过获取计算机的硬盘序列号、CPU序列号和主板序列号,生成一个唯一的注册码。这个注册码生成器可以用于软件授权或者其他需要硬件绑定的场景。程序使用 WMI 库来获取硬件信息,并使用随机数和字符串操作来生成最终的注册码。

环境配置:

  • Python 3.x
  • Windows 操作系统
  • WMI 库(通常预装在 Windows 系统中)

项目分布:

  1. 获取硬盘序列号
  2. 获取CPU序列号
  3. 获取主板序列号
  4. 组合硬件信息
  5. 生成注册码
  6. 输出注册码

详细代码:

import wmi
import random
import os
# 定义加密和解密字符串
sec = "t95p0q2f6dz1cxmowgjensr7yh384bvualki"
dec = "dn7vhlk3wx1efsyc56zu2bomjtq8i0g4rp9a"
# 创建 WMI 对象
c = wmi.WMI()
# 获取硬盘序列号
for physical_disk in c.Win32_DiskDrive():
    hard_seral = physical_disk.SerialNumber
    print("硬盘序列号为:", hard_seral)
    if len(hard_seral) > 6:
        hard_seral = hard_seral[-6:]
    else:
        print("硬盘信息获取错误!")
        os.exit(0)
# 获取CPU序列号
for cpu in c.Win32_Processor():
    cpu_seral = cpu.ProcessorId.strip()
    print("CPU序列号为:", cpu_seral)
    if len(cpu_seral) > 4:
        cpu_seral = cpu_seral[-4:]
    else:
        print("CPU信息获取错误!")
        os.exit(0)
# 获取主板序列号
for board_id in c.Win32_BaseBoard():
    board_id = board_id.SerialNumber
    print("主板序列号为:", board_id)
    if len(board_id) > 6:
        board_id = board_id[-5:]
    else:
        print("主板信息获取错误!")
        os.exit(0)
# 组合硬件信息
seral = hard_seral + cpu_seral + board_id
print("注册码使用的硬件信息为:", seral)
# 生成注册码
cha_seral = ""
for i in range(0, 14, 2):
    cha_seral += seral[14 - i] + seral[i + 1]
cha_seral = cha_seral + seral[7]
list_seral = list(cha_seral)
list_seral.reverse()
rand_seral = ""
for i in range(10):
    j = random.randint(1, len(list_seral))
    rand_seral += hex(j)[2:] + list_seral[j - 1]
    list_seral.remove(list_seral[j - 1])
rand_seral = ''.join(list_seral) + rand_seral
# 解密注册码
low_seral = ""
rand_seral = rand_seral.lower()
for item in rand_seral:
    j = sec.index(item)
    low_seral += dec[j]
low_seral = low_seral.upper()
# 格式化注册码
last_seral = low_seral[0:5] + "-" + low_seral[5:10] + "-" + low_seral[10:15] + "-" + low_seral[15:20] + "-" + low_seral[20:25]
print("生成的注册码为:\n", last_seral)

总结:
这个 Python 程序通过获取计算机硬件的序列号来生成一个唯一的注册码。它使用 WMI 库来查询硬件信息,并使用一系列字符串操作和随机数生成来创建注册码。这个程序可以作为软件授权或者硬件绑定的一个简单实现。通过修改加密和解密字符串,可以增加注册码的复杂性和安全性。

本文标签: 生成器注册码硬件信息Python