0

我想知道如何挂钩到 dylib 中的函数,即 C 函数。我的目标是连接到 CoreTelephony 中的函数 CTRegistrationSetCellularDataIsEnabled。

谢谢!

4

2 回答 2

2

如果您希望挂钩一个 dylib 函数,您将需要访问 MobileSubtrate,就像这样(从这里挂钩一个名为 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"));
于 2012-07-03T14:14:02.380 回答
1

您将需要使用类转储 从您需要使用的类中获取标头,然后调用此函数

于 2012-07-03T14:09:00.347 回答