ios 判断手机是否开启了代理

在研究逆向的时候,发现有些app只要是开启了代理,然后就自动退出了。原理就是通过获取网络的代理状态,然后我exit(1).

 CFDictionaryRef proxySettings = CFNetworkCopySystemProxySettings();

    NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];

   NSArray *proxies = ((__bridge NSArray *)CFNetworkCopyProxiesForURL(((__bridge CFURLRef)url), proxySettings));

    NSDictionary*setting = proxies[0];


    NSLog(@"host=%@",setting[(__bridge NSString *)kCFProxyHostNameKey]);

    NSLog(@"port=%@",setting[(__bridge NSString *)kCFProxyTypeKey]);

    //监听的类型

    NSLog(@"type=%@",setting[(__bridge NSString *)kCFProxyPortNumberKey]);

    if ([setting[(__bridge NSString *)kCFProxyPortNumberKey] isEqualToString:(__bridge NSString *)kCFProxyTypeNone]) {

        //没有设置代理

    }else{

        exit(1);

    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容