为什么越狱调整没有加载应用程序?

Why is jailbreak tweak not loaded with App?

我创建了一个(我的精简版)tweak,它记录了应用程序使用一种特定方法实例化的所有 URL。它适用于多个应用程序,但在一个应用程序启动时,不会加载调整。我尝试使用其他过滤器,但包 ID、class 名称和可执行文件名称均无效。

有什么想法吗?

Tweak.xm:

%hook NSURL

+ (instancetype)URLWithString:(NSString *)URLString {
    %log;
    return %orig;
}

%end

.plist:

{ Filter = { Bundles = ( "com.htsu.hsbcpersonalbanking" ); Executables = ("HSBC"); Classes = ("NSURL"); }; }

三种可能性:

  1. 二进制文件有 __RESTRICTED 部分,正常注入将不起作用

    otool -l /PATH/TO/BINARY|grep sectname,如果您在结果中看到 __RESTRICTED,就是这种情况。 optool 会强制为您注入,但您可能还需要绕过应用程序的反注入检查

  2. 您的调整未正确编译。
    查看系统日志,如果是这种情况,MobileSubstrate 将在系统日志中警告您
  3. 那个方法没有被调用
    尝试:
%ctor{
NSLog(@"I'm injected");
}

and see if that is logged to rule out possibilities of 1&2