Общая информация о двоичной прозрачности Android доступна на главной странице двоичной прозрачности .
На этой странице содержится более подробная информация о формате файлов в различных tile/
каталогах.
Эти файлы содержат хэши узлов дерева Меркла, представляющие журнал двоичной прозрачности для изображений Pixel Factory. Кроме того, эти хеши упакованы в тайлы. Обзор того, как разбить дерево на плитки, см. в разделе «Разбиение журнала на плитки» .
В этом журнале узлы хешируются с использованием SHA256. Мы используем библиотеку tlog для записи тайлов с высотой 1. Это означает, что каждый тайл содержит не более 2^height = 2 хэшей, каждый из которых имеет размер 32 байта .
Подробности о конструкциях тайловых путей можно найти в документации tlog Tile .
Корень плитки для каждого журнала обслуживается по адресу:
- Журнал прозрачности пикселей
-
https://developers.google.com/android/binary_transparency/tile
-
- Журнал прозрачности Google System APK
-
https://developers.google.com/android/binary_transparency/google1p/tile/
-
Пример вычислений с плитками
Чтобы лучше понять, как работают плитки, мы рассмотрим пример с использованием журнала прозрачности пикселей. Предположим, что дерево имеет размер 8. Если вы ищете запись с индексом 3, это будет первый хеш в плитке t(0, 1)
. Пути для плиток имеют вид tile/H/L/NNN[.p/W]
. Таким образом, путь для плитки t(0, 1)
будет https://developers.google.com/android/binary_transparency/tile/1/0/001 . Корень дерева будет находиться в плитке t(3, 0)/1
, это путь https://developers.google.com/android/binary_transparency/tile/1/3/000.p/1 .