Android原生检测Selinux的三种方法

news/2024/7/16 7:52:54 标签: android, android studio, ide

本文介绍 3 种检测 Android 设备 SELinux 状态的方法, Java 层检测Selinux已经没有太多意义,因为不是很靠谱,随便一个hook代码就能绕过,所以我要告诉你如何在 C 层完成检测。这几种方法在效率和抵抗mock SELinux State 的技术方面都不相同,因此在使用之前你需要知道每种方法的背景及其局限性。

在这里插入图片描述

这三种检测方法分别为:

  • 读取build.selinuxAndroid 属性
  • 读取boot.selinuxAndroid 属性
  • 读取enforce文件

为了更容易看懂,我会在每个方法中,把使用的代码将和示例一起写出来。为了更容易理解,本文中的示例代码会尽可能简单,有测试截图的话我也会贴出来并截取屏幕截图。我这里用的测试程序简单,从 JNI 调用一个随机数,在按下按钮时显示该随机数。

好了,我们开始吧。

Android Build属性

前面两种方法都是读取的属性,原理相同,所以就放在一起说了。

首先要搞懂这些 android build属性是干什么的?

你可以理解为一个文件,这个文件里面以字符串键值对的形式保存有关当前构建和其他系统属性的信息。不过这里有一点要注意的是,A设备存在的属性B设备不一定有,比如一些厂商定制的属性,又或者厂商出厂时对属性做了定制。

由于前面


http://www.niftyadmin.cn/n/27212.html

相关文章

c# 随机数,c# 生成随机数,c# 生成区间随机数,c# 生成随机数组

c# 随机数,c# 生成随机数,c# 生成区间随机数,c# 生成随机数组 小试牛刀 先看结果 生成200-700之间的5个随机数 第1的随机数是:647 第2的随机数是:219 第3的随机数是:311 第4的随机数是:210 第5…

拒绝平庸,张扬出彩——维乐VELO Angel Revo

在赛场上就要做那个万众瞩目的明星,闪耀自己,让自己的实力让所有人看到!作为骑行运动员,骑行配件当然是最能够彰显自我个性的地方,维乐美学系列明星产品Angel Revo正如其名,全面革新,也给了所有…

产品经理必备网站

1.产品调研分析,数据分析 产品经理或者运营在日常做产品各方面调研时(比如竞品分析、行业分析、产品定价等)都需要对应的数据,那么从哪里可以获取呢? 1.产品数据(分析报告很齐全) 产品开始前我…

工作学习总结

优化ifelse 我们在工作中经常会写出如下代码 if (xxx ! null) {if (xxx ! null) {if (xxx ! null) {}....}}看起来也没什么问题。但是当ifelse层数变多,将会越来越难以阅读,逐步形成‘屎’代码 if (xxx null) {return; } // 原来if()逻辑if 逻辑中的代…

投简历需要注意哪些细节?

前言 前言:简单介绍下投简历前需要注意哪些细节,供参考。 文章目录前言一、投递简历的顺序二、通过投简历的顺序来实现简历迭代三、投简历时通过修改打招呼减少HR已读不回的情况1、公式2、注意四、细节注意事项1、简历文件怎么命名?2、简历用…

1.14周报

周报 代码行数: 周一 450 周二 546 周三 458 周四 621 周五 531 周六 548 周日 . 遇到的问题以及解决: 同事分配给我一些接口开发的工作,在不是很清晰需求的情况下,写18个重复度极高的接口,怎么看都不太…

9个非常有趣的HTML5 Canvas动画特效合集

HTML5技术正在不断的发展和更新,越来越多的开发者也正在加入HTML5阵营,甚至在移动开发上HTML5的地位也是越来越重要了。HTML5中的大部分动画都是通过Canvas实现,因为Canvas就像一块画布,我们可以通过调用脚本在Canvas上绘制任意形…

对笔试使用《剑指offer》吧(第十天)

跟着博主一起刷题 这里使用的是题库: https://leetcode.cn/problem-list/xb9nqhhg/?page1 目录剑指 Offer 62. 圆圈中最后剩下的数字剑指 Offer 64. 求12…n剑指 Offer 65. 不用加减乘除做加法剑指 Offer 62. 圆圈中最后剩下的数字 剑指 Offer 62. 圆圈中最后剩下的…