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;
我正在挂接以下 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;