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çim | Paket 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ümler | ALEAPP 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
| Alan | Ne anlatır |
|---|---|
| package@name | Paket adı. |
| @codePath | Yüklü kodun dizini. |
| @installer / @installOriginator | Saklandığı şekliyle yükleyici paket ve kaynak yükleyici. |
| @ft | Paket kod yolunun son değiştirilme zamanı; paket dökümlerinde timeStamp olarak da yazılır. |
| @it / @ut | Kurulum zamanı (eski kayıtlar) ve güncelleme zamanı. |
| @publicFlags / @privateFlags | Saklandığı şekliyle paket bayrak bit maskeleri. |
05Zaman damgaları
| Alan | Kodlama | Not |
|---|---|---|
| ft | Unix 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. |
| it | Unix epoch, milliseconds (hex text in XML) | Android 13 ve 16 test imajlarında paket kayıtlarında bulunmaz. |
| ut | Unix 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ışı
- İlk baytlarda ABX imzasını kontrol edin; varsa dosyayı metin XML'e dönüştürün.
- Her package öğesini ayrıştırın; ft, it ve ut değerlerini onaltılık milisaniyeden UTC'ye çevirin.
- codePath ve bayrakları kullanarak sistem paketlerini kullanıcının yüklediklerinden ayırın.
- Kurulum zamanı önemliyse kullanıcıya özgü package-restrictions.xml dosyasını da okuyun.
- 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
- ALEAPP — scripts/artifacts/packageInfo.py Alexis Brignoni et al. (GitHub) · erişim 2026-10-14
- Android ABX (Binary XML) Alex Caithness, CCL Solutions Group (2022) · erişim 2026-10-14