iOS Theos 挂钩并设置 ivar/property

iOS Theos Hook and set ivar/property

我正在挂接以下 class,我正在尝试弄清楚如何挂接和设置 m_proxyPort。我可以毫无问题地阅读它,但是如果我想更改它呢?

3 个 NSString ivar 有一个 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

您可以像获取它一样设置它。

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