Static Analys

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ содСрТит Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ

XCode

cmd+shift+f ΠΈ ΠΈΡ‰Π΅ΠΌ NSExtensionPointIdentifier

ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Build Phases / Embed App exetensions

ВсС, Ρ‡Ρ‚ΠΎ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .appex - Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² сорцы

IPA

Π“Ρ€Π΅ΠΏΠ°Π΅ΠΌ ΠΏΠΎ bundl'Ρƒ

$ grep -nr NSExtensionPointIdentifier Payload/Telegram\ X.app/

ΠΈΠ»ΠΈ Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° дСвайс ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ прилоТСния Π½Π° устройствС:

/var/containers/Bundle/Application/15E6A58F-1CA7-44A4-A9E0-6CA85B65FA35/Telegram X.app/PlugIns

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ Info.plist ΠΈΡ‰Π΅ΠΌ строку NSExtensionActivationRule

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с Containing App

НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ доступа ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° Π½Π΅Ρ‚ Ρƒ Containing App ΠΈ App Extension. Однако, data sharing доступСн. Π­Ρ‚ΠΎ сдСлано Π·Π° счСт App Groups ΠΈ NSUserDefaults API.

Если Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ скачиваСт Ρ„Π°ΠΉΠ»Ρ‹ Ρ‡Π΅Ρ€Π΅Π· NSURLSession, Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ shared container, Ρ‡Ρ‚ΠΎΠ±Ρ‹ содСрТащСС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ скачиваСмым Ρ„Π°ΠΉΠ»Π°ΠΌ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ использованиС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ

МоТно ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ для Ρ€Π°ΡΡˆΠΈΡ€Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄:

application:shouldAllowExtensionPointIdentifier:

Однако, это доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Custom Keyboard (ΠΈ это Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Ссли прилоТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, банкоовскиС) ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ)

Last updated

Was this helpful?