Android修改默认system/bin/下可执行程序拥有者和权限,使用实例,只有root和系统app权限才能执行某个命令。

简介: Android修改默认system/bin/下可执行程序拥有者和权限,使用实例,只有root和系统app权限才能执行某个命令。【5月更文挑战第2天】

一、执行ls -l /system/bin/ 查看一下用户和权限。



二、这些权限在哪里修改呢? 默认编译system/bin/可执行程序赋予权限的地方system\core\libcutils\fs_config.cpp 文件里面的android_files



三、使用实例,只有root和系统app权限才能执行某个命令,如上面的sn_writer命令,只有系统app和root权限才能运行。


 

package com.giada.sn_writer;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
 
public class MainActivity extends AppCompatActivity {
    private Button m_Button;
    private EditText m_EditText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        m_Button=(Button)findViewById(R.id.button);
        m_EditText = (EditText) findViewById(R.id.textView);
 
        m_Button.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v)
            {
                String str = m_EditText.getText().toString();
                sn_writer_command("sn_writer write-key "+ str);
              //  playRunTime("sn_writer write-key "+ str);
            }
        });
 
    }
    public static String sn_writer_command(String cmd) {
        try {
            //String keyCommand = "setprop " + propName;
            Runtime runtime = Runtime.getRuntime();
            Process proc = runtime.exec(cmd);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return  cmd;
    }
 
   private String playRunTime(String cmd) throws Exception
   {
       //  String cmd = "adb version";
         String ret = null;
         Process p = Runtime.getRuntime().exec(cmd);
         InputStream is = p.getInputStream();
         BufferedReader reader = new BufferedReader(new InputStreamReader(is));
         String line; while ((line = reader.readLine()) != null)
         {
           //tv_result.append(line + "");
             ret = line;
         }
         p.waitFor();
         is.close();
         reader.close();
         p.destroy();
         return ret;
   }
 
}

四、有价值的参考文章

[RK3288][Android6.0] 调试笔记 --- 修改默认system/bin/下可执行程序权限_KrisFei的博客-CSDN博客_android system/bin 权限


目录
相关文章
|
7月前
|
Android开发
安卓虚拟摄像头替换摄像头, 微信虚拟相机替换拍照,安卓免root虚拟摄像头
虚拟摄像头系统包含多个组件:主摄像头类、预览面板、驱动接口、DirectShow实现和管理类
|
9月前
|
Android开发 数据安全/隐私保护 开发者
Android自定义view之模仿登录界面文本输入框(华为云APP)
本文介绍了一款自定义输入框的实现,包含静态效果、hint值浮动动画及功能扩展。通过组合多个控件完成界面布局,使用TranslateAnimation与AlphaAnimation实现hint文字上下浮动效果,支持密码加密解密显示、去除键盘回车空格输入、光标定位等功能。代码基于Android平台,提供完整源码与attrs配置,方便复用与定制。希望对开发者有所帮助。
179 0
|
7月前
|
Android开发 数据安全/隐私保护
手机微信虚拟视频聊天,安卓免root虚拟摄像头,免root虚拟hook相机
以上代码实现了一个完整的免root虚拟摄像头方案,通过Hook系统摄像头服务和微信视频通话接口
|
7月前
|
编解码 Java Android开发
安卓虚拟摄像头免root版,虚拟摄像头替换真实摄像头,jar代码开源分享
通过动态替换摄像头输入流的方式实现虚拟摄像头功能,代码经过简化展示核心逻辑。实际开发中还需要考虑视频编解码优化
|
7月前
|
存储 Android开发 数据安全/隐私保护
Thanox安卓系统增加工具下载,管理、阻止、限制后台每个APP运行情况
Thanox是一款Android系统管理工具,专注于权限、后台启动及运行管理。支持应用冻结、系统优化、UI自定义和模块管理,基于Xposed框架开发,安全可靠且开源免费,兼容Android 6.0及以上版本。
878 4
|
7月前
|
Java Android开发
安卓虚拟摄像头过人脸,免root虚拟hook相机,虚拟相机hook版【jar】
两种Hook Android相机的方法:Xposed模块和Frida脚本。Xposed模块需要安装在已root的设备
|
8月前
|
安全 Shell 测试技术
安卓硬改一键新机,一键新机改串软件,免ROOT网卡串号Imei/sn码
本内容提供移动安全研究相关资料与方法,包括通过Android Studio官方工具和模拟器进行设备测试、ADB调试命令学习
|
8月前
|
编解码 自然语言处理 Java
安卓改机工具免root,一键过设备检测,串号SN码【jar即可实现】
本项目通过Hook系统API实现设备信息的拦截与修改,主要功能包括动态更改IMEI/SN等设备标识。核心技术基于Xposed框架(免Root可用VirtualXposed)
|
7月前
|
网络协议 Android开发 数据安全/隐私保护
三色过人脸虚拟摄像头,安卓免root虚拟摄像头, 安卓虚拟摄像头过人脸
这个实现包含三个主要部分:虚拟摄像头核心服务、安卓环境配置脚本和客户端测试程序
|
8月前
|
存储 Android开发
一键新机安卓无限, 免root改手机机型, 手机信息修改型号伪装
AndroidManifest.xml配置 资源文件管理 各系统服务的Hook

热门文章

最新文章