Skip to content

Instantly share code, notes, and snippets.

@apkunpacker
Forked from aemmitt-ns/restricted.m
Created May 19, 2023 14:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save apkunpacker/1ff82e119ab451b5e6b63cf1842033bc to your computer and use it in GitHub Desktop.
Save apkunpacker/1ff82e119ab451b5e6b63cf1842033bc to your computer and use it in GitHub Desktop.
program to dump out forbidden classes and selectors in NSPredicates
// dump classes and selectors forbidden in NSPredicates
// `cc -framework Foundation -o restricted restricted.m`
#import <Foundation/Foundation.h>
#import <dlfcn.h>
int main() {
void *cf = dlopen("/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation", 0);
NSDictionary* (*RestrictedClasses)() = dlsym(cf, "_CFPredicatePolicyRestrictedClasses");
NSDictionary* (*RestrictedSelectors)() = dlsym(cf, "_CFPredicatePolicyRestrictedSelectors");
NSLog(@"Restricted Selectors: %@", RestrictedSelectors());
NSLog(@"Restricted Classes: %@", RestrictedClasses());
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment