什么是S-OFF?
S代表 Security Lock,是安全锁,保护锁的意思。S-OFF就是安全保护关,S-ON就是安全保护开。
Secure Lock 就是安全锁。是硬件设计厂商用于保护固件不被刷写而设计的安全锁。如果这个安全锁是关闭的,那么对手机内的闪存芯片的刷写保护就关闭了,言外之意也就是可以随便刷ROM了;反之,S-ON就是安全锁打开了,手机被写保护了。HTC的机器在用RUU刷机的时RUU会将安全锁暂时关闭,然后就可以刷HTC自己的ROM。而HTC的HBOOT还有签名验证,所以没有HTC签面的ROM在刷机的时候是无法通过验证的。
什么是ENG S-OFF?
ENG代表 Engineer,也就是工程的意思。是HTC的手机在工程阶段测试时候使用的SPL,这种SPL是最不稳定的,一般只有HTC的ENG版本的RUU里面带这种SPL,也就是工程版RUU里面才带这种。

图中的G1手机在HBOOT模式下显示为ENG S-OFF

什么是SHIP S-OFF?SHIP代表 SHIPPMENT,也就是出货的意思。当HTC交货给各大运营商的时候,ROM都是SHIP S-ON的,这些ROM都是经过了很多测试的,同样也是非常稳定的,也是零售版本采用的系统。

图片中的G6手机在HBOOT模式下显示为SHIP S-ON

哪种S-OFF比较好?那要先说这两种OFF的区别:ENG S-OFF是单独的SPL级别的OFF,这种工程版SPL,因为是是用于开发人员调试的,所以开启了fastboot调试功能,也就是可以通过fastboot命令去刷机。SHIP S-OFF是在零售版本或者说是发布版本的SPL基础上,用HTC内部的解锁工具进行解锁,而达到的S-OFF。这种S-OFF的特点是没有开启fastboot功能,比较稳定,并经过很多次测试,硬件兼容性也比较好,不会出现信号不好,wifi断线等问题;HTC的任何版本ROM,官方RUU都可以直接刷,刷完官方还是S-OFF。SHIP S-OFF并不会像ENG SPL一样,刷官方RUU之后还要再重新解一下S-OFF,而且可以卡刷ROM,所以各版本的好坏还是要用户自己去衡量。最后要说一下:SHIP S-OFF的童鞋可以随便刷自己对应型号的RUU;ENG S-OFF的童鞋不怕降级不了也可以随便刷;当然你要是笨到,用G6的RUU去刷G7的手机小编我也拿你没办法,刷死别怪小编我没提醒你哦!此贴最后要感谢R大师的技术支持。

安卓手机刷机教程之HBOOT命令详解
安卓手机可以给我们带来的乐趣,体现在方方面面,随处可刷的ROM!同样的,刷ROM也是一项安卓具备的独特功能,但作为刷ROM的前提条件,我们首先要了解手机的各项特征,接下来,我们就进入安卓手机的工程模式,也就是HBOOT模式,了解一下手机的各项基本信息参数,同时也是非常重要的几项信息。可以看到手机中会显示如下参数。
BRAVO PVT1 SHIP S-ON
HBOOT-0.93.0001
MICROP-031d
RADIO-5.10.05.23
Aug 10 2010,17:52:18

注:以上信息,可能会与你的手机内容所显示的并不相同,但不妨碍演示,大家只要了解它们所代表的内容便可以了。BRAVO:这个是手机型号的内部开发代号。PVT(或者是EVT,DVT,CVT):是代表手机的版本类型。一台手机从研发到上市,可能会经历多次版本上的调试和改动,版本类型标志着机器是什么时候的产物,如下:EVT:工程机,研发阶段机器的型号;DVT:开发机,特殊开发用途机器的型号;CVT:商用机,交付运营商的机器的型号;PVT:量产机,最终上市的零售版机器的型号。(PVT1:第1批量产机)SHIP/ENG:手机HBOOT(SPL)的版本。SHIP:shippment的缩写,出货的意思,零售版的HBOOT版本。ENG:Engineer的缩写,工程的意思,修改版的HBOOT版本。S-ON(或者是S-OFF):S代表Security Lock,即安全锁。HTC在手机内部设置了一个安全锁,用来控制系统分区的读写状态。S-ON:安全锁开;S-OFF:安全锁关。如果你需要对关于S-OFF和S-ON的详细内容解读,可以参考:上面的HBOOT-0.93.0001这里显示了HBOOT的版本号,HBOOT是一个很特殊的部分,刷坏了这里,手机就会变砖,类似于升级电脑的BIOS,刷错了BIOS,你只能返厂用特殊的擦写工具来恢复了,所以,对HBOOT的操作要特别的注意,如非必要,不要去轻易刷写此分区!RADIO-5.10.05.23这里显示了RADIO的版本号,同样的,RADIO会随着官方系统的升级而跟着升级,RADIO是负责信号和硬件驱动的,理论上讲,应该是越高版本越好,当然也不是绝对,也需要要看情况的,就像电脑上的驱动,最新的并不一定是最好的。

