Как подключить функции записи приложения и загрузки платформы в приложении iOS с помощью frida?IOS

Программируем под IOS
Ответить
Anonymous
 Как подключить функции записи приложения и загрузки платформы в приложении iOS с помощью frida?

Сообщение Anonymous »

Я хотел бы выполнять долго выполняющийся код до вызова любого кода приложения и общим способом, который работает во всех приложениях. Если приложение остается на паузе, iOS убивает его до завершения моего кода. Лучшее, что мне пока удалось, — это перехватить UIApplicationMain, но это позже, чем хотелось бы.
Глядя на декомпилированный двоичный файл, я замечаю, что там есть раздел __swift_entry, указывающий на функция входа -

Код: Выделить всё

       undefined entry()
10000c01c f6 57 bd a9     stp        x22,x21,[sp, #local_30]!
...
//
// __swift5_entry
// __TEXT
// ram:xxx-ram:yyy
//
10xxxxx9c 80 16 6b fc  pointer32 __((relative)) entry
10xxxxxa0 00           ??         00h
10xxxxxa1 00           ??         00h
10xxxxxa2 00           ??         00h
10xxxxxa3 00           ??         00h
Я могу прочитать этот раздел -

Код: Выделить всё

Process.mainModule
.enumerateSections()
.find(r => /^__swift[5-9]_entry$/.test(r.name))
.address
.readByteArray(4)
// 0000  80 16 6b fc
Но я не уверен, как читать этот указатель и относительно чего он связан. Значение кажется очень высоким. Я также не уверен, есть ли лучший способ подойти к этому, который также работал бы для приложений на основе Objective C? Кроме того, я считаю, что фреймворки могут выполнять код при загрузке, и мне хотелось бы также перехватить их, чтобы задержать этот код.


Подробнее здесь: https://stackoverflow.com/questions/793 ... -using-fri
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»