gpt4 book ai didi

ios - WiFiManager.bundle WiFiManager 在我尝试使用 dlopen 加载时返回 NULL,iOS

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:06:08 25 4
gpt4 key购买 nike

对于私有(private)用途,我尝试使用以下代码加载 WiFi 管理器 (iOS 6.1):

    airportHandle = 0;
libHandle = 0;

libHandle = dlopen(
"/System/Library/SystemConfiguration/WiFiManager.bundle/WiFiManager"
//"/System/Library/SystemConfiguration/IPConfiguration.bundle/IPConfifuration"
, RTLD_LAZY);

if(libHandle != 0)
{
disassociate = (int (*)())dlsym(libHandle, "Apple80211Disassociate");
open = (int (*)(void*))dlsym(libHandle, "Apple80211Open");
bind = (int (*)(void*, NSString*))dlsym(libHandle, "Apple80211BindToInterface");
close = (int (*)(void*))dlsym(libHandle, "Apple80211Close");
scan = (int (*)(void*, NSArray**, void*))dlsym(libHandle, "Apple80211Scan");
associate = (int (*)(void*, void*, NSString*))dlsym(libHandle, "Apple80211Associate");
info = (int (*)(void*, NSDictionary**))dlsym(libHandle, "Apple80211GetInfoCopy");
GetPower = (int (*)(void*, char*))dlsym(libHandle, "Apple80211GetPower");
SetPower = (int (*)(void*, char))dlsym(libHandle, "Apple80211SetPower");
listinfo = (int (*)(void*, NSDictionary**))dlsym(libHandle, "Apple80211GetIfListCopy");

open(&airportHandle);
bind(airportHandle, @"en0");
}

但是 libHandleNULL

我是否需要使用越狱设备,或者没有办法只使用 Private API

谢谢,

最佳答案

这不是答案,而是查找方向。

我记得,Apple 多次移动 WiFi API(从一个框架到另一个框架)。因此,这条路径(“/System/Library/SystemConfiguration/WiFiManager.bundle/WiFiManager”)很可能已过时。

即使在未越狱的 iOS 设备上,您也应该能够使用 dlopen 并获得句柄。所以,这不是问题。但是,我不确定您提到的这些 API 是否不受权利保护。

如果您有 iOS 6 模拟器,我建议您去那里尝试 grepr 并找到这些 API 所在的位置。

顺便说一句。看看这个问题。他声称他的代码适用于 iOS 6 - Iphone 802.11 Scan

关于ios - WiFiManager.bundle WiFiManager 在我尝试使用 dlopen 加载时返回 NULL,iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23245276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com