Как я могу отслеживать вызовы API приложения на jailbroken iOS-устройстве?

Я выполняю обзор приложения iOS, для которого у меня нет исходного кода. Чтобы получить больше контроля над средой, я запускаю приложение на взломанном iPad.

Я хотел бы иметь возможность отслеживать вызовы API, которые делает приложение … В идеале я хотел бы найти что-то вроде Rohitab MS Windows, основанного на API-интерфейсе , но вместо этого для iOS.

Я провел некоторое исследование и нашел проект KennyTM под названием « Субъективный-С », который кажется, что он может делать то, что мне нужно. Я действительно использовал скрипт cycript вместе с libsubjc.dylib, доступным на сайте Google .

Тем не менее, я не смог понять, как правильно заставить его запускать протоколирование вызовов для приложения. Вот ссылка на скрипт cycript, написанный автором Subjective-C (libsubjc). Я также вставил скрипт внизу.

/* libsubjc.cy ... Use libsubjc in cycript. Copyright (C) 2009 KennyTM~ <[email protected]> [...GPL3...] */ dlopen("libsubjc.dylib", 10); if (!dlfun) { function dlfun(fn, encoding, altname) { var f = new Functor(dlsym(RTLD_DEFAULT, fn), encoding); if (f) this[altname || fn] = f; return f; } } dlfun("SubjC_start", "v"); dlfun("SubjC_end", "v"); dlfun("SubjC_set_file", "v^{sFILE=}"); dlfun("SubjC_set_maximum_depth", "vI"); dlfun("SubjC_set_print_arguments", "vB"); dlfun("SubjC_set_print_return_value", "vB"); dlfun("SubjC_set_print_timestamp", "vB"); SubjC_Deny = 0, SubjC_Allow = 1; dlfun("SubjC_clear_filters", "v"); dlfun("SubjC_filter_method", "vi#:"); dlfun("SubjC_filter_class", "vi#"); dlfun("SubjC_filter_selector", "vi:"); dlfun("SubjC_default_filter_type", "vi"); dlfun("SubjC_filter_class_prefixes", "viI^*"); dlfun("SubjC_filter_class_prefix", "vi*"); dlfun("fopen", "^{sFILE=}**"); dlfun("fclose", "i^{sFILE=}"); 

Мне удалось загрузить скрипт libsubjc cycript и вызвать функцию SubjC_start. Однако, как я могу указать дескриптор входного файла для строки, начинающейся с dlfun («SubjC_set_file», «v ^ {sFILE =}»);

Кто-нибудь успешно использовал скрипт cyps libsubjc.cy с библиотекой Subjective-C (libsubjc.dylib) для мониторинга вызовов API приложения?

ОБНОВИТЬ

Это, по крайней мере, генерация выходного файла, но я не вижу никакой информации, заполненной в выходном файле (/tmp/test.txt).

 cycript -p SpringBoard libsubjc.cy; cycript -p SpringBoard f = fopen("/tmp/test.txt", "w"); SubjC_set_file(f); SubjC_set_maximum_depth(15); SubjC_set_print_arguments(YES); SubjC_set_print_return_value(YES); SubjC_set_print_timestamp(YES); SubjC_default_filter_type(SubjC_Deny); SubjC_start(); //do stuff SubjC_end(); 

Или, если кто-то знает о другом способе отслеживания вызовов API (без исходного кода) на устройстве с джейлбрейком, пожалуйста, дайте мне знать!

Не уверен, помогает ли это вам. Попробуйте Чарльз Приши

шаги:

1. Установите прокси-сервер Charles на свой Mac.
2.Измените настройку прокси-сервера на своем мобильном устройстве (нужно пройти через прокси-сервер Charles). Проверьте их сайт для настройки)

  • Создание Cydia Logos Tweak, теперь требуется повторная установка после установки (как это сделать)
  • Может ли приложение работать, пока экран заблокирован, на взломанном iphone?
  • Должен ли я перезапустить устройство, не только отжимая, чтобы установить настройку для backboardd?
  • Распространять неподписанное приложение iPhone для взломанного iPhone без Cydia
  • Любые хорошие примеры кода / справочных материалов iOSOpenDev?
  • Преобразование проекта xcode в iOSOpenDev
  • Реализация ключевого журнала iOS
  • Разработка приложения iOS для Cydia
  • Сохранение приложения в фоновом режиме неограниченное (для приложения Cydia)
  • Как добавить подпроекты в iOSOpenDev?
  • Как отображать значок пакета / приложения при просмотре Cydia repo
  • Давайте будем гением компьютера.