Quantcast
Channel: Essence Sharing | 干货分享 - iOSRE
Viewing all articles
Browse latest Browse all 301

iOS11/iOS12上通过LSApplicationWorkspace获取应用列表(只能获取带有 plugin 的app)

$
0
0

@LithiumCarbinate wrote:

NSMethodSignature *methodSignature = [NSClassFromString(@“LSApplicationWorkspace”) methodSignatureForSelector:NSSelectorFromString(@“defaultWorkspace”)];
NSInvocation *invoke = [NSInvocation invocationWithMethodSignature:methodSignature];
[invoke setSelector:NSSelectorFromString(@“defaultWorkspace”)];
[invoke setTarget:NSClassFromString(@“LSApplicationWorkspace”)];

[invoke invoke];
NSObject * objc;
[invoke getReturnValue:&objc];

NSMethodSignature *installedPluginsmethodSignature = [NSClassFromString(@“LSApplicationWorkspace”) instanceMethodSignatureForSelector:NSSelectorFromString(@“installedPlugins”)];
NSInvocation *installed = [NSInvocation invocationWithMethodSignature:installedPluginsmethodSignature];
[installed setSelector:NSSelectorFromString(@“installedPlugins”)];
[installed setTarget:objc];

[installed invoke];
NSObject * arr;
[installed getReturnValue:&arr];

for (NSObject *objc in arr) {

NSMethodSignature *installedPluginsmethodSignature = [NSClassFromString(@"LSPlugInKitProxy") instanceMethodSignatureForSelector:NSSelectorFromString(@"containingBundle")];
NSInvocation *installed = [NSInvocation invocationWithMethodSignature:installedPluginsmethodSignature];
[installed setSelector:NSSelectorFromString(@"containingBundle")];
[installed setTarget:objc];

[installed invoke];
NSObject * app;
[installed getReturnValue:&app];
NSLog(@"%@",app);

}

以上来自 NGE 商业化实验室 对某助手的逆向

Posts: 5

Participants: 2

Read full topic


Viewing all articles
Browse latest Browse all 301

Trending Articles