我目前正在审核一个 iOS 应用程序,我遇到了这种情况,这让我想知道它是否可以以某种方式被利用。
这是场景:有一个 plist 包含一个类名,即一个UIViewController
子类名,作为一个字符串。
然后加载此类字符串并用于检索匹配的类,如下所示:
NSString *className = ... // loaded from plist
UIViewController *vc = [(UIViewController *)[NSClassFromString(className) alloc] initWithNibName:className bundle:[NSBundle mainBundle]];
我想知道是否有可能(在越狱设备上)篡改 plist 并让应用程序加载任意UIViewController
子类。
有什么想法吗?