Мне интересно, как я могу подключиться к функции, которая находится в dylib, то есть в функции C. Моя цель - подключиться к функции CTRegistrationSetCellularDataIsEnabled, которая находится в CoreTelephony.Подключиться к функции C
Спасибо!
Мне интересно, как я могу подключиться к функции, которая находится в dylib, то есть в функции C. Моя цель - подключиться к функции CTRegistrationSetCellularDataIsEnabled, которая находится в CoreTelephony.Подключиться к функции C
Спасибо!
Вам необходим доступ к MobileSubtrate, если вы хотите какой-либо надежды на закреплять функцию dylib, которая сделал вот так (закреплять функцию под названием CFShow(), из here):
static void (*original_CFShow)(CFTypeRef obj); // a function pointer to store the original CFShow().
void replaced_CFShow(CFTypeRef obj) {
// our replacement of CFShow().
printf("Calling original CFShow(%p)...", obj);
original_CFShow(obj); // calls the original CFShow.
printf(" done.\n");
}
// hook CFShow to our own implementation.
MSHookFunction(CFShow, replaced_CFShow, &original_CFShow);
// From now on any call to CFShow will pass through replaced_CFShow first.
CFShow(CFSTR("test"));
Вам нужно будет использовать class dump, чтобы получить заголовки из классов, которые необходимо использовать, а затем вызвать эту функцию
Моя проблема в том, что эта функция является статической функцией C внутри dylib, то есть мне приходится загружать ее символ через dlsym. НО, по какой-то причине, я получаю сообщение об ошибке, что символ не может быть найден. Как я понял, это потому, что это функция настройки cydia, что означает ее разделение до его упаковки. Вот почему нет символов. .. Знаете ли вы, как я могу его преодолеть? Спасибо! –
так вы знаете: это делают в приложении, предназначенных для App Store получит его отвергнут. –
Должны ли все здесь включать этот комментарий в каждый пост? Поверьте мне, что большинство людей задают вопрос вроде этого. Я знаю об этом :) –