Приложениям, скомпилированным на iOS, присваиваются идентификаторы (UUID) во время компиляции. Эти идентификаторы могут быть обнаружены инструментом dwarfdump. Кто-нибудь знает, как генерируются UUID и какая информация может быть закодирована в них?
Под iOS кто-нибудь знает, как генерируются UUID для исполняемых файлов и какая информация может быть в них закодирована?
Ответы (1)
Почти наверняка они генерируются механизмом CoreFoundation UUID, который создает их на основе MAC-адреса вашей сетевой карты, метки времени и некоторой другой различной информации. Вы можете сгенерировать свои собственные UUID, запустив uuidgen
. Что же касается закодированной в них информации, то все, что есть на самом деле, это фрагменты вашего MAC-адреса. Практически единственное значение, которое это имеет, заключается в том, что теоретически возможно для кого-то определить, что несколько UUID были сгенерированы на одной машине, но я не знаю, возможно ли это на самом деле.
person
Lily Ballard
schedule
09.02.2011
Спасибо. Это помогает снять крышку с этого черного ящика. Я пытаюсь понять, какая информация может существовать в сообществе по этому вопросу.
- person xyzzycoder; 09.02.2011
На самом деле нет никакой гарантии, что эта информация даже точна. Базовый механизм, используемый для генерации UUID, является деталью реализации. Вы можете найти документацию по адресу CFUUID а> быть полезным.
- person Lily Ballard; 09.02.2011
Спасибо. Я понимаю, что это, по сути, компонент частного API, который Apple может изменить без предварительного уведомления. Учитывая это понимание, я все же хотел бы собрать все, что могу, о специфике текущей реализации.
- person xyzzycoder; 09.02.2011
Из исходника CFUUID.c следует, что что он генерирует UUID, используя время/MAC-адрес, если приложение было построено на платформе Tiger или до нее, или если для переменной env
CFUUIDVersionNumber
установлено значение 1. В противном случае он генерирует то, что называется UUID версии 4, который по существу является случайным без закодированной идентифицирующей информации.
- person Lily Ballard; 10.02.2011