【问题标题】:Under iOS, does anyone know how UUID's are generated for executables and what information may be encoded therein?在 iOS 下,有谁知道如何为可执行文件生成 UUID 以及其中可能编码哪些信息?
【发布时间】:2011-06-23 21:18:36
【问题描述】:

在 iOS 上编译的应用程序在编译时被分配标识符 (UUID)。 dwarfdump 工具可能会显示这些标识符。有谁知道 UUID 是如何生成的以及其中可能编码哪些信息?

【问题讨论】:

    标签: iphone ipad ios symbols fat-binaries


    【解决方案1】:

    几乎可以肯定,它们是由 CoreFoundation UUID 机器生成的,它根据您的以太网卡的 MAC 地址、时间戳和其他一些杂项信息创建它们。您可以通过运行uuidgen 来生成自己的 UUID。至于其中编码的信息,真正存在的只是你的 MAC 地址的片段。这几乎唯一的相关性是理论上可能有人可以确定在同一台机器上生成了多个 UUID,但我不知道这是否真的可能。

    【讨论】:

    • 谢谢。这有助于揭开这个黑匣子的盖子。我正在尝试了解社区中可能存在关于此主题的哪些信息。
    • 实际上无法保证这些信息是准确的。用于生成 UUID 的底层机制是一个实现细节。您可能会发现 CFUUID 上的文档会有所帮助。
    • 谢谢。我知道这本质上是私有 API 的一个组件,Apple 可能会更改,恕不另行通知。鉴于这种理解,我仍然想收集有关当前实现的细节的信息。
    • 通过读取CFUUID.c source,如果应用程序是在Tiger 之上或之前构建的,或者如果环境变量CFUUIDVersionNumber 设置为1,它似乎会使用时间/MAC 地址生成一个UUID。否则,它会生成所谓的Version 4 UUID,它本质上是随机的,没有编码识别信息。
    猜你喜欢
    • 1970-01-01
    • 2011-10-18
    • 2010-11-01
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    相关资源
    最近更新 更多