android sdk 编译出有root权限的系统
来源:互联网 发布:mysql 事务实现原理 编辑:程序博客网 时间:2024/06/10 05:05
先简单说明一下状况:
1.使用硬件说明:
giec r1 电视盒
2.android sdk 来源:
厂商提供
到手杰科的电视盒,拆开来有串口可以输出信息,其有三个usb口,连接pc端,pc端adb无法发现设备(之前公司用mstar板子的时候,需要添加个一配置文件才能发现 ,这里不知道是否是这个情况),因其wifi可以使用同事推荐使用 adbwireless ,一个模拟adb的工具,在pc端可以跟正常情况一样使用。
安装adbwireless后,运行adbwireless 发现提示信息说必须要rooted phone (这应该就是传说中的root)。
本人对android如何root没有研究,在网上搜了一下,看到q5 root 工具,可以把该盒子root ,这是一个windows下的小工具,具体内容不在这里详细絮说,可以直接搜 q5 root
就能看到该工具,并且会有简单说明,用起来很白痴的工具....
adbwireless可以顺利运行,pc端连接也是没有问题的,一切就是这么顺利,直到....
使用厂商android sdk(有同步最新厂商修改代码),编译出新的img (主要是boot.img system.img recover.img),通过厂商提供的工具将img 烧写到板子上,成功烧写上,但还是有不少问题。在验证摄像头是否好用的过程中,发现pc端没法识别插入的设备(刚刷新了系统,上面的工作也要重新来一遍),使用q5 root工具 将系统root ....这个工具不好使了.....问题来了....
被逼无奈,只能研究一下这个android root 到底怎么回事....
root 在我看来是一中linux下的高级权限,为了保证系统的安全 android 系统当然不会把root权限放开。但作为研发人员,很多时候,没有root的权限...怎么搞??!!
看网上很多root 说明,其实就是把 su 这个程序替换一下,看到一些framework层的分析,说是一些应用程序就是使用这个程序进行提权运行的....好吧,在linux下,命令行下大家貌似也是这么干的么...看来都是一样的东西,把我的流水账,记录如下:
1.系统system 分区以及 / 分区 ,没有写权限,会让我很不舒服
mount rootfs rootfs / ro remount 改成 mount rootfs rootfs / rw remount
mount ext4 mtd@system /system wait noatime ro nodiratime noauto_da_alloc
改成 mount ext4 mtd@system /system wait noatime nodiratime noauto_da_alloc
2.更改系统登陆用户
系统默认登陆用户为 shell ,在init.rc中搜了一下,位置如下:
service console /system/bin/sh
class core
console
disabled
user shell
group log
将登陆用户设定为root
service console /system/bin/sh
class core
console
disabled
user root
group log
3.网上很多人让替换su ,我不了解这个用来替换程序怎么来的,也看到有人直接把busybox 链接成 su (感觉有点胡来的味道...)
4.没仔细搜,因此没有找别人的su 的源码,没办法,只能看sdk中su的源码,位置如下:
system/extras/su/su.c 改文件夹下还有个Android.mk 类似makefile 的控制编译的东西
su.c ,一共96 行,easy
5.su.c 的修改 :
就一个main函数,别的都没有,刚看,就看到不顺眼的
myuid = getuid();
if (myuid != AID_ROOT && myuid != AID_SHELL) {
fprintf(stderr,"su: uid %d not allowed to su\n", myuid);
return 1;
}
这个if判断明显是限定只能 是 root shell 才能继续执行, 别的uid 都不行...果断把这个 if 判断注释掉。
重新编译android img ,烧写到盒子上,通过串口登陆,root用户登陆,安装adbwireless ,可以顺利安装,并且 可以启动
todo :
1.之前公司用mstar板子的时候,需要添加个一配置文件才能发现adb 设备 ,这里不知道是否是这个情况,待验证...
- android sdk 编译出有root权限的系统
- 编译android系统具有root权限
- Android中通过代码检测系统是否有root权限
- 获取Android系统的ROOT权限
- android的 root权限
- android的 root权限
- android的 root权限
- Android系统权限和root权限
- Android系统权限和root权限
- Android系统权限和root权限
- Android系统权限和root权限
- Android系统权限和root权限
- Android系统权限和root权限
- Android系统权限和root权限大全
- Android系统权限和root权限
- Android系统权限和root权限
- Android系统权限和root权限
- Android系统权限和root权限
- hdu 4709 herding 2013 杭电warm up 1004
- 趋势科技移动客户端病毒报告
- 一个小问题
- UVa 11609 Teams (组合数学)
- 如何做好射频工程师
- android sdk 编译出有root权限的系统
- Flask驱动的静态站点生成器(译)
- teechart使用笔记
- 改善C++ 程序的150个建议学习之建议7:时刻提防内存溢出
- 象棋残局攻杀技巧(-) 单兵种攻杀胜和战法
- bst总结
- python小练习:网络视频下载
- Linux 更新内核(debian)
- android 解决ViewPager与Gallery事件冲突