gpt4 book ai didi

c++ - Mac OS 的机器 ID?

转载 作者:太空狗 更新时间:2023-10-29 20:19:25 24 4
gpt4 key购买 nike

我需要为运行 MacOS 的计算机计算一个机器 ID,但我不知道从哪里检索信息 - 比如硬盘序列号等。主要要求 对于我的特定应用程序,用户不能欺骗它。在您开始大笑之前,我知道这很牵强,但至少,欺骗方法必须需要重启。

最好的解决方案是使用 C/C++,但如果没有其他方法,我会选择 Objective-C。最好的解决方案是不需要 root 权限

有什么想法吗?谢谢。

最佳答案

Erik 对 system_profiler(及其底层但未记录的 SystemProfiler.framework)的建议是您最大的希望。您的基本要求是不可能的,没有硬件支持的任何解决方案都将很快被破解。但是您可以使用 system_profiler 和/或 SystemProfiler.framework 构建合理级别的混淆。

我不确定您在这里的实际要求,但这些帖子可能会有用:

我将在这里重复我在第一篇文章中所说的话:这是不可能的,期间,不可能安全地确保只有您的客户端可以与您的服务器对话。如果那是您的基本要求,那么这不是一个可以解决的问题。我将进一步说明,构建您的程序是不可能的,这样人们就无法取出您投入的任何支票,因此如果目标是许可,那也不是一个完全可以解决的问题。不过,上面的第二篇文章讨论了如何从业务而非工程的角度思考这个问题。

编辑:关于您要求重新启动的请求,请记住 Mac OS X 具有内核扩展。通过加载内核扩展,总是可以修改系统在运行时如何看待自己而无需重新启动。原则上,这是一个 Mac rootkit,从根本上说它并不比 Linux rootkit 复杂。您需要仔细考虑您的攻击者是谁,但如果您的攻击者包括 Mac 内核黑客(这不是一个微不足道的群体),那么即使是重启要求也不合理。这并不是说您不能让大多数用户厌烦欺骗。一个相当有能力的攻击者总是有可能做到这一点。在所有现代操作系统上都是如此。 Mac 没有什么特别之处。

关于c++ - Mac OS 的机器 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1050377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com