Saya pikir pertanyaan ini harus diposting di situs Reverse Engineering Stack Exchange . Anda meminta detail implementasi tentang kotak hitam ...
Sebenarnya saya memang menggali sedikit /System/Library/CoreServices/Menu Extras/AirPort.menu
dan/System/Library/Frameworks/CoreWLAN.framework/
Ada metode pribadi yang CWNetwork
disebut isPersonalHotspot
, jenis:
char -[CWNetwork(Private) isPersonalHotspot](void * self, void * _cmd) {
eax = [*(self + 0x4) objectForKey:@"IOS_IE"];
eax = LOBYTE(eax != 0x0 ? 0x1 : 0x0) & 0xff;
return eax;
}
Tampaknya hanya memeriksa beberapa pengidentifikasi. Saya pikir SFRemoteHotspotDevice
dan WiFiXPCEventProtocol
mungkin memiliki detail level yang lebih rendah tetapi saya tidak memeriksanya.
BTW, Ada juga properti untuk mengidentifikasi apakah jaringan CarPlay
@interface CWNetwork : NSObject <NSCopying, NSSecureCoding>
... //redacted
@property(readonly) BOOL isPersonalHotspot;
@property(readonly) BOOL isCarPlayNetwork;
... //redacted
Apple mengontrol Perangkat Keras, Driver dan Sistem Operasi, saya kira mereka dapat dengan mudah menambahkan metadata tambahan saat menyiarkan sinyal WiFi sehingga Mac Anda tahu apakah menambahkan ikon rantai atau tidak.
Jika ada yang tahu persis bagaimana Apple melakukan triknya, beri tahu saya. :)