Есть ли способ использовать Frida или любой другой инструмент для вызова метода в приложении IOS с вашим собственным аргументом?

#javascript #ios #objective-c #reverse-engineering #frida

#javascript #iOS #objective-c #обратный инжиниринг #фрида

Вопрос:

Есть ли способ, может быть, скрипт или API для вызова метода в приложении IOS без ручного запуска его в самом приложении, а также замены значений? Цель этого — убедиться, что запрос с сервера вернет нужные мне значения.

Пример: если значение 1 отправляется на сервер, оно возвращает значение «True», но я хочу, чтобы возвращаемое значение было «False», поэтому мне нужно вызвать метод, который запрашивает сервер, и изменить значение аргумента на 0. Может ли frida принудительно активировать метод без взаимодействия или есть другой инструмент, который может это выполнить?

Комментарии:

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

2. О, потому что, допустим, у меня нет доступа к серверу, но я хочу получить данные из его базы данных. Итак, мой мыслительный процесс состоял бы в том, чтобы запустить функцию запроса в приложении для возврата значений. Например, функция, которая принимает идентификатор пользователя и возвращает результат, я хочу специально настроить таргетинг на user1, поэтому перезапись onLeave не будет работать.

Ответ №1:

Если вы хотите перехватывать все вызовы функций, чтобы изменять возвращаемое значение, ознакомьтесь с основными функциями перехвата с помощью Interceptor.attach

Если вы хотите создать свой собственный или существующий объект, посмотрите на следующие примеры: https://github.com/frida/frida/issues/567#issuecomment-406897414

Комментарии:

1. Должен ли я создавать экземпляр существующего объекта в обработчике js-файлов, созданных с помощью frida-trace, или создать свой собственный js-скрипт и запустить его с помощью frida?