V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
llsquaer
V2EX  ›  Python

使用 mac 地址作为机器验证老是出现失效的情况

  •  
  •   llsquaer · 2024-05-08 12:17:17 +08:00 · 1860 次点击
    这是一个创建于 502 天前的主题,其中的信息可能已经有所发展或是发生改变。
    接单给公司写了一个小工具软件,避免太通用导致乱用,加了个机器验证。平时也没研究这个多深。只知道 mac 地址是不会变的,除非手动去改。所以就采用 mac 地址作为验证。

    思路比较简单,通过 uuid1 获取最后 12 位就是 mac 地址 md5 后生成机器码。然后机器码 md5+salt 生成注册码。固定保存在客户电脑中。每次客户启动自动去算一次即可。

    但是问题就出在这里。


    上个月还好好的装了大概 20 台。 这几天陆陆续续给反馈说软件未激活。

    我查了自己的电脑,到现在也没变化,同样的计算方法没有问题的啊.

    所以难道是 现在 Windows10 系统 mac 地址是会不定时变动的么。或是是其他代理软件改了 mac 地址?还是什么原因导致的呢?

    或者有啥其他方法替代呢? 之前使用 wmi 获取 cpu 型号主板之类的结果对方电脑有报错,就没使用这个库
    12 条回复    2024-05-08 17:45:20 +08:00
    Hawthorne
        1
    Hawthorne  
       2024-05-08 12:39:24 +08:00
    Windows 10 不清楚,但是现在很多系统都可以启用随机 mac 地址。
    icyalala
        2
    icyalala  
       2024-05-08 12:41:46 +08:00
    Win10 开始就有随机硬件地址的开关了
    ladypxy
        3
    ladypxy  
       2024-05-08 12:44:32 +08:00
    1. 你有没有考虑到机器有多个 mac 地址的情况?比如有 2 个有线网卡,然后有有线网卡还有无线网卡
    2. Windows 支持随机 mac
    mohumohu
        4
    mohumohu  
       2024-05-08 12:58:39 +08:00
    直接用激活 id ,微软给你算好了。反正你这验证也不严格。
    cscript //Nologo slmgr.vbs /dlv
    YellowDog7
        5
    YellowDog7  
       2024-05-08 13:10:29 +08:00
    现在很多都是随机 mac 地址了
    proxychains
        6
    proxychains  
       2024-05-08 13:15:00 +08:00
    windows 可以使用 uuid

    wmic csproduct get uuid
    tzxxxx
        7
    tzxxxx  
       2024-05-08 13:24:33 +08:00
    @proxychains uuid 有个问题是虚拟机复制可能会保持不变,虚拟机复制时有个选项。
    https://stackoverflow.com/questions/671876/whats-a-good-way-to-uniquely-identify-a-computer/32636967#32636967
    neoshui
        8
    neoshui  
       2024-05-08 13:58:39 +08:00
    我使用的是 wmic csproduct get UUID 和 wmic diskdrive get SerialNumber
    ZnductR0MjHvjRQ3
        9
    ZnductR0MjHvjRQ3  
       2024-05-08 14:40:25 +08:00
    除了 mac 地址 还有什么办法可以确定机器唯一性呢 emm
    Yuqiu2233
        10
    Yuqiu2233  
       2024-05-08 16:16:56 +08:00
    我之前好像是通过获取硬件信息计算 hash ,给出唯一的计算机指纹,不知道是否可行
    NoOneNoBody
        11
    NoOneNoBody  
       2024-05-08 16:23:39 +08:00
    我以前有部寨机,mac 随机,搞得路由要专开一个临时 wifi 给它用(路由用了 mac 白名单过滤),后来弃了
    proxychains
        12
    proxychains  
       2024-05-08 17:45:20 +08:00
    @tzxxxx #7 这倒没注意, kvm 架构, 通过同一个镜像创建的不同虚拟机的 uuid 是不同的, 并且, 重装系统后, uuid 不会发生变化.
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   927 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:16 · PVG 04:16 · LAX 13:16 · JFK 16:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.