Я думаю, що це питання слід розмістити на сайті Reverse Engineering Stack Exchange . Ви запитуєте детальну інформацію про впровадження чорного поля ...
Насправді я копався трохи на /System/Library/CoreServices/Menu Extras/AirPort.menu
і/System/Library/Frameworks/CoreWLAN.framework/
Існує приватний метод, який CWNetwork
називається isPersonalHotspot
:
char -[CWNetwork(Private) isPersonalHotspot](void * self, void * _cmd) {
eax = [*(self + 0x4) objectForKey:@"IOS_IE"];
eax = LOBYTE(eax != 0x0 ? 0x1 : 0x0) & 0xff;
return eax;
}
Здається, просто перевірка деяких ідентифікаторів. Я думаю , що SFRemoteHotspotDevice
і WiFiXPCEventProtocol
може мати більш низькі деталі рівня , але я не перевіряв.
До речі, є також властивість визначати, чи є мережа CarPlay
@interface CWNetwork : NSObject <NSCopying, NSSecureCoding>
... //redacted
@property(readonly) BOOL isPersonalHotspot;
@property(readonly) BOOL isCarPlayNetwork;
... //redacted
Apple контролює обладнання, драйвери та операційну систему, я думаю, що вони можуть легко додати додаткові метадані під час трансляції сигналу Wi-Fi, щоб ваш Mac знав, додавати піктограму ланцюжка чи ні.
Якщо хтось зрозуміє, як саме Apple зробив трюк, будь ласка, дайте мені знати. :)