我们在开发过程中会用到root权限,但是又不想其它的应用能够检测到手机是root的,该怎么做呢?

首先,检测检测手机root有很重要的一个检测方式, 就是 检测 /system/xbin/su 文件的  s位. 如下图:

-rwsr-sr-x  1 root root    11056 2018-12-05 23:33 procmem
-rwsr-x---  1 root shell   11064 2018-12-05 23:33 su

从上面我们可以清除看到 权限组一项 有是 s位的, 现在一些应用的检测手段就是  通过得到手机的PATH环境变量,然后扫描该环境变量路径中的全部文件来分析 是否有这个s 位.  那么我们完全可以这么干.

1` 编译的时候删除掉 procmem 这个文件, 删掉是不会有啥影响的.

2` 将su文件的路径给改一改.  比如放到 上一级 system 目录下面.

这两个文件的源码都在 AOSP/system/extras 目录下. 直接修改Android.mk 文件 改变其编译后的路径即可. 但是, su文件如果仅仅是改了路径是不行的. 因为其权限问题.

我们要知道 所有system 分区的文件权限其实都已经在代码中 给预先定义好了, 所以如果要改su文件的路径,那么 代码中定义的权限也需要改掉. 同样如果我们需要在 system分区新增加文件, 也需要去定义权限.

该权限文件路径 AOSP/system/core/libcutils/fs_config.cpp 摘取代码片段如下:

    { 00600, AID_ROOT,      AID_ROOT,      0, "system/build.prop" },{ 00444, AID_ROOT,      AID_ROOT,      0, sys_conf_dir + 1 },{ 00444, AID_ROOT,      AID_ROOT,      0, sys_conf_file + 1 },{ 00440, AID_ROOT,      AID_SHELL,     0, "system/etc/init.goldfish.rc" },{ 00550, AID_ROOT,      AID_SHELL,     0, "system/etc/init.goldfish.sh" },{ 00550, AID_ROOT,      AID_SHELL,     0, "system/etc/init.ril" },{ 00555, AID_ROOT,      AID_ROOT,      0, "system/etc/ppp/*" },{ 00555, AID_ROOT,      AID_ROOT,      0, "system/etc/rc.*" },{ 00440, AID_ROOT,      AID_ROOT,      0, "system/etc/recovery.img" },{ 00600, AID_ROOT,      AID_ROOT,      0, "vendor/build.prop" },{ 00600, AID_ROOT,      AID_ROOT,      0, "vendor/default.prop" },{ 00444, AID_ROOT,      AID_ROOT,      0, ven_conf_dir + 1 },{ 00444, AID_ROOT,      AID_ROOT,      0, ven_conf_file + 1 },// the following two files are INTENTIONALLY set-uid, but they// are NOT included on user builds.{ 06755, AID_ROOT,      AID_ROOT,      0, "system/xbin/procmem" },{ 04750, AID_ROOT,      AID_SHELL,     0, "system/su" },

我们可以看到 其中 /system/su 就是我修改后的路径, 原本是 /system/xibin/su.

此处修改完毕,还有一处aosp/system/sepolicy/private/file_contexts 该文件中 对于 /system/xbin/su的 声明也要改掉.

改完编译后, 执行 /system/su 就会起效了. 直接执行 su 是找不到的.

