c – Mac OS的机器ID?

发布时间:2020-09-16 发布网站:编程之家
编程之家收集整理的这篇文章主要介绍了c – Mac OS的机器ID?编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要计算运行MacOS的计算机的机器ID,但我不知道在哪里检索信息 – 像硬盘序列号等等.我的特定应用程序的主要要求是用户必须无法欺骗它.在你开始大笑之前,我知道这很遥远,但至少,欺骗方法必须重新启动.

最好的解决方案是C/C++中的一个,但如果没有别的办法我会采用Objective-C.最佳解决方案不需要root权限.

有任何想法吗?谢谢.

解决方法

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

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

> Store an encryption key in Keychain while application installation process(这与网络身份验证有关,这听起来像你的问题)
> Obfuscating Cocoa(这更像是复制保护,这可能不是你的问题)

我将在此重复我在第一篇文章中所说的内容:安全地确保只有您的客户可以与您的服务器通信是不可能的,期间,不可能的.如果这是您的基本要求,那么这不是一个可解决的问题.我将扩展它,说不可能构建你的程序,以便人们不能拿出你输入的任何支票,所以如果目标是许可,那也不是一个完全可解决的问题.上面的第二篇文章讨论了如何从业务而不是工程角度思考这个问题.

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

总结

以上是编程之家为你收集整理的c – Mac OS的机器ID?全部内容,希望文章能够帮你解决c – Mac OS的机器ID?所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478
编程之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!