位置: 编程技术 - 正文

Android Root原理初探(android root 原理)

编辑:rootadmin
Root

推荐整理分享Android Root原理初探(android root 原理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:安卓root终端,android root app,android手机root工具,安卓root终端,android rootfs,android root app,root手机原理,android root 原理,内容如对您有帮助,希望把文章链接给更多的朋友!

Linux:Root == Windows:Adminstrator

Android是Linux系统吗?

操作系统 = 系统内核 + 文件系统 Linux发行版:Linux内核 + 文件系统(ext3/4) Android:Linux内核 + 文件系统(ext3/4)

Android 没有本地窗口系统

而Linux是可以脱离X窗口的。

Android 没有glibc library Android并不包括一整套标准的Linux应用程序

而Linux也是可以脱离这两点的。

Android内置了专有的驱动程序

然并卵。Linux的内核也分主次,驱动程序也不是不能脱离的,只是去掉后无法识别对应的设备,并不影响Linux的内核的装载和运行。而且在Linux Kernel Configuration里可以自由配置需要卸载的项目。不能因为增加了驱动就认为不是Linux。并不是决定操作系统性质的关键。判断操作系统种类的并不是其上层建筑,而是深层的系统内核和文件结构。 Linux内核中与驱动相关且比较核心的是驱动接口(Linux驱动运行和安装规范),是一套二进制规范。 综上,Android实质上是Linux。

那么,Root对于Android意味着什么?

用su命令切换到root用户

Android为什么要Root?删除非官方或定制系统预装的垃圾应用 拥有root权限后直接复制 根据Android Rom复制 通过Recovery升级包方式复制 控制开机加载项拥有更多权限调试Linux驱动修改启动画面提取Root权限的步骤1.刷一个合适的Recovery

方法一:在bootloader模式下复制整个文件系统 方法二:在Recovery模式将文件复制到Android设备的指定目录

刷入Clockwork Recovery

通过adb reboot bootloader命令或者关机下按组合按键进入bootloader模式。

fastboot:

危险的命令:

fastboot flash bootloader bootloader.img // 如果bootloader.img错误,则需要更换主板

自毁命令:

fastboot erase bootloader // 擦除

Android Root原理初探(android root 原理)

刷Recovery:

fastboot flash recovery recovery.img

重启设备

fastboot reboot

2.改造su命令的源代码

Android自带的su命令只允许root和shell用户(adb shell)调用

3.制作Recovery刷机文件(*.zip)

主要由待复制的文件和Edify语言(用于对文件和目录进行操作)编写的脚本文件组成 编写Recovery升级包中的updater-script脚本文件,将su命令复制到/system/xbin目录中。

4.执行su命令提取Root权限

改造后的su命令,可以被终端和App调用。

5.让ROM本身拥有Root权限(非必需)

不然进入终端执行su命令后才拥有Root权限。

Edify

Android内嵌脚本语言,用于编写updater-script脚本文件。 updater-script是Recovery Rom和升级包的核心。完全由函数组成。

ui_print(msg_1,…,msg_N);

用于在Recovery界面输出字符串,至少需要一个参数。指定多个参数,会将参数值连起来输出。

run_program(prog, arg1,…,argN);

该函数用于执行程序,prog参数是必需的,表示要执行程序文件的完整路径。其他参数可选。如:

run_program(“/sbin/busybox”,”mount”,”/system”);

delete(file1,…,fileN);

删除一个或多个文件,参数为文件的路径。如:

delete(“/system/xbin/su”);

package_extract_dir(package_path, destination_path);

用于提取刷机包指定目录package_path的所有文件到目标目录destination_path。

set_perm(uid, gid, mode, file1,…fileN);

设置一个或多个文件的权限。 uid是用户id。gid是用户组id。 如果想让文件的用户和用户组都是Root,需要将uid和gid设为0。

mount(fs_type, partition_type, location, mount_point);

挂载分区。如:

mount(“ext4”, “EMMC”, “/dev/block/paltform/s3c-sdhci.0/by-name/system”, “/system”);

unmount(mount_point);

卸载分区。如:

unmount(“/system”);

Android自定义DataTimePicker(日期选择器) Android自定义DataTimePicker(日期选择器)笔者有一段时间没有发表关于Android的文章了,关于Android自定义组件笔者有好几篇想跟大家分享的,后期会记录在

Android Java 程序员必备开发工具 对于Java,有两种截然不同的观点:一种认为Java是最简单功能最强大的编程语言之一,另一种则表示这种编程语言既难用又复杂。下面这些工具或许功能

Android 里面的多线程操作备忘,关于Thread,Handler, Looper 一个优秀的Apps必然需要将耗时的操作如数据库操作/网络操作等放在其他线程(非UI),然后将结果发送至MainUI创建的Handler里面在UI显示结果(若需要的话).而a

标签: android root 原理

本文链接地址:https://www.jiuchutong.com/biancheng/387413.html 转载请保留说明!

上一篇:android开发网络资源(Android开发网络请求数据加密)

下一篇:Android自定义DataTimePicker(日期选择器)(Android自定义控件)

  • 个体工商户要报工商年报吗?
  • 过头税产生的根源
  • 子母公司有连带责任吗
  • 生产经营行业
  • 增值税发票信息错误可以作废重开吗
  • 客户未付关税是否可以申请晚交
  • 跌价材料出售如何入账
  • 免税农产品如何填报企业所得税季报
  • 建设工程项目融资
  • 把公司的设备弄坏了怎么办
  • 牵引车需要交车船税吗
  • 外地预缴企业所得税汇算清缴退税
  • 我国个人取得的各种所得有几种类型
  • 作为一名新手
  • 哪些项目可以免征个人所得税
  • 年数总和折旧计算方法
  • 收据能不能做账
  • 发票第一联盖章吗
  • 税务局工会经费新举措
  • 公司注销时资本公积为股东出资款要缴税吗?
  • 公司零报税需要会计吗
  • 期望值E(X)怎么算例题
  • 纺织厂收购棉花如何计税?
  • 来料加工的账务处理
  • 一般纳税人增值税结转账务处理
  • 上个月暂估这个月成本怎么调整
  • 如何在Excel中添加筛选项
  • 增值税怎么调平
  • 其他债权投资的交易费用计入什么科目
  • linux c gui
  • u盘重装系统电脑
  • 应付票据转应付账款分录
  • 融资租赁的租金是什么意思
  • 高德地图api获取当前经纬度的城市地图
  • 电汇款项会计分录
  • 应收票据利息会计科目
  • 城市赚钱项目
  • 存货损失是指什么
  • phpweb框架
  • 前端都有哪些
  • 查找命令位置
  • 房地产开发公司组织架构
  • 小微企业如何升级一般纳税人
  • 单位银行提取大额现金最多能取多少
  • 公司开发新产品的建议
  • 个税是指怎样的税金
  • 个税是怎么扣除的?
  • 加油站充值套路
  • 收取物业费如何纳税
  • 当月已经认证的发票可以取消认证吗
  • 无偿赠送他人产品,会计分录怎么写
  • 旅游服务住宿费可以抵扣吗
  • 用友作废的凭证怎么恢复
  • 公司缴纳社保如何转为个人缴纳
  • 企业多结转的成本跨年怎么冲回?
  • 买新车贷款
  • 会计年终决算怎么填写
  • 如何清除sql2008r2日志
  • 英特尔双核cpu
  • macbook launch
  • JQS.exe是什么进程
  • linux中sed
  • realshed.exe - realshed是什么进程 有什么用
  • mac电脑登录
  • win8系统怎么设置桌面
  • jquery 动态添加列表元素
  • javascript教程chm
  • 详解中国女足出线形势
  • 在windows 10中
  • Embedded statement cannot be a declaration or labeled statement
  • java教程
  • python import ssl
  • 商业发票发票号怎么填写
  • 我国历年财政支出总额
  • 国家税务局通用机打发票属于增值税发票吗
  • 第三方审计报告需要多久
  • 建筑业小规模纳税人工程结算增值税
  • 视频号带货个人和个体工商户的区别
  • 火车报销凭证丢了还能退款吗
  • 开票信息哪里查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设