![](https://img-blog.csdnimg.cn/20210815170716998.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android SELinux
文章平均质量分 97
想知道Android方案如何快速高效的解决SELinux问题吗?
想知道困扰已久的neverallow和编译报错问题怎么处理吗?
快来一起探索吧,彻底告别权限问题
headwind_
不要有了追求速度的激情就忘了该有的踏实
展开
-
Android P SELinux (四) CTS neverallow处理总结
CtsSecurityHostTestCases首先CTS测试里面关于neverallow的用例,可以学习下这篇文章,代码是动态生成的Android CTS中neverallow规则生成过程下面主要分享一些遇到的 CTS neverallow问题的处理方法:目录一、一些权限的解决方案1.1、区分vendor域和system域1.2、setenforce的可行性1.3、dac_override 解决办法1.4、echo打印到终端1.5、读写U盘内容1.6、am 命令1.7、ioctl二、常见违反nev原创 2021-08-15 16:59:11 · 6673 阅读 · 4 评论 -
Android P SELinux (三) 权限检查原理与调试
目录引子一、权限检测原理1、拥有的权限2、需要的权限3、裁决4、其他二、avc denied信息分析三、调试1、快速编译和替换1.1 编译和替换1.2 load_policy2、尽量使用宏3、使用属性4、setools工具四、参考文章引子我们在处理SELinux权限问题的时候,avc denied信息是最关键的,那么avc denied 的打印信息要怎么看、里面的内容每一个字段是什么意思?kernel log的avc denied信息是哪里打印出来的?以前有个想法,我们系统的操作、命令都是有限的,那其原创 2021-08-15 11:44:06 · 4095 阅读 · 2 评论 -
Android P SELinux (二) 开机初始化与策略文件编译过程
本文主要围绕二进制策略文件的加载和编译过程我们写的te规则,到底生成在哪里了?开机之后又是怎么加载使用的?目录一、SELinux开机初始化1. init.cpp2. selinux.cpp2.1 SelinuxSetupKernelLogging2.2 SelinuxInitialize2.3 checkreqprot2.4 LoadPolicy2.5 LoadSplitPolicy2.6 FindPrecompiledSplitPolicy二、SELinux Policy编译3. 二进制策略文件的生成原创 2021-08-14 23:18:53 · 3745 阅读 · 0 评论 -
Android P SELinux (一) 基础概念
在处理了一些SELinux相关的问题之后,深深厌恶这个东西,一打开就报一大堆权限问题,添加te权限还特别麻烦,第一次搞下来没有1-2天是不行的。抽时间查阅相关资料后,结合理论知识和源码进行分析,随着在项目中不断处理了一些CTS neverallow的失败项,慢慢地对SELinux有了更深入的理解,接下来的内容将分别介绍基础概念、SELinux开机初始化、SELinux编译相关和实际案例分享,让大家对SELinux有更加深入的认识。学习一个模块的东西,我更喜欢从实际的问题出发去探索,因为目标很明确,不会.原创 2021-08-14 22:28:02 · 3816 阅读 · 4 评论