获取计算机唯一识别码的问题,有大佬有经验吗?

2020-11-09 20:54:38 +08:00
 PUBG98k
Windows,macOS.下
如何给计算机 生成绝对唯一的 识别码.类似 Teamviewer 的 ID.
------------
需要考虑到 VMWARE 系统,以及服务器 云机.Ghost 系统.
------------
目前 ToDesk 使用的是:
uuid+mac,但是依然还是不行.
---
uuid 在 ghost 系统会重复,mac 地址重复.

系统安装时间,Win10 在更新补丁的时候,会更改.

硬盘序列号,在 vmware 的系统里是没有硬盘序列号的.
cpu 序列号 也是不唯一了.现在都改成生产批号了.

服务器系统又没有鼠标键盘显卡可以获取唯一码.
蛋疼~~~
10026 次点击
所在节点    程序员
66 条回复
PUBG98k
2020-11-09 23:43:12 +08:00
@GM 我做过实验.tv 在 安装后启动.然后在 ghost.
拿这个 ghost 去重装系统.第一次启动后 ID 居然不一样.可以正常连接
也不会跟 ghost 之前的 id 重复
无论怎么重启都一个 id 不变.
jim9606
2020-11-09 23:44:03 +08:00
Teamviewer 只认网卡 MAC,所以很多绕过商用限制的方法都是靠改 MAC 实现的。
CPU 印象里没有***公开的***获取 PSN 的方法,因为部分国家明令禁止部署这种技术。
比较合理的做法是通过 SMBIOS 读主板的 Serial Number,就算是虚拟机也有这玩意的。
PUBG98k
2020-11-09 23:45:02 +08:00
@3dwelcome 您这样的话没有办法的.同一个公司的好多台电脑 出口 tracert 基本都一样.而且很多人都是 dhcp 自动从路由器获取内网 IP 呀.肯定是变的.
PUBG98k
2020-11-09 23:48:14 +08:00
@jim9606 主板的 Serial Number 我查阅了资料了.目前是不唯一的.
是生产批号.同一批号下来的基本上都是一样的 Serial Number.
这样就会造成 企业批量采购的相同配置的 PC 设备 存在大量重复的 主板 Serial Number
Lemeng
2020-11-09 23:48:42 +08:00
来学习学习的
PUBG98k
2020-11-09 23:52:25 +08:00
@jim9606 ghost 的话,或者 vmware 复制的系统.mac,uuid,系统安装时间,都是重复的.
crclz
2020-11-09 23:55:15 +08:00
别指望把所有破解方法都防住。你防不住逆向工程。
nuk
2020-11-09 23:56:00 +08:00
@PUBG98k mac 地址加 onetime key,基本上和 tv 一样了啊。。
3dwelcome
2020-11-10 00:01:43 +08:00
@PUBG98k 我又没让你用本机的动态 ip 算 id,用 mac 啊。
之所以还要加上 tracert,是因为同一个出口路由下只能有一个 mac,如果有别人恶意修改,导致重复,那就变成了局域网 apr 投毒,网速会很慢的,得不偿失。
xuanbg
2020-11-10 00:03:21 +08:00
客户端产生一个唯一 ID 保存在本地即可。如果是虚拟机克隆导致重复,那么可以和服务端做一个验证。如果 ID 存在,那就重新生成一个并重新验证,如果验证成功就覆盖掉本地的那个。
jim9606
2020-11-10 00:03:42 +08:00
@PUBG98k 个人觉得不要在虚拟机唯一 ID 上费神,因为 VMM 总有办法骗过你的检测。
如果是你的控制下的虚拟机和系统镜像:
vmware 要用模板克隆模式且在导入导入虚拟机时要选择“复制了虚拟机”使 UUID 重置( https://kb.vmware.com/s/article/1541);
windows 镜像在生成前要运行 sysprep ( https://docs.microsoft.com/zh-cn/windows-hardware/manufacture/desktop/sysprep--generalize--a-windows-installation
xcstream
2020-11-10 01:01:17 +08:00
题目是 生成绝对唯一的 识别码
那么答案很明确 不存在
dai640
2020-11-10 01:19:13 +08:00
ghost 系统不是按当前日期吗?
laminux29
2020-11-10 03:12:19 +08:00
1.计算机没有唯一 ID 一说。有些设备能拿到唯一 ID,有些设备能拿到名字。业界的做法是,把能拿到的 ID + 名字,联合起来当做唯一 ID 。

2.远程桌面类软件,主流的无人值守有两种形式。第一种是每次打开后,会生成一个新 ID 与临时密码,通过这个 ID 与临时密码进行远程控制,但电脑重启后或软件重启后,ID 与临时密码会更新;第二种是登陆账号后,直接使用账号+密码进行远程控制,这种就算是软件或电脑重启,也不会更新。

如果你是希望稳定远程控制,通过第二种方式就行。

3.如果你是 ToDesk 这类应用商,来防止用户一个账号多开,你应该去看防止重复登录与防止重复在线的技术。这类技术不难,无非是利用令牌或服务器端开长连接来实现。
msg7086
2020-11-10 06:05:01 +08:00
光靠操作系统,做不到。

很简单的做法,开个虚拟机,登录你的系统,然后关机做个快照,在快照上起两台一模一样的虚拟机,那他们一定能拿到重复的识别码。SMBIOSID 是可以不唯一的,同理 MAC 也可以相同。起来的两台虚拟机就是完全一样的。
savasun
2020-11-10 06:10:21 +08:00
SLI
savasun
2020-11-10 06:13:00 +08:00
@savasun 黑苹果系统要往主板注入 SLI,CPU 有些用户换得多、换内存,硬盘啥的也很常见。只有获取主板 SLI 版号可以达到你想要的效果。
widewing
2020-11-10 06:17:28 +08:00
想个办法存 cmos?
kokutou
2020-11-10 07:26:18 +08:00
procmon 监控下 teamviewer
sneezry
2020-11-10 08:01:13 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/723357

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX