路径 B:软禁用方案(Runtime Interception)详细实施步骤
核心思路:
不修改 Android.bp 和 android.config,保持 CONFIG_WPS=y 和 CONFIG_WEP=y 编译宏开启。这样可以保证所有结构体定义完整,编译不会报错。我们在 HAL 层接口(AIDL/HIDL)函数的最前端进行拦截,直接返回“不支持”或“失败”。
假设你的代码环境是 Android 13/14/15,使用的是 AIDL 接口(根据你之前提供的代码片段 ndk::ScopedAStatus 判断)。
第一步:定位源文件
通常位于 external/wpa_supplicant_8/wpa_supplicant/aidl/ 目录下。我们需要修改两个核心文件:
SupplicantStaIface.cpp(负责处理 WPS 启动命令)