macOS включает в себя Yara, xProtect и MRT.app
Что я хотел бы сделать, так это создать сканер графического интерфейса пользователя в XCode, который позволит мне указать конкретный каталог на моем Mac и позволить запустить команду терминала, например:
(при использовании bin / bash)
sudo /System/Library/CoreServices/MRT.app/Contents/MacOS/mrt -a -r ~ / Library
task = [[NSTask alloc] init];
[task setLaunchPath:@"/bin/sh"];
[task setArguments:@[@"/xprotect.sh"]];
[task setStandardOutput:[NSPipe new]];
[task setStandardError: [task standardOutput]];
[task setStandardInput: [NSPipe new]];
[task launch];
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter addObserver:self
selector:@selector(getReadData:)
name:NSFileHandleReadCompletionNotification
object:[[task standardOutput] fileHandleForReading]];
[[[task standardOutput] fileHandleForReading] readInBackgroundAndNotify];
[notificationCenter addObserver:self
selector:@selector(QuitTask:)
name:NSTaskDidTerminateNotification
object:task];}
NSData *data = [[aNotification userInfo] objectForKey:@"NSFileHandleNotifictionDataItem"];
NSString *response = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
[delegate ReadInResponse:response];
[[aNotification object] readInBackgroundAndNotify];}
[[NSNotificationCenter defaultCenter]
removeObserver:self
name:NSTaskDidTerminateNotification
object:task
];
[[NSNotificationCenter defaultCenter]
removeObserver:self
name:NSFileHandleReadCompletionNotification
object:[[task standardOutput]fileHandleForReading]];
task = nil;
[delegate ReadInResponse:@"task"];
}@end
В графическом интерфейсе отображается только «Задача». Он никогда не выполняет сценарий, и даже если он это сделал, я не уверен, что это лучший способ выполнить его.