Android串口控制台改为root(十六)

1.Android串口控制台改为root 

一.第一种 adb进去
# chown root:root /system/xbin/su 
or # chown 0:0 /system/xbin/su
# chmod 4755 su //setuid()的s位
# echo 0 > /proc/sys/kernel/printk

# /system/bin/id
# /usr/bin/id
***********************************************************************************
1.App获取root权限原理:
也是通过su获取s权限,app来执行/system/xbin下的su获取root。

Process process = Runtime.getRuntime().exec("su");//切换到root权限,执行操作
DataOutputStream os = newDataOutputStream(process.getOutputStream());
os.writeBytes("mount -oremount,rw /dev/block/mtdblock3 /system\n");
os.writeBytes("busybox cp /data/data/com.koushikdutta.superuser/su /system/bin/su\n");
os.writeBytes("busybox chown 0:0 /system/bin/su\n");
os.writeBytes("chmod 4755 /system/bin/su\n");
os.writeBytes("exit\n");
os.flush();

2.在代码里修改su权限为6755
<1>.启动 su_daemon init.rc中添加:
service su_daemon /system/xbin/su --daemon
   class main

<2>.将su文件拷贝到out/target/product/rk3288_box/system/xbin到/systm/xbin
# adb push su /system/xbin

<3>>修改 system/xbin/su 权限为 06755
system/core/include/private/android_filesystem_config.h
{ 06755, AID_ROOT, AID_ROOT, 0, “system/xbin/su” },

***********************************************************************************
二.第二种
如果要调试的时候信息打印到超级终端,添加console,像sh一样直接输出到console
system/core/rootdir/init.rc

init.rc设置:
 service console /system/bin/sh
    class core
    console
    disabled
    user shell
    seclabel u:r:shell:s0

修改为:
  service console /system/bin/sh
    console
    disabled
    user root
    group root

注意:如果android5.1以上系统打开了Selinux,必须关闭,否则在console串口控制台输入不了命令的.
编译系统boot.img,烧写后,控制台可执行root权限。

Reference

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Android系统攻城狮

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值