win10机器码修改新办法_电脑的身份证:机器码是如何判断唯一性的

我们在很多地方都可以看到电脑机器码这个东西,比如吃鸡开挂被封机器码、招投标作假被发现机器码雷同、商业软件通过机器码购买授权等等。机器码到底是什么?它是如何帮助识别电脑唯一性的?请看存储极客的介绍。

3108b4cb4efb65f14164273bbb43f482.png

网卡MAC地址、CPUID、硬盘序列号是最常用的三种硬件机器码。

CPUID:最不靠谱的机器码

先从CPUID说起,自从奔腾3处理器由于序列号唯一容易被追踪而引发泄露隐私的质疑后,英特尔从奔腾4开始就取消了唯一的CPU序列号。

cb460c6c42c46c59702ad09d861cb979.png

现在的CPUID对应了某一代CPU,如果不用第三方软件的话可以在命令提示符中输入并执行wmic cpu get processorid,即可得到本机的CPUID信息。如图所示的CPUID可以对应英特尔酷睿i5 6600K,也同时对应i7 6700K或者i7 6700HQ,不但不是个体唯一,连具体型号都无法确定。

dea0f5bc7b608c64b7a74add8dd2c26b.png

网卡MAC:难不倒DIYer

IP地址是很容易切换的,对于大多数非固定IP的家庭宽带而言,只要断开并重新拨号一次,就可以获得一个新的IP地址。但是网卡的MAC地址就不同了,它是网卡的物理地址,从设计上来说它应该是全球唯一的。

87279069d8df506c4e512b7fa68a9663.png

不过实际情况比较复杂,很多网卡的MAC地址是可以由用户自己修改的,要通过MAC地址来封杀机器码比较困难。

ef647b913a0a8c7b9de656abe9e1ceb9.png

硬盘序列号:终于来一个厉害的

硬盘序列号指的是CrystalDiskInfo中查看到的一串数字/字母混合的代码,他是由硬盘厂商在生产时就固化到固态硬盘当中的。下图所示是东芝TR200 960G固态硬盘的序列号,TR200是原厂SSD中的高性价比热门型号。

53dd210b4886d62a845f228a75cb41cc.png

当然硬盘序列号也有不靠谱的时候,有些山寨盘的序列号干脆就是固定一个数值,一批硬盘的序列号可能都是一模一样的,让人哭笑不得。下图是东芝TR200固态硬盘标签上的S/N序列号信息,与CrystalDiskInfo识别结果一致。

26264c9fee8bdb6e7af240d6e270090f.png

除了序列号之外,比较专业的固态硬盘还会提供一个WWN识别码。WWN是World Wide Name全球统一名称的意思,通常是由权威组织分配的全球唯一的48位或64位编码。并不是所有固态硬盘都会提供WWN识别码,所以这个方法不一定适合作为机器码使用。下图是东芝SSD Utility工具箱软件识别到的TR200 WWN识别码信息。

6859fd555131624ecd6de17f86d94be5.png

除此之外,硬盘中的每个分区还会有一个卷序列号,也就是俗称的分区序列号。这个序列号是在硬盘格式化时随机生成的,只要重新格式化就可以更换,属于非硬件机器码。

23739fbe0316c3f5c388509fd6f7fe10.png

内存序列号:不一定有

作为电脑三大件之一,内存也是可以拥有SN序列号信息的。但这只是"可以有",却并非"一定有"。

4ac789fc194e09e797f75e0567c05750.png

机器码是综合了硬件序列号以及电脑系统中的一些特征信息,比如主板型号、操作系统版本、用户名之后产生的一串信息码。机器码不是DNA或指纹那样的精确识别(不同人的重复率几乎为零),而更像人脸识别:长得像的,也不一定是同个人。对"长得像"的判断可以来自于多个方面,比如眼睛、鼻子、脸型、步态、习惯姿势等等。通过机器码生成算法的保密性,使得伪造机器码变得困难。

有些软件号称可以修改机器码,但对硬盘序列号等相对固化的硬件信息的手段比较有限,而且这类软件通常有传播病毒的隐患。建议大家还是要遵纪守法,公平竞赛,不要在作弊上花心思了。

### Ubuntu 上 MySQL 5.7 主从复制配置 #### 准备工作 确保主服务器和从服务器都已安装并正常运行 MySQL 5.7 版本。确认网络连接畅通无阻,允许两台机器之间通过 IP 地址互相访问。 #### 修改 my.cnf 文件 编辑 `/etc/mysql/my.cnf` 或者 `/etc/mysql/mysql.conf.d/mysqld.cnf` 文件,在 `[mysqld]` 节点下添加或修改如下参数: ```ini server-id = 1 # 设置唯一的ID给Master节点 log_bin = /var/log/mysql/mysql-bin.log # 开启bin-log功能,并指定路径 expire_logs_days = 10 # 清理过期的日志文件天数 max_binlog_size = 100M # 单个日志最大尺寸 ``` 对于Slave节点,则应设置不同的 `server-id` 值,例如设为2或其他任意不冲突的正整数值[^5]。 #### 创建用于同步的数据账户 在 Master 数据库中执行 SQL 指令来创建一个的用户专门用来做数据同步操作: ```sql CREATE USER 'repl'@'<slave_ip>' IDENTIFIED BY '<password>'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'<slave_ip>'; FLUSH PRIVILEGES; SHOW MASTER STATUS\G; ``` 这里 `<slave_ip>` 是指 Slave 的IP地址;而 `<password>` 则是你想要设定的一个密码字符串。上述命令会显示当前二进制日志的位置信息,记录下来稍后会在 Slave 中用到这些值[^1]。 #### 备份现有数据库结构与数据 为了初始化 Slave ,可以采用 mysqldump 工具导出整个数据库的内容至一个SQL脚本文档里保存起来备用: ```bash mysqldump -u root -p --all-databases --master-data > dbdump.sql ``` 此过程结束后记得解锁表单以便继续正常使用数据库服务[^3]。 #### 启动 Slave 并配置指向 Master 将之前备份好的 `.sql` 文件导入到 Slave 实例当中去之后,再利用 CHANGE MASTER TO 语句告知它要跟踪哪个 Master 及其位置详情: ```sql CHANGE MASTER TO MASTER_HOST='<master_ip>', MASTER_USER='repl', MASTER_PASSWORD='<password>', MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=154; START SLAVE; ``` 这里的 `MASTER_LOG_FILE` 和 `MASTER_LOG_POS` 参数应该对应于前面 SHOW MASTER STATUS 所返回的结果中的具体值。 #### 验证主从关系建立情况 可以通过查询两个变量的状态来进行验证: ```sql SHOW SLAVE STATUS\G; ``` 当看到 `Slave_IO_Running: Yes` 和 `Slave_SQL_Running: Yes` 这样的输出时就说明一切正常了。如果有任何异常提示,请参照相关文档排查可能存在的问题[^4]。 #### 解决常见问题 如果遇到 `Slave_IO_Running: Connecting` 错误,这通常是因为主服务器上的防火墙阻止了来自从服务器的连接请求。解决办法是关闭主服务器的防火墙或者是开放必要的端口号让 MySQL 流量得以通行。另外一种可能性就是由于 UUID 冲突引起的问题——即两台主机拥有相同的 auto.cnf 文件内容。此时只需移除从机内的该文件后再重启动 MySQL 就能解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值