2016-07-13 18 views
5

Tôi đang cố gắng (lập trình) phát hiện lời nhắc mật khẩu quản trị viên OSX xuất hiện khi thay đổi cài đặt bảo mật hệ thống. Lý tưởng nhất là các giải pháp sẽ làm việc cho C++ hoặc Objective-C. Tôi đã xem nhiều loại NSDistributedNotificationCenters cung cấp thông báo hệ điều hành, nhưng không có thông báo nào trong số đó có vẻ cụ thể đối với lời nhắc mật khẩu. Tôi đã thử đăng ký tất cả các thông báo mà hệ điều hành có thể cung cấp, nhưng những thông báo này dường như dừng lại khi tôi đã vào cửa sổ Tùy chọn hệ thống.Cách phát hiện lời nhắc mật khẩu quản trị OSX?

Tôi cũng đã xem xét khái niệm SFAuthorizationPlugin, nhưng có vẻ như đó là nhiều hơn cho việc đăng nhập vào hệ thống từ khởi động nguội.

Tôi biết điều đó là có thể, vì tôi đã thấy các ứng dụng khác phát hiện lời nhắc mật khẩu và hiển thị nội dung nào đó trên màn hình bất cứ khi nào nó xuất hiện.

Vậy làm cách nào để tôi có thể phát hiện lập trình lời nhắc mật khẩu quản trị viên OSX?

Trả lời

3

Bạn có thể nghe thông báo SecurityAgent từ không gian làm việc.

Theo dõi thông báo kích hoạt ứng dụng như vậy:

@interface notificationHandler: NSObject {} 
@end 

@implementation notificationHandler 
-(id)init 
{ 
    [[[NSWorkspace sharedWorkspace] notificationCenter] 
     addObserver:self 
     selector :@selector(handleNotification) 
     name  :NSWorkspaceDidActivateApplicationNotification 
     object  :nil]; 
} // init 

-(void)handleNotification:(NSNotification *) notification 
{ 
    NSDictionary info = [notification userInfo]; 
    NSString *appName = [[info objectForKey:NSWorkspaceApplicationKey] localizedName]; 
    if ([appName isEqualToString:@"SecurityAgent"]) { 
     // You have found the administrator password prompt! 
    } 
} // handleNotification 
@end 
+0

Perfect, đây là chính xác những gì tôi đang tìm kiếm! – JohnDvorak

Các vấn đề liên quan