iOS Theos Hook并设置ivar / property

时间:2015-03-13 17:59:35

标签: ios objective-c hook theos

我有以下类,我正在挂钩,我试图找出如何挂钩和设置m_proxyPort。我可以毫无问题地阅读它,但如果我想改变它怎么样?

有3个NSString ivars的setter,但是没有m_proxyPort的setter,想知道是否有办法设置ivar?

@interface DDURLProtocol : NSURLProtocol <NSURLAuthenticationChallengeSender, DDURLProtocolHttpAdapterDelegate>
{
    int m_proxyPort;
    NSString *_proxyHost;
    NSString *_proxyUsername;
    NSString *_proxyPassword;
}


%hook DDURLProtocol

- (void) check 
{
   [self setProxyHost:@"127.0.0.1"];
   int pp = MSHookIvar<int>(self, "m_proxyPort");
   NSLog(@"proxyPort: %d", pp);
   // How to set m_proxyPort????
}


%end

1 个答案:

答案 0 :(得分:6)

您可以按照相同的方式设置它。

MSHookIvar<int>(self, "m_proxyPort") = 23;