О карточках

Общая информация о прозрачности двоичного кода Android доступна на основной странице.

На этой странице вы найдете подробную информацию о формате файлов в различных каталогах tile/.

Эти файлы содержат хеши узлов дерева Меркла, представляющего журнал прозрачности двоичного кода для заводских образов Pixel. Кроме того, эти хеши упаковываются в тайлы. Подробнее о том, как разбить дерево на фрагменты…

В этом журнале узлы хешируются с помощью алгоритма SHA256. Мы используем библиотеку tlog, чтобы записывать тайлы с высотой 1. Это означает, что каждый тайл содержит не более 2^height = 2 хешей, каждый из которых имеет размер 32 байта.

Однако для последующих (более новых) журналов тайлы устанавливаются на высоте 8. Это означает, что каждый фрагмент содержит не более 2^8 = 256 хешей.

Подробные сведения о создании путей к фрагментам можно найти в документации по фрагментам tlog.

Корневой каталог фрагментов для каждого журнала находится по адресу:

  • Журнал прозрачности Pixel
    • https://developers.google.com/android/binary_transparency/tile
  • Журнал прозрачности кода для APK-файлов системы Google
    • https://www.gstatic.com/android/binary_transparency/google1p/jwt/2026/01/tile
  • Журнал прозрачности приложений Google
    • https://www.gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile
  • Журнал прозрачности основных модулей Android
    • https://www.gstatic.com/android/binary_transparency/mainline/2026/02/tile

Пример вычислений с помощью карточек

Чтобы лучше понять, как работают тайлы, рассмотрим пример с журналом прозрачности Pixel. Предположим, что размер дерева равен 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.