当前位置: 首页 > news >正文

RK android14 第三方app获取su权限

需要修改的地方如下
 

frameworks/base/core/jni/com_android_internal_os_Zygote.cpp
kernel-6.1/security/commoncap.c
system/core/init/selinux.cpp
system/core/libcutils/fs_config.cpp
system/extras/su/su.cpp
device/rockchip/common/BoardConfig.mk
device/rockchip/common/sepolicy/vendor/untrusted_app.te
system/sepolicy/prebuilts/api/34.0/public/app.te
system/sepolicy/prebuilts/api/34.0/public/domain.te
system/sepolicy/public/app.te
system/sepolicy/public/domain.te

frameworks/base

diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp
index 56066b2d813c..0c587a2c0580 100644
--- a/core/jni/com_android_internal_os_Zygote.cpp
+++ b/core/jni/com_android_internal_os_Zygote.cpp
@@ -666,7 +666,7 @@ static void EnableKeepCapabilities(fail_fn_t fail_fn) {}static void DropCapabilitiesBoundingSet(fail_fn_t fail_fn) {
-  for (int i = 0; prctl(PR_CAPBSET_READ, i, 0, 0, 0) >= 0; i++) {;
+ /* for (int i = 0; prctl(PR_CAPBSET_READ, i, 0, 0, 0) >= 0; i++) {;if (prctl(PR_CAPBSET_DROP, i, 0, 0, 0) == -1) {if (errno == EINVAL) {ALOGE("prctl(PR_CAPBSET_DROP) failed with EINVAL. Please verify "
@@ -675,7 +675,7 @@ static void DropCapabilitiesBoundingSet(fail_fn_t fail_fn) {fail_fn(CREATE_ERROR("prctl(PR_CAPBSET_DROP, %d) failed: %s", i, strerror(errno)));}}
-  }
+  }*/}static void SetInheritable(uint64_t inheritable, fail_fn_t fail_fn) {


 
kernel-6.1  

 diff --git a/security/commoncap.c b/security/commoncap.c
index bc751fa5adad..bad53a9b8ac0 100644
--- a/security/commoncap.c
+++ b/security/commoncap.c
@@ -1243,11 +1243,11 @@ static int cap_prctl_drop(unsigned long cap){struct cred *new;-       if (!ns_capable(current_user_ns(), CAP_SETPCAP))
+       /*if (!ns_capable(current_user_ns(), CAP_SETPCAP))return -EPERM;if (!cap_valid(cap))return -EINVAL;
-
+*/new = prepare_creds();
http://www.lryc.cn/news/481803.html

相关文章:

  • 线程与进程的区别(面试)
  • OpenDroneMap Webodm
  • Could not create task ‘:shared_preferences_android:generateDebugUnitTestConfig‘
  • CSS教程(四)- 字体
  • 深入理解Java中的Lambda表达式
  • C#里怎么样判断一个数是偶数还是奇数
  • 【论文笔记】Prefix-Tuning: Optimizing Continuous Prompts for Generation
  • GNN系统学习:消息传递图神经网络
  • 基于gewe制作第一个微信聊天机器人
  • 【Python】python使用Moviepy库对mp3文件进行剪切,并设置输出文件的码率
  • 海外云手机在出海业务中的优势有哪些?
  • 这10款PDF转Word在线转换工具的个人使用经历!!
  • 认识QT以及QT的环境搭建
  • Rollup failed to resolve import “destr“ from ***/node_modules/pinia-plugin-pers
  • Python小白学习教程从入门到入坑------第三十课 文件定位操作(语法进阶)
  • 人工智能、机器学习与深度学习:层层递进的技术解读
  • Code Inspector——页面开发提效的神器
  • 如何定制RockyLinux ISO
  • python基于深度学习的音乐推荐方法研究系统
  • 机器学习系列----介绍前馈神经网络和卷积神经网络 (CNN)
  • vue.js组件和传值以及微信小程序组件和传值
  • c语言编程题(函数)
  • 华为eNSP:QinQ
  • JAVA基础-多线程线程池
  • HarmonyOS 沉浸式状态实现的多种方式
  • Python3.11.9下载和安装
  • 简简单单的UDP
  • 减少 try...catch,定义全局统一异常处理器!
  • 多点支撑:滚珠导轨的均匀分布优势!
  • 电气火灾探测器在商场火灾隐患监测和火灾预防中的应用