- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想编写一个 MobileSubstrate ( http://www.iphonedevwiki.net/index.php/MobileSubstrate) 插件,它接受每个 HTTP 请求并修改 URL。 (原因非常复杂,需要一段时间才能解释,所以请相信我,别无选择)。基本上,我需要知道什么是最好的 Objective-C 消息或 C 函数,我应该覆盖它们以拦截任何 HTTP 请求、修改 URL 并将请求发送回原始函数(这不应该只是发送的第一个请求通过一个应用程序,但也有任何重定向)。我认为它可能在 NSURL 或 CFNetwork 中,但不确定具体位置。此功能在替换后应该适用于任何应用程序和操作系统本身。
编辑:好的,这是我想做的两个示例场景,请注意,要覆盖的方法应该是从应用程序到操作系统的任何地方的任何 HTTP 请求调用的方法:
1) MobileSafari 中的用户在 aaa.com/a.html 中输入
2) aaa.com/a.html 重定向到 aaa.com/b.html
3) aaa.com/b.html 加载 bbb.com/c.png
我想更改请求,以便添加 ?i=j。
例如:将所有 aaa.com/a.html 更改为 aaa.com/a.html?i=j, aaa.com/b.html?i=j, bbb.com/c.png?i=j?
还有一个:
1) 用户使用 Maps.app
2) Google map 尝试加载 google.com/map1.png(我知道这不是实际图像)
将 google.com/map1.png 更改为 google.com/map1.png?i=j?
最佳答案
挂接以下方法并将请求替换为您已编辑的 mutableCopy
。
-[NSURLConnection sendWillSendRequest:redirectResponse:]
-[NSURLConnection initWithRequest:delegate:]
–[NSURLConnection initWithRequest:delegate:startImmediately:]
这不会重定向原始 TCP 套接字连接,只会重定向通过标准 API 汇集的 HTTP 请求。
注意:在这样做时要非常小心。在我看来,重定向所有 http 请求违反了用户信任
关于iphone - 使用 MobileSubstrate 修改 iPhoneOS 上的所有 HTTP 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2734120/
我正在制作一个 MobileSubstrate 插件,它应该:a) Hook 一个或多个特定类的实例方法和b) 根据包含该对象(具体来说是 UIResponder 子类)的应用程序的包 ID 执行不同
我有一个 SpringBoard Hook ,可以监听分布式通知。我已经 Hook 了在 SpringBoard 中收到的各种其他应用程序发布通知。 如果我将 userInfo 传递为 null,则
调试 MobileSubstrate 扩展的最佳方法是什么,即放置断点等?在 Xcode 中有办法做到这一点吗? GNU 调试器? 最佳答案 我使用系统日志和尾部。您需要来自 Cydia 的 sysl
我想 Hook 在 ImageIO 框架中本地声明的名为 png_handle_IHDR 的函数。我使用 MobileSafari 作为过滤器。但是在调用原始功能时,mobilesafari 崩溃了。
我浏览了this tutorial创建 MobileSubstrate 插件。我可以编译 example hook没有错误。 但是一旦我添加 #import 在ExampleHookProtocol
我在谷歌上搜索了很多关于如何为 iPhone 创建 mobilesubstrate 插件的信息,但找不到任何基本教程。有人知道如何做到这一点吗?我正在寻找对其的基本了解。 谢谢:) 最佳答案 此脚本会
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我在为 iOS 5 调整 Mobile Substrate 时遇到问题。 大多数关于调整 Cydia 的教程都有这个步骤:“下载私有(private)框架头文件”。所以,我从以下位置下载了它:http
我正在尝试找出解锁设备的方法在哪里。我正在使用 SBAwayLockBar,但 SpringBoard 崩溃并返回 SBAwayLockBar 的实例可能无法响应选择器、解锁。那么,是否有一种私有(p
来自 the example of hooking C++ methods with MobileSubstrate我发现了这个: void (*X_ZN20WebFrameLoaderClient2
我正在使用 Logos 构建一个 MobileSubstrate 调整,并且我正在尝试添加一种新方法来将设备锁定到设备上的每个应用程序中,这将在接近更改通知后运行。到目前为止,我的代码是 #impor
我想编写一个 MobileSubstrate ( http://www.iphonedevwiki.net/index.php/MobileSubstrate) 插件,它接受每个 HTTP 请求并修改
-(id)initWithUserSettings:(id)userSettings mqttSender:(id)sender; NSDictionary *settings3=[[NSDi
我是一名优秀的程序员,十分优秀!