Перехват XPC сообщений в iOS

11.11.2020 | Полезные материалы

В Android существует известный всем механизм межпроцессного взаимодействия — binder.

На iOS с межпроцессным взаимодействием сложнее и одним из возможных способов трансляции сообщений между приложениями является механизм XPC, основанный на передаче plist-структур при помощи libSystem и launchd. Вот тут кратко описан пример, как это работает, чуть повеселее, чем описание Apple таки. 

Достаточно интересно, что некоторые системные компоненты имеют XPC интерфейсы. Так, например, в далёком 2012 году на iOS 5 можно было отправлять сообщения без ведома пользователя, используя системный сервис com.apple.chatkit.

Для анализа таких взаимодействий существует несколько библиотек, причем одна из них, более новая и с большим количеством функционала, реализована с использованием frida.

Выглядит весьма интересно, попробую посмотреть, какие приложения общаются таким способом, раньше как-то не сильно обращал на него внимания. Может, что-то интересное и в системных компонентах найдется.

stingray-subscribe-btn1
Подпишитесь на telegram канал