2015-03-18 63 views
2

苹果的WebView和WKWebView假设你想要与Safari共享cookie和我正在构建的应用程序,我真的不想那样做。不幸的是,他们只是使用你无法访问的单例NSHTTPCookieStorage,就是这样。运行后将代码注入到Cocoa应用程序中,有可能吗?

我一直在考虑编写一个库,它重新定义NSHTTPCookieStorage的一部分,并使用DYLD_INSERT_LIBRARIES来加载它,以便我可以从不同的位置读取和写入cookie。不幸的是,我们的应用程序的一部分是一个屏幕保护程序,它不是一个应用程序,而是一个由屏幕保护程序应用程序加载的库(如插件),所以当我获得控制权时,使用DYLD_INSERT_LIBRARIES为时已晚。

有没有其他方法可以达到这个目的?修改已经加载的类的方法?

+0

有你阅读Mike Solomon的[“Cocoa Reverse Engineering”杂志](http://code.google.com/p/simbl/wiki/CocoaReverseEngineeri NG)? – 2015-03-18 23:14:53

+0

@JoshCaswell不,但我会去的。 – Pablo 2015-03-18 23:40:57

回答

1

是的,你可以这样做。 Objective-C运行时具有某种表格,它将selector name映射到selector implementation,并且您可以在运行时编辑该表格。

你可能想看看this library

相关问题