AOSP 隐藏 su相关推荐

  1. AOSP Android 10定制su名字隐藏root

    这是我的公众号原文:https://mp.weixin.qq.com/s/VVq-CN94eLHwDLEa-D_zgw 公众号:黄大官黄大官 哔站,退役debug选手:https://www.bili ...

  2. sketchup 255个su常用插件)_SketchUp领域的知乎,有胆来问!

    你知道知乎.豆瓣.果壳-- 但你可能不知道[问吧] 这是一个 SketchUp 领域的知乎 (点击文末"阅读原文"可直接进入[问吧]) 你可以找到关于 SketchUp 的任何话题 ...

  3. mysql隐藏密码_MySQL在Linux系统中隐藏命令行中的密码的方法

    在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?, ...

  4. Ubentu编译Android源码(AOSP)

    前言: 一直想要编译一下Android 源码,之前去google 看,下载要下载repo. 当时很懵逼,repo 是个什么?(repo 是一个python 脚本,因为Android 源码git 仓库太 ...

  5. sudo su 与 su

    when you are prompted (提示) for a password after sudo comand ,you have to enter you password not root ...

  6. 用户身份与文件的权限(普通权限、特殊权限、隐藏权限和文件控制列表ACL)

    用户身份 root用户是存在于所有类UNIX操作系统中的超级用户,它拥有最高的系统所有权.root用户的用户身份号码UID为0,UID相当于用户的身份证号码一样,具有唯一性.管理员用户(超级用户)UI ...

  7. android隐藏底部栏,Android4.0平板开发之隐藏底部任务栏的方法

    本文实例讲述了Android4.0平板开发之隐藏底部任务栏的方法.分享给大家供大家参考,具体如下: getWindow().getDecorView().setSystemUiVisibility(V ...

  8. android+5+镜像,1 下载AOSP(Android)镜像

    搭建编译环境 $ sudo apt-get update $ sudo apt-get install openjdk-8-jdk $ sudo apt-get install git-core gn ...

  9. Linux常用命令4(grep、df、du、awk、su、ll)

    [grep命令] grep常用用法 [root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename 选项与参数: -a :将 binary 文件 ...

  10. su组件在什么窗口_草图大师SketchUp(SU)快捷键

    草图大师介绍 草图大师SketchUp(SU)是世界一流的三维模型设计工具,软件表面上极为简单,实际上却令人惊讶地蕴含着强大功能的构思与表达的工具,能够以极其快速和方便地对三维创意进行创建.观察和修改 ...

最新文章

  1. 查看ngnix使用的php.ini位置_修改Nginx php.ini文件的经典教程
  2. linux下默认有哪些语言支持,修改 Linux操作系统下的显示默认支持语言
  3. 69道Spring面试题和答案
  4. How to find all event handler list for a given event
  5. 顶级程序员的心得 Coders at Work (III)
  6. 经历了px、em之后,用 rem 适配屏幕
  7. 百度SEO站群PHP进销存源码ERP多仓库管理源码
  8. 【C语言】输入一个字符串,并对字符串中的偶数位置的字符按从小到大的顺序排序,奇数位置的字符不动,输出排序后的结果...
  9. php 许愿墙 阶段案例_文化墙制作要突出企业哪些重点?
  10. Python——腾讯在线编程题(2018)
  11. Oracle树查询(查询所有子节点,父节点等等)_转载
  12. android 点赞动画_Android MotionLayout动画:续写ConstraintLayout新篇章
  13. ios 设置按钮不可见_自定义键盘InputAccessoryView在iOS中不可见11
  14. 版本控制工具SVN的使用
  15. 计算机网络最新复习【太原理工大学】
  16. 好全面的python笔记,那我就笑纳了
  17. 2020年G3(电站锅炉)考试题及G3(电站锅炉)考试报名
  18. VMware vSphere Client5.0与 Windows8不再有问题,解决VMware 5.0 客户端提示VMRC控制台的连接已断开...
  19. html5css3选择题,web前端技术(HTML5+CSS3)答案试题题目及答案,期末考试题库,章节测验答案...
  20. 用nat123+tomcat 发布网站

热门文章

  1. 因子分解机(FM) +场感知分解机 (FFM) 入门
  2. 3D建模师是吃青春饭的吗?被高薪挖掘的建模人才,靠的是这个
  3. 汇编语言教程 -- 寄存器
  4. 数学公式编辑器的探索与实现
  5. python整除符号_python 整除
  6. 一年级美术下册教案(新人美版)
  7. 小米路由器r1d刷第三方_小米R1D路由器刷Advacned Tomato V3.4-140固件
  8. python 写入文件并保存_python学习将数据写入文件并保存方法
  9. Webmin远程命令执行漏洞(CVE-2019-15107 )复现
  10. springboot 整合 j2cache