android SELinux权限适配

抓log方法,

  1. setenforce 0,
    如果不先将selinux设置为permission mode,会导致一个问题。
    程序运行的时候遇到权限策略限制(假设 sepolicy 1),程序运行失败。添加权限(sepolicy 1),然后编译,刷机,重新验证。这时候又遇到(sepolicy 2)的权限策略,又需要进行添加权限的设置。如果程序需要多个权限,就需要反复进行设置权限。影响效率。
    对于将selinux设置为permission mode,分二种方法:1,执行setenforce 0命令即可。2,修改init代码,在初始化的时候设置为permission mode,不同版本方式不一样。

  2. run your apk,
    运行相关的程序,尽可能将程序可能申请的权限相关的代码都执行,防止漏申请相关的权限。只能根据程序log来判断到底需要什么权限。无法申请所有的权限。需要验证user userdebug eng 等不同的版本。
     
  3. Capture error log,
    抓去完整的 kernel log和logcat,过滤其中的avc 关键字log
     
  4. analysis log.
    根据log中的信息,添加对应的sepolicy。对于大部分情况,可以使用如下的方法添加权限,注意对应位置(颜色已经标记)
    This error need this permission W/wpa_cli ( 1354): type=1400 audit(0.0:7): avc: denied { search } for name="wifi" dev="mmcblk0p32" ino=145742 scontext=u:r:mmi:s0 tcontext=u:object_r:wifi_data_file:s0 tclass=dir permissive=0
    allow mmi wifi_data_file:dir search;
    也可以使用命令方式,使用linux工具,自动生成权限语句,类似如下
    adb shell  dmesg | grep avc  | audit2allow 

5.编译

编译和验证

make -j4 selinux_policy

