Android原生检测Selinux的三种方法
创始人
2024-05-12 04:22:41

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

在这里插入图片描述

这三种检测方法分别为:

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

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

好了,我们开始吧。

Android Build属性

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

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

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

由于前面

上一篇:A V L树

下一篇:jvm简介

相关内容

热门资讯

demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...