Tôi nghĩ rằng câu hỏi này nên được đăng trong trang web Reverse Engineering Stack Exchange . Bạn đang yêu cầu chi tiết thực hiện về hộp đen ...
Trong thực tế, tôi đã đào xung quanh một chút về /System/Library/CoreServices/Menu Extras/AirPort.menu
và/System/Library/Frameworks/CoreWLAN.framework/
Có một phương thức riêng CWNetwork
gọi là isPersonalHotspot
, loại:
char -[CWNetwork(Private) isPersonalHotspot](void * self, void * _cmd) {
eax = [*(self + 0x4) objectForKey:@"IOS_IE"];
eax = LOBYTE(eax != 0x0 ? 0x1 : 0x0) & 0xff;
return eax;
}
Có vẻ như chỉ cần kiểm tra một số định danh. Tôi nghĩ SFRemoteHotspotDevice
và WiFiXPCEventProtocol
có thể có nhiều chi tiết cấp thấp hơn nhưng tôi đã không kiểm tra.
BTW, cũng có một tài sản để xác định xem có phải mạng CarPlay không
@interface CWNetwork : NSObject <NSCopying, NSSecureCoding>
... //redacted
@property(readonly) BOOL isPersonalHotspot;
@property(readonly) BOOL isCarPlayNetwork;
... //redacted
Apple kiểm soát Phần cứng, Trình điều khiển và Hệ điều hành, tôi đoán họ có thể dễ dàng thêm siêu dữ liệu bổ sung khi phát tín hiệu WiFi để máy Mac của bạn biết có thêm biểu tượng chuỗi hay không.
Nếu bất cứ ai tìm ra chính xác Apple đã thực hiện thủ thuật này như thế nào, xin vui lòng cho tôi biết. :)