MobSF执行安卓静态分析报APKiD缺失rules.yarc错误,寻求解决方案
报错根因
核心错误是APKiD依赖的预编译YARA规则文件rules.yarc缺失,开头关于API level 29的警告仅为提示,不会阻断分析流程,可以忽略。
解决方案
- 优先排查路径编码问题:你当前的MobSF存放路径包含俄语字符
Рабочий стол(即桌面文件夹),非英文/非ASCII路径经常导致Python依赖的文件读取异常,建议将整个Mobile-Security-Framework-MobSF文件夹移动到纯英文无特殊字符的路径下,比如C:\tools\MobSF\,重启MobSF后重新尝试分析。 - 重新生成APKiD规则文件:如果移动路径后依然报错,激活MobSF的虚拟环境后依次执行以下命令:
pip uninstall -y apkid pip install --upgrade apkid python -m apkid.rules
执行完成后检查venv\Lib\site-packages\apkid\rules\目录下是否已经生成rules.yarc文件。
- 临时绕过方案:如果不需要APKiD的壳检测、编译器识别功能,可以直接关闭APKiD扫描:找到MobSF根目录下的
settings.py配置文件,搜索APKID_ENABLED配置项,将值修改为False,保存后重启MobSF即可正常运行静态分析。
内容的提问来源于stack exchange,提问作者davron_qa
相关产品推荐
相关产品推荐

