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

PDS: различия между версиями

(http://www.purchase-clomid-online.com/#24733 buy clomid europe - buy clomid benefits http://www.buyphenterminediet.org/#48120 buy phentermine no rx - where is the best place to buy phentermine)
 
(не показано 5 промежуточных версий 3 участников)
Строка 9:Строка 9:
 
'''PDS''' называется постоянным хранилищем, потому что обычная перепрошивка телефона не изменяет '''PDS'''. В '''PDS''' хранятся сведения, относящиеся к конкретному телефону.
 
'''PDS''' называется постоянным хранилищем, потому что обычная перепрошивка телефона не изменяет '''PDS'''. В '''PDS''' хранятся сведения, относящиеся к конкретному телефону.
  
http://www.buyvaliumdiazepam.org/#64448 no prescription valium - buy diazepam without prescription
+
<metadesc>PDS (англ. Persistent Data Storage) — постоянное хранилище данных.</metadesc>
  
http://www.buylexapronow.com/#12040 buy lexapro online - buy lexapro generic online
+
== Жизненный цикл PDS ==
 +
На заводе телефон прошивают специальной прошивкой — [[RFDI]], которая по сравнению с обычной полной прошивкой содержит бутлоадер и заготовку PDS. При первом запуске телефона прошивка проверяет наличие IMEI и, если его нет, заполняет заготовку [[PDS]] следующими данными:
 +
* Серийные номера — считанные с оборудования
 +
* Данные о блокировке — разрешено использовать любые SIM-карты
 +
* Данные защиты — в соответствии с версией прошивки
 +
Копия PDS с этими данными уже привязана к конкретному аппарату, и на другом аппарате прошивка с этим же PDS не запустится. Это связано с тем, что данные о блокировке и данные защиты хранятся в PDS в шифрованном виде. Шифрование обеспечивает контроллер безопасности, находящийся внутри микросхемы Neptune. Используется шифрование по алгоритму 3DES с помощью ключа, индивидуального для каждого экземпляра Neptune.
  
http://www.buyphenterminediet.org#67837 on line rx for phentermine - phentermine 37.5 mg blue traingle tablethttp://www.buyphenterminediet.org#39981 buy phentermine - buy phentermine 37.5http://www.purchase-clomid-online.com/#79745 clomid and provera work - clomid discount http://www.buyphenterminediet.org/#54298 phentermine buy low prices - where to buy phentermine without rxhttp://www.purchase-clomid-online.com/#37676 clomid ovulation - clomid for sale http://www.buyphenterminediet.org/#84132 buy phentermine online - buy phentermine online no prescriptionhttp://www.shopviagraonline.net#64018 buy viagra online canada - buy viagra canadahttp://www.shopviagraonline.net#82343 buy viagra uk - buy tramadol viagra order cialishttp://www.purchase-clomid-online.com/#24733 buy clomid europe - buy clomid benefits http://www.buyphenterminediet.org/#48120 buy phentermine no rx - where is the best place to buy phentermine
+
 
 +
== Структура 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 адаптеров. Эти данные не зашифрованы, но защищены от изменений подписью.
 +
 
 +
=== Расположение ===
 +
Так как yaffs привязана к специфике [[NAND]], просто считать или записать образ нельзя.
 +
Область данных находится в начале NAND. Адрес — 0x100, длина - 0x30000 байт для Z6 (необходимо уточнить для других моделей; узнать можно из файла /proc/mtd и /proc/cmdline).

Текущая версия на 04:27, 4 апреля 2019

PDS (англ. Persistent Data Storage) — постоянное хранилище данных. Содержит, в основном, следующие сведения:

  • Копию IMEI телефона
  • Серийный номер платы, версия аппаратной части и т. п.
  • Калибровки
  • Данные о блокировке телефона для использования с конкретным оператором
  • Данные защиты

PDS называется постоянным хранилищем, потому что обычная перепрошивка телефона не изменяет PDS. В PDS хранятся сведения, относящиеся к конкретному телефону.


Содержание

Жизненный цикл 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 используется большинством прошивок. Каждая запись в ней состоит из следующих полей:

  1. Номер SEEM
  2. Атрибут
  3. Длина данных SEEM

PDS версии 2

PDS версии 2 отличается от версии 4 отсутствием поля длины данных, что создаёт некоторые трудности при разборе PDS.

Расположение

PDS существует на всех моделях телефонов на базе Neptune ULS/LTE/LTE2. Её размер и адрес фиксированы и равны:

Модель NeptuneДиапазон адресовРазмер
ULS0x1000C000-0x100100000x4000 байт (16 КБ)
LTE/LTE20x10010000-0x100100000x10000 байт (64 КБ)

Структура PDS на MOTOMAGX

PDS представляет собой yaffs файловую систему, смонтированную как /etc/pds. Файлы представляют собой набор SEEM'ов, размер и расположение которых в каждом из файлов описаны в прошивке BP.AP-часть прошивки отвечает лишь за чтение, запись и передачу файлов по запросу BP (см реализацию pdsd из qtopia). SEEM-ы, отвечающие за блокировку телефона аппаратно шифруются в BP. Помимо зашифрованных SEEM'ов, привязку PDS к конкретному телефону обеспечивает блок данных содержащий серийный номер процессора, IMEI телефона, MAC-адреса bluetooth и wifi адаптеров. Эти данные не зашифрованы, но защищены от изменений подписью.

Расположение

Так как yaffs привязана к специфике NAND, просто считать или записать образ нельзя. Область данных находится в начале NAND. Адрес — 0x100, длина - 0x30000 байт для Z6 (необходимо уточнить для других моделей; узнать можно из файла /proc/mtd и /proc/cmdline).