AndroidOrtaYüklü uygulamalar

Paket yöneticisi ayarları (packages.xml)

Sistem packages.xml dosyası: yüklü paket adları, kod yolları, yükleyici ve ft/it/ut zaman öznitelikleri; Android 12'den itibaren ikili XML olabilir.

01Konum

  • /data/system/packages.xml

02Yanıtladığı sorular

  • Dosya yazıldığında hangi paketler yüklüydü?
  • Bir uygulama için hangi yükleyici kayıtlı?
  • Bir paket en son ne zaman güncellendi ve kodu nerede saklanıyor?

03Biçim ve sürümler

BiçimPaket yöneticisinin (Settings.java) yazdığı XML. Android 12'den itibaren sistem dosyaları ABX (Android Binary XML, imza "ABX\0") olarak saklanabilir ve okumadan önce dönüştürülmelidir; ALEAPP her iki biçimi de algılar.
Geçerli olduğu sürümlerALEAPP notları AOSP Settings.java dosyasını android-10, -13 ve -16 etiketlerinde inceler. android-13 ve android-16'da paket kaydı ft ve ut içerir ancak it içermez; ilk kurulum zamanı kullanıcı başına package-restrictions.xml dosyasına yazılır.

04Temel alanlar

AlanNe anlatır
package@namePaket adı.
@codePathYüklü kodun dizini.
@installer / @installOriginatorSaklandığı şekliyle yükleyici paket ve kaynak yükleyici.
@ftPaket kod yolunun son değiştirilme zamanı; paket dökümlerinde timeStamp olarak da yazılır.
@it / @utKurulum zamanı (eski kayıtlar) ve güncelleme zamanı.
@publicFlags / @privateFlagsSaklandığı şekliyle paket bayrak bit maskeleri.

05Zaman damgaları

AlanKodlamaNot
ftUnix epoch, milliseconds (hex text in XML)Kurulum zamanı değil, yüklü kodun dosya zamanıdır; ALEAPP bazı imajlarda 1970 yılına düşen değerler gözlemlemiştir.
itUnix epoch, milliseconds (hex text in XML)Android 13 ve 16 test imajlarında paket kayıtlarında bulunmaz.
utUnix epoch, milliseconds (hex text in XML)Paket yöneticisinin sakladığı güncelleme zamanı.

Ham değerleri Zaman damgası çözücü, yerel saatleri ise Yerel saatten UTC'ye ile çözün.

06İnceleme akışı

  1. İlk baytlarda ABX imzasını kontrol edin; varsa dosyayı metin XML'e dönüştürün.
  2. Her package öğesini ayrıştırın; ft, it ve ut değerlerini onaltılık milisaniyeden UTC'ye çevirin.
  3. codePath ve bayrakları kullanarak sistem paketlerini kullanıcının yüklediklerinden ayırın.
  4. Kurulum zamanı önemliyse kullanıcıya özgü package-restrictions.xml dosyasını da okuyun.
  5. Kullanım istatistikleri ve uygulama veri klasörleriyle çapraz kontrol yapın.

07Yorum tuzakları

  • ft değerini kod dosyası zamanı olarak değerlendirin; kullanıcının uygulamayı ne zaman yüklediğinin kanıtı değildir.
  • Dosya son yazıldığı andaki durumu yansıtır; yüklenip daha sonra kaldırılan uygulamaları tek başına listelemez.
  • Öznitelik adları ve varlığı sürümler arasında değişir; eksik bir alanın değerini asla tahmin etmeyin.

09Kaynaklar

  1. ALEAPP — scripts/artifacts/packageInfo.py Alexis Brignoni et al. (GitHub) · erişim 2026-10-14
  2. Android ABX (Binary XML) Alex Caithness, CCL Solutions Group (2022) · erişim 2026-10-14