我想知道如何挂钩dylib中的函数,即C函数。
我的目标是连接到CoreTelephony中的函数CTRegistrationSetCellularDataIsEnabled。
谢谢!
最佳答案
如果希望挂接dylib函数,则需要访问MobileSubtrate,方法是这样(从here挂接一个名为CFShow()的函数):
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"));
关于iphone - Hook C函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11312668/