白卡解锁与软解锁风险全面分析~~s-on/s-off
一、了解基本知识:
       手机的系统储存在RADIO CHIP芯片(即手机的ROM)之中,下面以蓝色框框代表这颗芯片

Hboot对系统有两种装载方式:只读和读写,取决于Security(S)开关的ON 或者OFF
Hboot相当于电脑BIOS的地位,它是最接近硬件层面的存在。

有了上面的基础,下图可以表示出白卡解锁的原理:

把RADIO中的Security开关由ON解锁成OFF,这就是白卡的作用。所以SHIP S-OFF在XDA上又被称为RADIO S-OFF,RADIO指的是这个芯片,SHIP则是对应HBOOT的版本状态
软解锁的原理用下图表示:

Desire S的软解锁还未做出来,但从G3-G10的软解方式都是一样的,下图可以表示:由一些高人重新编写了一个第三方HBOOT刷手了手机,从而可以骗过手机的安全锁检查,等于是开启了一条可读写RADIO芯片的绿色通道实际上,手机的安全锁仍然是开着的,不过在修改版的HBOOT下不起作用了而已IS的XX过程也是这样的,最终需要刷入一个修改过的HBOOT来骗开S-OFF的大门,总之要刷RADIO芯片里的东西,你就得过S-OFF这关(G7、G9等有点特殊。。。有个叫unrEVOked3的软件直接做掉NAND LOCK。。。在S-ON下刷机,可惜这一团队也没再更新了)IS不是没有人编写HBOOT,而是要刷第三方HBOOT,你还必须要先ROOT,不然你是没有权限刷掉HBOOT的,软ROOT没成功其他的什么都做不了(SHIP S-OFF是走捷径直接加进去的,不算XX)。现在HTC把SYSTEM保护得很完善,ROOT的难度相当的高啊。。。
既然这样,那“臭名昭著的白卡机”是什么东东,为什么会被骂得这么惨不忍睹?下图可以表示出白卡机的来历: 

我们网上说的白卡机指的就是这种情况了,JS把有各种乱杂软件充斥其中的ROM刷进了白卡解锁的手机里,这D确是一件让人很不爽的事情!!!至于g,o,a,p,k,我觉得它是做了冤大头了。。。呵呵,至少我在这里混了这么久也没见过这么不堪的ROM发布在论坛上。什么?开机显示着它?那有什么难。。。改第一屏、第二屏的方法连我这个半吊子的人都会做,何况JS。。。以g,o,a,p,k的名义发布ROM很有说服力呢。而往ROM里塞东西就更没有技术含量了。。。就一个解压打包的过程
不过,还好RUU是可以解决这个问题的。下面看看RUU的强悍:

刷RUU涉及到超级CID问题:

二、至此,原理部分介绍完毕,两种解锁方式作如下对比:
SHIP S-OFF(白卡解锁)

1.安全。不管你做错了什么,都可以回到HBOOT上面重新来过,因为SHIP S-OFF方式并没有改动HBOOT
2.可以随时RUU,你刷了什么觉得不妥了,RUU就行,毕竟官家的东西别的不行,稳定性还是一流的。
3.官方新系统发布了,你可以首先体验,不需要等自己手机销售地版本更新。而且用得不爽了还可以随时降级(降级有什么用?一般手机系统的XX都是从低版本XX的,版本越高,漏洞越少,还怎么个XX法)。4.功能:除了FASTBOOT外和ENG S-OFF完全一样。
缺点:        SHIP S-OFF的FASTBOOT功能不如ENG S-OFF做得那么完整。ENG S-OFF一般都可以方便地使用FASTBOOT功能,不过普通用户应该很少用到FASTBOOT。FASTBOOT可以做什么?我觉得最大的优点是灵活,可以在电脑端随时更改系统,不用每次都关机进HBOOT卡刷。比如改个内核、第一屏、刷个ROM等都是鼠标点几下的事。
ENG S-OFF(软解锁)

