我想在iOS8里面使用一组NetworkExtension.framework里面的私有API
但是我使用MSFindSymbol来查找符号地址。里面居然有一些找不到符号。
NSLog(@"+ MSFindSymbol: %p", (void *)MSFindSymbol(NULL, "_NEVirtualInterfaceCreateFromSocket"));
NSLog(@"+ MSFindSymbol: %p", (void *)MSFindSymbol(NULL, "_NEVirtualInterfaceSetReadAutomatically"));
NSLog(@"+ MSFindSymbol: %p", (void *)MSFindSymbol(NULL, "_NEVirtualInterfaceSetReadMultipleIPPacketsHandler"));
NSLog(@"+ MSFindSymbol: %p", (void *)MSFindSymbol(NULL, "_NEVirtualInterfaceReadyToReadMultiple"));
NSLog(@"+ MSFindSymbol: %p", (void *)MSFindSymbol(NULL, "_NEVirtualInterfaceWriteMultipleIPPackets"));
!
就拿_NEVirtualInterfaceSetReadMultipleIPPacketsHandler来说,这个函数在NetworkExtension里是有的。看我从设备上导出来的库
在iOS8的SDK里面NetworkExtension.tbd这个文件里面也有这个函数.
而且我在iOS9上这些函数都可以HOOK到,日志都能打印出来。这是为什么?