adb push ./system/etc/selinux/* /system/etc/selinux/

adb push ./vendor/etc/selinux/* /vendor/etc/selinux/

6.编译遇到neverallow问题解决

遇到neverallow问题需要自定义权限域,如下是添加到vendor_sysfs_usb_supply权限域中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1550294.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

如何将音频转换成mp3?5个宝藏音频转换的方法,学起来!

音频文件已成为我们日常生活中不可或缺的一部分,无论是聆听喜爱的音乐、学习语言课程,还是录制会议内容,音频都扮演着重要角色。然而,随着音频格式的多样化,我们常常会遇到格式不兼容的问题,尤其是在需要将…

【完-网络安全】Windows注册表

文章目录 注册表启动项及常见作用五个根节点常见入侵方式 注册表 注册表在windows系统的配置和控制方面扮演了一个非常关键的角色,它既是系统全局设置的存储仓库,也是每个用户的设置信息的存储仓库。 启动项及常见作用 快捷键 WinR打开运行窗口&#x…

大模型增量训练--基于transformer制作一个大模型聊天机器人

针对夸夸闲聊数据集,利用UniLM模型进行模型训练及测试,更深入地了解预训练语言模型的使用方法,完成一个生成式闲聊机器人任务。 项目主要结构如下: data 存放数据的文件夹 dirty_word.txt 敏感词数据douban_kuakua_qa.txt 原始语…

ubuntu18.04安装教程

window分区 制作启动盘 插入 按F12进入启动选项页面,选择usb启动 选择install ubuntu 进入安装页面 选择中文(简体) 键盘布局选择英语(美国) 选择正常安装 等一小会儿 选择其他选项 分区 包括500mb系统分区 1000…

HuggingChat macOS版正式发布!文章内附体验地址!我国打造糖尿病专用AI模型|AI日报

文章推荐 全新豆包AI视频模型发布!实测下的可灵与豆包!原来它们的差距不止一点点... 今日热点 我国团队打造糖尿病专用AI模型 上海交通大学清源研究院MIFA实验室携手复旦大学附属中山医院内分泌科,组建专家团队,联手开发一款名…

[sql-04] 连续出现至少三次的数字

数据准备 CREATE TABLE leecode_01 (id bigint not null AUTO_INCREMENT,num int DEFAULT NULL COMMENT 用户名,primary key(id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT leecode(连续出现3次的数字)insert into leecode_01(num) values(12); insert into leecode_01…

大二极限编程社团纳新

大二极限编程社团纳新 组题人:徐苏洋 考试时间:9月29日 18:30 - 10月2日 22:00 中抽取任意4小时答题 请大家写程序时打开录屏软件 EV 10月2日23:00 后未提交至钉钉群众默认放弃比赛,成绩为0分 具体分数以最…

题库系统平台开发功能解析

题库系统开发功能介绍可以从多个方面进行阐述,以下是一些核心功能及其详细解释 1. 题库管理系统 题目录入与编辑:提供灵活的题目录入方式,支持手动输入、批量导入(如从Excel、Word等文件中导入)以及从其他题库中复制试…

PHP程离禁用一段IP的写法示例

PHP程离禁用一段IP的写法示例 。 在PHP中,如果你想禁用一段IP地址的访问,你可以使用$_SERVER[REMOTE_ADDR]来获取访问者的IP地址,然后通过判断IP地址是否在你想要禁用的范围内来决定是否拒绝服务。 以下是一个简单的例子,展示了…

【从0开始搭建微服务并进行部署】SpringBoot+dubbo+zookeeper

文章目录 说明环境搭建创建项目父模块设置子模块 dubbo-api子模块 dubbo-provider子模块 dubbo-consumer测试项目 docker部署项目完整项目地址 说明 jdk1.8SpringBoot2.x低版本dubbo:请查看之前教程【微服务】SpringBootDubboZooKeeper 实战 关于本教程将采用jdk1…

关系模型与关系代数——数据库原理 总结2

2.1 关系模型 关系数据结构 关系模型的数据结构是二维表,亦称为关系。关系数据库是表的集合,即关系的集合。表是一个实体集,一行就是一个实体,它由有关联的若干属性的值所构成。 关系模型的相关概念 列就是数据项 或 字段 或 属…

Yolov8分类检测记录

1.先到github上下载,ultralytics源代码 2.pycharm新建一个项目 3.准备训练数据 数据的结构如下 不需要.yaml文件,代码会自动识别要分的类 4.创建一个训练文件 import torch import random import cv2 import numpy as np import os from ultralytics…

Mac安装Manim并运行

1.在macOS上创建Python虚拟环境,可以使用venv模块,这是Python自带的库,也可以使用conda。以下是使用venv创建和使用Python虚拟环境的步骤: 打开终端。 创建一个新的目录来存放你的项目,并进入该目录: mk…

知识产权管理为何要迈向数字化?

在当今数字化时代,知识产权管理也面临着新的机遇与挑战。传统的知识产权管理方式逐渐显露出效率低下、信息不畅通等弊端。随着数字化浪潮的推进,知识产权管理的数字化建设已成为不可逆转的趋势。 1.提高管理效率 自动化流程:数字化建设可以…

【开源看AI】4.2K star!Reor:AI自动帮你发现知识之间的连接

转自公众号:无人之路 前几天介绍了Quivr,一款用AI帮助个人管理知识、构建第二大脑的人工智能应用。不过Quivr侧重的是将你已有的、很大可能是从其他地方得来的知识文档(比如PDF、 Word等)汇总成不同主题的Brain,这个汇…

VLAN与三层交换机的原理与配置

一、VLAN概述与优势 1、VLAN的概述 分割广播域 物理分割(交换机) 逻辑分割(VLAN):Vlanif →interface vlan 是逻辑端口,通常这个接口地址作为vlan下面用户的网关 例如: 补充知识 广播&am…

【Windows】自定义显示器的分辨率

背景 由于本人更新驱动导致2个显示器里面,有一个显示器的分辨率只剩下2个可以调节 这样就导致2个显示器分辨率不同,更新了多次驱动都修复不了,所以想着看能不能自定义分辨率 工具下载 显示器自定义分辨率工具 或者百度搜索 Custom Resolu…

无锡卓瓷X哲讯智能科技,SAP项目正式启动!

在数字化浪潮的推动下,高精密陶瓷行业的领军企业—无锡卓瓷科技有限公司,携手哲讯智能科技有限公司近期启动SAP&BI项目,以打造行业领先的数字化管理平台。这一战略举措标志着无锡卓瓷在数字化转型的道路上迈出了坚实的一步。 无锡卓瓷—…

基于Spring3.0实现AOP的小案例

前言 AOP(Aspect Oriented Programming)即面向切面编程,是一种通过预编译方式和运行期间动态代理实现程序功能统一维护的技术。针对功能增强的描述,可以理解为:“AOP允许在不修改源代码的情况下,通过定义切…

刚毕业就做项目经理,现在感觉越做越没动力,还有必要坚持下去吗?

那种一毕业就做项目经理的,以为是少走10年弯路,干了一年后,才发现这简直就是在坑自己。没点真材实料,经理也变成了“空中架子”。 因此,很多一毕业就当上项目经理的人,要么是干着干着就转回到技术岗位&…