Открыть главное меню

Изменения

PDS

2168 байт добавлено, 04:27, 4 апреля 2019
Нет описания правки
== Что такое PDS ==[[Категория:Глоссарий]]'''PDS ''' ({{lang- en|Persistent data storage - Data Storage}}) — постоянное хранилище данных. Содержит, в основном, следующие сведения:* Копию [[IMEI ]] телефона
* Серийный номер платы, версия аппаратной части и т. п.
* Калибровки
* Данные о блокировке телефона для использования с конкретным оператором
* Данные защиты
 '''PDS является ''' называется постоянным хранилищем в плане того, потому что обычная перепрошивка телефона не изменяет '''PDS'''. В '''PDS ''' хранятся сведения, относящиеся к конкретному телефонному аппаратутелефону<metadesc>PDS (англ. Persistent Data Storage) — постоянное хранилище данных.</metadesc>
== Жизненный цикл PDS ==
На заводе телефон прошивают специальной прошивкой - — [[RFDI]], которая по сравнению с обычной полной прошивкой содержит бутлоадер и заготовку PDS. При первом запуске телефона прошивка проверяет наличие IMEI и, если его нет, заполняет заготовку [[PDS ]] следующими данными:* Серийные номера - считанные с оборудования* Данные о блокировке - разрешено использовать любые SIM-карты* Данные защиты - в соответствии с версией прошивки
Копия PDS с этими данными уже привязана к конкретному аппарату, и на другом аппарате прошивка с этим же PDS не запустится. Это связано с тем, что данные о блокировке и данные защиты хранятся в PDS в шифрованном виде. Шифрование обеспечивает контроллер безопасности, находящийся внутри микросхемы Neptune. Используется шифрование по алгоритму 3DES с помощью ключа, индивидуального для каждого экземпляра Neptune.
 == Структура PDS на [[P2K]] и [[EZX]] ==[[PDS ]] содержит в себе 2 копии набора данных PDS - активную и пассивную(Они могут различаться версиями и данными). Обе копии Оба набора данных имеют равный размер и одинаковую структуру. Она начинается с последовательности символов "PDS_" и четырёх цифр версии, после них - атрибут, показывающий, активной или пассивной является данная копия. Из четырёх цифр версии наибольший интерес представляет первая - она может быть "2" или "4", соответственно, в общем о [[PDS ]] говорят как о [[PDS ]] версии 2 или [[PDS ]] версии 4.
=== Атрибуты ===
Устройство [[PDS ]] подчинено особенностям использования флеш-памяти - а именно, : можно менять отдельные единичные биты на нулевые, обратная операция выполнима лишь для блоков относительно большого размера. Поэтому для копий [[PDS]], а также для записей в пределах каждой копии, используются атрибуты, показывающие состояние данной записи или копии.Атрибут представляет собой последовательность из 2 байт, представляющую собой двухбайтовое слово в порядке байт [[Big Endian ]] ("первый старший") и может принимать следующее значение:* 0xFFFF - не используется; применительно к атрибуту записи означает конец данной копии [[PDS]], применительно к копии [[PDS ]] - отсутствие данной копии.* 0xFFFA - заводской (ни разу не изменялся)* 0xFFF9 - активный* 0xFFF0 - пассивный (больше не имеет значения)Новые записи могут только добавляться в [[PDS]]. Существующие удаляться или изменяться не могут, за исключением полной перезаписи [[PDS ]] при её прошивании.
=== [[PDS ]] версии 4 ===[[PDS ]] версии 4 используется большинством прошивок. Каждая запись в ней состоит из следующих полей:# Номер [[SEEM]]
# Атрибут
# Длина данных [[SEEM]]
=== PDS версии 2 ===
[[PDS ]] версии 2 отличается от версии 4 отсутствием поля длины данных, что создаёт некоторые трудности при разборе [[PDS]]. === Расположение ===[[PDS]] существует на всех моделях телефонов на базе [[Neptune]] [[ULS]]/[[LTE]]/[[LTE2]]. Её размер и адрес фиксированы и равны:{| border="1"|- style="background:#bfbfbf; font-weight: bold"! Модель [[Neptune]]! Диапазон [[Адресное пространство|адресов]]! Размер|-| [[ULS]]| 0x1000C000-0x10010000| 0x4000 байт (16 КБ)|-| [[LTE]]/[[LTE2]]| 0x10010000-0x10010000| 0x10000 байт (64 КБ)|-|} == Структура PDS на [[MOTOMAGX]] ==PDS представляет собой [[yaffs]] файловую систему, смонтированную как /etc/pds. Файлы представляют собой набор SEEM'ов, размер и расположение которых в каждом из файлов описаны в прошивке BP.[[AP]]-часть прошивки отвечает лишь за чтение, запись и передачу файлов по запросу BP (см [http://code.google.com/p/qtopia-ezx/source/browse/branches/tools-bugx/pdsd.c реализацию pdsd из qtopia]). [[SEEM|SEEM-ы]], отвечающие за блокировку телефона аппаратно шифруются в [[BP]].Помимо зашифрованных SEEM'ов, привязку PDS к конкретному телефону обеспечивает блок данных содержащий серийный номер процессора, IMEI телефона, MAC-адреса bluetooth и wifi адаптеров. Эти данные не зашифрованы, но защищены от изменений подписью.
=== Расположение ===PDS существует на всех моделях телефонов на базе Neptune ULS/LTE/LTE2Так как yaffs привязана к специфике [[NAND]], просто считать или записать образ нельзя. Её размер и адрес фиксированы и равны:* Область данных находится в начале NAND. Адрес - 0x1000C000— 0x100, длина - 0x4000 0x30000 байт (16 КБ) - для моделей на Neptune ULS* Адрес - 0x10010000, длина - 0x10000 байт Z6 (64 КБ) - необходимо уточнить для других моделей на Neptune LTE; узнать можно из файла /proc/mtd и /LTE2proc/cmdline).
214
правок