iOS App Extensions

Support HackTricks

App-uitbreidings verbeter die funksionaliteit van toepassings deur hulle in staat te stel om met ander toepassings of die stelsel te kommunikeer, wat pasgemaakte funksies of inhoud bied. Hierdie uitbreidings sluit in:

  • Pasgemaakte Sleutelbord: Bied 'n unieke sleutelbord oor alle toepassings, wat die standaard iOS-sleutelbord vervang.

  • Deel: Maak dit moontlik om te deel met sosiale netwerke of met ander direk.

  • Vandag (Widgets): Lewer inhoud of voer take vinnig uit vanaf die Kennisgewing Sentrum se Vandag-weergave.

Wanneer 'n gebruiker met hierdie uitbreidings omgaan, soos om teks van 'n gasheer-toepassing te deel, verwerk die uitbreiding hierdie insette binne sy konteks, wat die gedeelde inligting benut om sy taak uit te voer, soos in Apple se dokumentasie uiteengesit.

Sekuriteits oorwegings

Belangrike sekuriteitsaspekte sluit in:

  • Uitbreidings en hul bevatende toepassings kommunikeer via inter-proses kommunikasie, nie direk nie.

  • Die Vandag widget is uniek in die sin dat dit sy toepassing kan vra om via 'n spesifieke metode te open.

  • Gedeelde data-toegang is toegelaat binne 'n private houer, maar direkte toegang is beperk.

  • Sekere API's, insluitend HealthKit, is verbode vir app-uitbreidings, wat ook nie langlopende take kan begin, toegang tot die kamera of mikrofoon kan verkry nie, behalwe vir iMessage-uitbreidings.

Statiese Analise

Identifisering van App-uitbreidings

Om app-uitbreidings in bronkode te vind, soek vir NSExtensionPointIdentifier in Xcode of ondersoek die app-bundel vir .appex-lêers wat uitbreidings aandui. Sonder bronkode, gebruik grep of SSH om hierdie identifiseerders binne die app-bundel te vind.

Gesteunde Datatipe

Kyk na die Info.plist-lêer van 'n uitbreiding vir NSExtensionActivationRule om gesteunde datatipe te identifiseer. Hierdie opstelling verseker dat slegs kompatible datatipe die uitbreiding in gasheer-toepassings aktiveer.

Data Deel

Data deel tussen 'n toepassing en sy uitbreiding vereis 'n gedeelde houer, opgestel via "App Groups" en toegang verkry deur NSUserDefaults. Hierdie gedeelde ruimte is noodsaaklik vir agtergrond oordragte wat deur uitbreidings geïnisieer word.

Beperking van Uitbreidings

Toepassings kan sekere tipe uitbreidings beperk, veral pasgemaakte sleutelborde, om te verseker dat sensitiewe data hanteer word in ooreenstemming met sekuriteitsprotokolle.

Dinamiese Analise

Dinamiese analise behels:

  • Inspekteer Gedeelde Items: Hook in NSExtensionContext - inputItems om gedeelde datatipe en oorspronge te sien.

  • Identifisering van Uitbreidings: Ontdek watter uitbreidings jou data verwerk deur interne meganismes, soos NSXPCConnection, te observeer.

Gereedskap soos frida-trace kan help om die onderliggende prosesse te verstaan, veral vir diegene wat belangstel in die tegniese besonderhede van inter-proses kommunikasie.

Verwysings

Support HackTricks

Last updated