1.功能完整,包括FASTBOOT
2.做完RUU后(需要金卡)可以变回S-ON。(这有什么用?呵呵~行货保修啊。。。)
3.其他功能和SHIP S-OFF一致(IS的还没出来,不知会不会加入新功能)
缺点:    这是个很致命的地方:如果你刷HBOOT成功了,那恭喜你,你和SHIP S-OFF的一样安全,不管你做错了什么,都可以回到HBOOT上面重新来过,但是!刷HBOOT本身这一过程是有风险的,相当于电脑刷BIOS(你电脑买了这么久有刷过BIOS么。。。刷ROM(重装系统)还可以试几次,刷HBOOT,我以前每台机都刷得我满头大汗的),所以刷之前一定要做好MD5校验,否则一旦出错,手机变砖是必然的了。
    最后,白卡解锁也是可以再做一次软解锁的(如果你需要用到FASTBOOT功能的话),因为这两种XX方式互不影响,是两个层面上的东西(上面的原理说得很清楚了)。我在Desire HD上都是让两种S-OFF状态并存的。

什么是S-OFF,什么是S-ON,HBOOT命令,玩转Android的更多相关文章

  1. 01.SQLServer性能优化之---水平分库扩展

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 第一次引入文件组的概念:http://www.cnblogs.com/dunitian/ ...

  2. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  3. 避免重复造轮子的UI自动化测试框架开发

    一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...

  4. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  5. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  6. H5实现摇一摇技术总结

    摇一摇遇到的问题 一.如何对摇晃效果进行反馈 刚开始的处理方式是,摇晃过程中不做任何处理,但后来反馈说这种效果不好,好像就没有摇动一样,如果声音也不响的话,就真的和什么都没发生一样. 后来想了想,加入 ...

  7. 【AR实验室】mulberryAR : ORBSLAM2+VVSION

    本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 mulberryAR是我业余时间弄的一个AR引擎,目前主要支持单目视觉SLAM+3D渲染,并且支持iOS端,但是该引 ...

  8. 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新

    本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...

  9. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  10. webp图片实践之路

    最近,我们在项目中实践了webp图片,并且抽离出了工具模块,整合到了项目的基础模板中.传闻IOS10也将要支持webp,那么使用webp带来的性能提升将更加明显.估计在不久的将来,webp会成为标配. ...

随机推荐

  1. linux安全体系

    一.   硬件.软件选型 确认需求,分析可能面临的安全问题 记录各硬件寿命.保证散热.确保性能冗余 使用商业正版.开源的软件,不从互联网安装系统,从源头保证系统安全 购买专业售后支持 服务器配置双电源 ...

  2. spring.net IOC容器

    spring.net 通过配置文件的方式 帮我们实现了IoC功能,实现方式非常灵活,且多种多样. 点击查看 创建对象 我们只需定义接口和实现方法,spring.net帮我们实现了其他功能. 第一步,定 ...

  3. 如何自定义一个优雅的ContentProvider

    最近在code review的时候发现很多人的provider定义的不是很好,写的很粗糙 以至于代码健壮性不够好,可读性也不强 但是你既然写了content provider 就是要给别人调用的,如果 ...

  4. Android布局文件夹引起的问题

    Android 运行到setContentView(R.layout.splash); 总是出现如下的错误: java.lang.RuntimeException: Unable to start a ...

  5. Phonegap中用ajax读取PHP服务器的数据

    直接上代码: HTML: var URL="网站地址&callback=?"; $.ajax({ type : 'GET', url : URL, dataType : ' ...

  6. git/github初级运用自如(zz)

    ----//git/github环境配置 一 .  github上创建立一个项目 用户登录后系统,在github首页,点击页面右下角“New Repository” 填写项目信息: project n ...

  7. Java读写大文本文件(2GB以上)

    如下的程序,将一个行数为fileLines的文本文件平均分为splitNum个小文本文件,其中换行符'r'是linux上的,windows的java换行符是'\r\n': package kddcup ...

  8. Raspberry Pi3 ~ 搭建开发环境

    关于树莓派的开发环境 纠结了一些时间 ,我的是raspberry Pi 3 mode b 在官网下载 noobs (raspbain 版本)的. 安装完成之后接上显示器 启动系统 然后最初我是想在这个 ...

  9. javascript注意点(1)

    1.void运算符 ECMAScript 262规范,关于void说明如下: The void Operator The production UnaryExpression : void Unary ...

  10. DOM笔记(七):开发JQuery插件

    在上一篇笔记本中,讲解了如何利用jQuery扩展全局函数和对象:DOM笔记(六):怎么进行JQuery扩展? 在这篇笔记本中,将开发一个简单的动画插件,名称是example-plugin,用其实现一个 ...