Format cherubicsoft

Care este formatul pentru fișierul AndroidManifest.xml. care este în .apk-arhive pentru Android # 'a.

Un XML binar specific:

De fapt, fișierul constă dintr-un set de bucăți, fiecare având un mic antet obligatoriu de 8 octeți - două cuvinte de 16 biți și un 32 de biți. Primul cuvânt este tipul de bucată, cel de-al doilea este mărimea antetului piesei, poate include date adiționale suplimentare, respectiv o dimensiune minimă de 8 octeți. Al treilea cuvânt - inclusiv dimensiunea totală a unei bucăți de date după ce piesa din titlu, dimensiunea minimă este, de asemenea, de 8 octeți. La începutul AndroidManifest.xml fișier în valoare de o bucată de tip 0x0003, o bucată lungă de antet de 8 octeți, iar dimensiunea totală a întregului dosar, toate celelalte piese sunt situate în interiorul o singură listă, și se pare că mai imbricate porflii. În alte fișiere, alte tipuri inițiale și pot exista bucăți imbricate (cu principiul "încorporării" până la capăt nu au fost încă conturate).







Schematic, fișierul poate fi reprezentat după cum urmează:

Tipurile de piese detectate și identificate sunt:

0x0003 - începutul fișierului (începe fișierul);

0x0001 - Tabel de șiruri de caractere (tabel de șir);







0x0100 - Începerea spațiului de nume (spațiu de nume);

0x0101 - Sfârșitul spațiului de nume (spațiul de nume);

0x0102 - Începutul etichetei XML (tag);

0x0103 - Sfârșitul etichetei XML.

Nu s-a putut determina numai o piesă cu tipul "0x0180".

Tipul "Începutul etichetei XML" are un set de atribute de diferite tipuri de date, le-am definit după cum urmează:

0x03000008 - [șir] Numărul liniei din tabelul de rang;

0x10000008 - [selectați] Numărul utilizat pentru a selecta din lista de constante predefinite;

0x11000008 - [integer] Număr întreg pe 32 de biți;

Rezultatul cercetării mele a fost un program de consolă care convertește XML binar în text XML normal și vă permite de asemenea să vizualizați structura fișierului. Programul funcționează atât cu un fișier separat, cât și cu intrarea în arhiva apk.

În plus față de AndroidManifest.xml în sine, puteți citi alte fișiere de același format, de exemplu resurse.arsc sau xml-fișiere din subdirectorul "res". Codul sursă al programului este atașat. Sper ca în curând cineva să descifreze complet acest format.

Linie de comandă

Pentru a procesa un fișier XML separat, programul ar trebui să fie rulat astfel:

Pentru a procesa un fișier în interiorul unui pachet APK, procedați în felul următor:

Dacă nu specificați "fișierul explorat", în mod implicit, AndroidManifest.xml va fi luat. În loc de un fișier apk puteți specifica un fișier zip, de fapt apk - acesta este un zip-arhivă.

Opțiuni de linie de comandă

/ debug - Afișează informații despre structura pieselor;

/ pauză - Opriți după ce programul funcționează astfel încât fereastra consolei să nu se închidă;

/ relax - Ignorarea "erorilor" mici în structura parametrilor etichetei XML la parsarea fișierului.







Articole similare

Trimiteți-le prietenilor: