一文带你了解android的root原理
1.root背景
android环境下,刷机与Root是Android手机逆向爱好者最热衷的事情。即使国行手机的用户也不惜冒着失去保修的风险对Root手机乐此不疲。
2.Root的解析
**Root是什么?**Root本身是指Linux系统的root帐户,该帐户拥有整个系统至高无上的权利,系统中的所有对象它都可以操作,对于Android手机用户来说的Root是指拥有Root权限,一般情况下,手机厂商出于安全考虑会关闭手机的Root权限,手机系统是运行在普通用户权限下的,用户是无法操作系统中的文件与数据的。
Root与刷机本身是有很多关联的,而且随着刷机工具的便利与刷机原理的变化,两者的关系更加是模糊不清了。 不同厂商针对获取Root权限设置了不同的要塞。
从刷机来说说,如HTC手机在刷机前需要保证S-OFF,S-OFF代表什么呢?S代表 Security Lock安全锁,保护锁的意思,S-OFF就是关掉锁保护。然后是Motorola的手机,这个厂商对于不同型号的手机设置是不同的,很多Motorola型号的手机将BootLoader是锁住的,因此,在刷机前需要先解锁BootLoader。还有中兴手机,这厂商更是变态,一次次的版本升级只是为了锁住用户不让用户升级,也就导致了同一型号的手机由于版本不同有的型号带Recovery,有的又不带。三星的手机现在可以说是最好卖的,一方面是出色的硬件配置与外观,另一方面是有众多的Rom包可以刷。三星的好几款手机是Google源码的测试样机,而且三星手机在出厂时对用户的限制相比其它品牌是较少的,这也是广大Android开发者对它青睐有加的原因。
3.root权限获取方式
1. 通过使用本地提权漏洞,利用工具进行直接Root,这是最原始最纯洁的方式。随着厂商对Rom的升级,这些内核的漏洞随时都可能被修补,因此,这种Root方法在时间与空间上都有着很大的局限性。
2. 由于手机厂商对硬件的封闭,加上内核补丁修补很完全,这个时候获取Root权限就更难了,这个时候刷机与Root就联合起来了,由于不能从系统内部通过Exploits来获取Root权限,只能通过修改Rom包来达到Root的目的,这也是目前很多第三方Rom包自带了Root的原因,然而手机厂商也不是吃干饭的,手机厂商在OTA升级时使用Recovery对包签名进行验证来防止用户刷入修改过的包。对于这种变态的厂商,只能通过FastBoot来进行刷机了。
3. 当然,还有一部分厂商,为了吸引更多用户购买他们的手机,还是在手机中偷偷的留了后门的,比如不锁BootLoader,让用户刷第三方的Recovery,又或是干脆留个以前的漏洞不补,让用户自己来Exploits等。
网络安全成长路线图
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成hei客大神,这个方向越往后,需要学习和掌握的东西就会越来越多,以下是学习网络安全需要走的方向:
# 网络安全学习方法
上面介绍了技术分类和学习路线,这里来谈一下学习方法:
## 视频学习
无论你是去B站或者是油管上面都有很多网络安全的相关视频可以学习,当然如果你还不知道选择那套学习,我这里也整理了一套和上述成长路线图挂钩的视频教程,完整版的视频已经上传至CSDN官方,朋友们如果需要可以点击这个链接免费领取。网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
一文带你了解android的root原理相关推荐
- 精华推荐 | 【JVM深层系列】「GC底层调优系列」一文带你彻底加强夯实底层原理之GC垃圾回收技术的分析指南(GC原理透析)
前提介绍 很多小伙伴,都跟我反馈,说自己总是对JVM这一块的学习和认识不够扎实也不够成熟,因为JVM的一些特性以及运作机制总是混淆以及不确定,导致面试和工作实战中出现了很多的纰漏和短板,解决广大小伙伴 ...
- 【Android】Android获取root原理
[Android]Android获取root原理 背景 逆向爱好者绕不开的操作,root权限才能最大范围对调用链的控制. 相关知识介绍 root权限 在 Android 操作系统中,root 权限是指 ...
- 【转】Android的root原理
转自知乎:https://www.zhihu.com/question/21074979 @Kevin @张炬 作者:Kevin 链接:https://www.zhihu.com/question/2 ...
- android phone驱动_一文带你掌握 Android 系统架构
引言 本文作为Android系统架构的开篇,起到提纲挈领的作用,从系统整体架构角度概要讲解Android系统的核心技术点,带领大家初探Android系统全貌以及内部运作机制.虽然Android系统非常 ...
- 一文带你熟悉android的smali语法一
1.smali必须掌握的关键字 .locals 表示方法内使用的v开口的寄存器个数..prologue 表示方法中代码的开始处..line 表示对应java中的行数..annotation/.end ...
- 一文带你看透 GDB 的 实现原理 -- ptrace真香
文章目录 Ptrace 的使用 GDB 的基本实现原理 Example1 通过ptrace 修改 被追踪进程的内存数据 Example2 通过ptrace 对被追踪进程进行单步调试 Ptrace的实现 ...
- 一文带你深入理解 Spring 事务原理
点击上方 "程序员小乐"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 关注订阅号「程序员小乐」,收看更多精彩内容 每日英文 Man has to ...
- 逻辑回归——一文带你搞懂逻辑回归原理
目录 1.逻辑回归的由来 2.逻辑回归模型建立过程中存在的两个问题 1)问题一:如何将等式左右连续化 2)问题二:使用sigmoid函数,将任意范围的值,映射为(0,1) ...
- 一文带你搞定线程池原理
1.使用线程池的意义何在? 项目开发中,为了统一管理线程,并有效精准地进行排错,我们经常要求项目人员统一使用线程池去创建线程.因为我们是在受不了有些人动不动就去创建一个线程,使用的多了以后,一旦报错就 ...
最新文章
- 判断是否Ajax请求
- 在Winform中播放视频等【DotNet,C#】
- Hyper-V 和Ubuntu Server 16.04 配置静态IP
- 爬虫的增量式抓取和数据更新
- java 注解 属性 类型_收藏!你一定要知道的Java8中的注解
- PID控制器改进笔记之六:改进PID控制器之参数设定
- 托管式服务网格:多种类型计算服务统一管理的基础设施
- 95-20-025-启动器-AbstractBootstrap
- .Net 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等) 2
- 使用ActivityGroup类显示多个Activity
- windows-更新包
- 关于代码家(干货集中营)共享android端知识点综合整理
- [配套工具] 【新手福音】最简单的大漠插件注册方法 只需四行代码 每行附有详细说明
- 基于51单片机汽车智能灯光控制系统设计
- c#文件名去掉后缀_C#如何从文件路径中分离出文件名以及文件扩展名
- VBA锁定单元格并记录单元格修改日志无bug篇
- 什么是安全文件传输?
- 取本机IP地址和网卡号
- 百信计算机管理员登录账号密码,192.168.0.1管理员密码是多少 管理员密码一般是啥...
- html写文章发布,写文章.html
热门文章
- 政考网|公务员考试必考数量关系题总结!
- 用计算机打开苹果手机,iPhone手机打开服务器功能,和Windows电脑互传文件方法...
- 抑郁症评估干预系统开发 还你美好人生
- 华为鸿蒙系统支持的手机有哪些,华为目前可使用鸿蒙系统的手机有哪些 支持华为鸿蒙系统手机型号列表...
- 仿抖音短视频用户业务模块----完成用户信息增删改查并通过接口文档联调(模拟工作环境)
- React组件通信传值 父传子 子传父 兄弟组件传值
- android 融云消息推送,如何解决 嵌入融云SDK后, Android 手机收不到消息推送?
- 360推广一年需要多少钱,360推广一个月要多少钱
- 计算机软件卡死,电脑忽然卡死,怎么回事?
- 苹果软件更新在哪里_涨知识!手机经常弹出“更新系统”提示,到底要不要更新?...