Hook App的所有连接请求增加代理

需求: 想给一个App注入动态库,实现App中的所有网络请求都从动态库中提供的代理走

操作步骤: 无

最近发现深信服有一个产品可以给原始App封装代理功能,应该就是注入动态库,不用写任何代码,看到的例子是给Chrome iOS App封装加上代理功能,打开封装后的app登录认证通过后就可以访问内网了。可以肯定的是,这个功能并没有用到NetworkExtension因为在电池栏上并没微屁恩标志,目前猜测就是普通的http/https代理。

我想这应该会涉及到hook app里面的连接请求问题,如果是NSURLSession请求,似乎可以通过hook设置connectionProxyDictionary指定代理,问题是如果被注入的iOS app没有使用NSURLSession或者苹果的其他网络api,该怎么hook增加代理呢,有人指教吗

1 个赞

逆一波这个App就知道了

说实话用NetworkExtension实现一个代理也不难

并没有App可以逆,用NetworkExtension实现代理就是另一回事了,我比较感兴趣的是怎么在App层接管所有网络请求

hook CFNetworkCopySystemProxySettings

感觉这个还不是很广泛,找到一篇名为《 一种IOS上针对App的TCP/UDP流量引导的方法》的专利似乎符合我的要求,有得研究了