» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 49 1234
发新话题
打印

耍三猴更新完成。。。耍三猴更新完成。。。耍三猴更新完成。。。

我想更新下附件,怎么都没了?管理员怎么上传啊。。。

耍三猴



本文针对想耍猴,但又没经验的耍猴的小白进行的针对性说明与指导,各位耍猴达人、玩猴高手,可无视此文……
起因
最近日版3儿子价格便宜,所以很多从来没接触过android的人都购入了三儿子。因为日版有运营商锁的,结果为了解锁,不得不进行刷机,可很多人都是小白,根本就不知道怎么做,而网上所谓的一键解锁,自动刷机,都是用个批处理文件执行一系列的adb,fastbbot命令,根本就没有人说明为什么这样操作,这样做的结果是怎样的,万一遇到刷机过程中出现问题,往往让很多人不知所措,毫无头绪……
基本知识
“Android就是个Linux。”——这大家都知道,所以针对只会玩windows的用户,有必要解释一下Linux的相关知识……
早期的猴机,比如HTC magic、hero……通过adb shell命令(下文有详细说明),使用cat /proc/mtd可以直接查看文件分区,cat是Linux上的查看文本文件的命令类似于早起dos的type,/proc/mtd中记录了文件的分区信息,所以用adb shell cat /proc/mtd命令,会看到类似如下输出:(原文
dev:     size               erasesize        name
mtd0: 00040000 00020000 “misc”
mtd1: 00500000 00020000 “recovery”
mtd2: 00280000 00020000 “boot”
mtd3: 04380000 00020000 “system”
mtd4: 04380000 00020000 “cache”
mtd5: 04ac0000 00020000 “userdata”
这些东西是存在你手机中的不同的devices,整个文件系统分成了多个部分,分别放在了这些devices上面。system,也就是mtd3,存放了所有你开机后能在/system 目录下看到的文件,这是自动mount的,同样,userdata,也就是mtd5,存放所有你开机后能在/data 目录下看到的东西,包括你所安装的所有的app,你的配置文件,等等。对于普通爱好者来说,主要关注的就是mtd1和mtd2,也就是recovery image和boot image。其中boot image包含的文件会在你每次启动设备时自动加载到root根文件系统。
如果你现在将三儿子连入电脑(前提安装好adb的usb驱动,下文有详述),输入adb shell cat /proc/mtd命令,将会看到类似下面的信息:
dev:    size   erasesize  name
mtd0: 00100000 00001000 "w25q80"
只有一个分区!这是因为内核配置的时候没用固定的mtd分区表, 起始位置和大小是从loader传进来的。
那什么是loader?loader就是电脑、手机启动后在进入系统前,用来引导进入操作系统的一个加载器,android上loader就是bootloader,他等同于Linux上的Lilo,或者grub,如果只用过windows的,还不理解也没关系,你一定见过同时装两个windows,在进入windows前需要选择进入那个windows的情况,这个选择引导程序就是windows的loader。
所以,形象的解释就是,android手机首先会加载bootloader,然后通过bootloader,我们可以选择进入/system,或/recovery分区,前者就是正常启动,后者就是进入恢复模式,恢复模式既可以恢复系统,也可以从存储卡刷入更新。
刷机准备
好了说了这么多基本概念,现在可以动手看看了。首先如果你用的是windows系统,需要安装一个adb的usb驱动,Linux和Mac不需要(Linix/Unix的优越性体现出来了),google没有提供三儿子的驱动,不过可以自己手工修改,具体方法详见我的另一篇帖子,不过如果你需要MTP的驱动的话,还是需要下驱动的。但不是我说google,你他妈不把Linux驱动修改写清楚就算了,连自己三儿子的驱动都不提供了-_-#。好在有三棒这个妈——从三星官网找到click here->下载<-click here,安装好驱动,再连上手机应该就能找到了。有了驱动,adb和fastboot就都可以识别你的手机设备了。一般而言豌豆夹也可以,但如果之前装过adb驱动,豌豆夹是不会再下载官方驱动的。
说了半天ADB,那什么是ADB?Google自己的解释(懒得翻了,自己看看就行):Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device.就是说adb是用来跟android系统通信传文件用的。注意是android系统,不是bootloader,那个是用fastboot的。
下面介绍几个adb [-d|-e|-s <serialNumber>] <command>的用法:
显示连接的设备:adb devices
安装程序:adb -s <your_device> install helloWorld.apk (如果只链接一台android设备-s <your_device>可省)
传输文件到手机:adb push foo.txt /sdcard/foo.txt
执行Android命令(就是Linux命令):adb shell <command> (command为Linux命令)
下载刷机文件
首先是下4.0.2的ROM,这个从http://code.google.com/intl/zh-HK/android/nexus/images.html下载,将包解压缩,解两次(Linux只用一次,再次体现社会主义优越性。。。),得到4个文件:
bootloader-maguro-primekk15.img
flash-all.sh
image-yakju-icl53f.zip
radio-maguro-i9250xxkk6.img
flash-all.sh就当他是个批处理命令,其他的都是不同的设备刷机文件,从名字可知:第一个是刷bootloader的,第三个是刷android系统的,第四个是刷radio基带的。
刷机步骤
首先断开手机连接,关机状态下,按音量加、减和开关键,开机——进入bootloader,不清楚啥叫bootloader的,看上面。检查lock state,如果是locked,则在电脑上打开命令行:运行fastboot oem unlock(后面提供),然后用手机选择yes(用音量加和开关键),然后lock state变成unlocked。说明bootloader锁解开,就可以刷bootloader了。注意:理论上不刷bootloader不用解这个锁。以下输入命令都在电脑终端 中输入:
重启bootloader,输入fastboot reboot-bootloader
刷bootloader,输入fastboot flash bootloader bootloader-maguro-primekk15.img
重启bootloader,输入fastboot reboot-bootloader
刷radio,输入fastboot flash radio radio-maguro-i9250xxkk6.img
重启bootloader,输入fastboot reboot-bootloader
刷系统,输入fastboot -w update image-yakju-icl53f.zip
好了,到此如果你的机器没有网络锁,你就刷新成功了,不用往下看了。像我的日版一样的话,重启后会重新锁网络,后面会详细说明。
先到此停一停,累死我了,打了一上午字。
然后——你们自己看着办。。。

------------------------华丽的分割线-------------------------

我看了下大家回复,有些人说开始能看懂,后面英文,数字就又捉鸡了,还有人觉得太复杂,是机锋什么的批处理拆开版……
估计没有图文并茂,后面操作多了,解释的少了……所以我打算下面的解网络锁的部分,先解释下解锁原理,然后提供一个网上找的解锁包,说明下如何操作。
原理具体
既然要解网络锁,就需要对系统内核部分进行处理。而内核往往不要说写入,删除,就算读取有些都是不可以的。。。这种情况下,就需要祭出我们的大杀器——root。什么是root,root在Linux/Unix中是一个特殊的用户身份,拥有对系统的完全处理功能。相当于windows的administrator。Linux上的具体用法是,在提示符后输入su(现在有些版本Linux需要输入sudo su),然后按照提示输入密码,进行升权。扯远了, 再说回来。那为什么android需要root?因为android没提su!就是说google压根就没想让用户拥有对系统的完全掌控。所以我们要把su放入系统中,而且还要是root的文件系统下!但我刚刚说了,系统文件根本不是一般用户能接触到的,更不要说写入文件。这种情况下,就要通过非常规方法了。。。
一种通过系统漏洞,比如黑客程序zergRush就是利用了函数为FrameworkListener::dispatchCommand的漏洞——溢出攻击,进行的提权,写入su的,就像Arc S系统版本60以前的可以通过这个漏洞进行root。但这个漏洞在稍后一些版本更新中就进行了修正。无法使用了。
还有一种,解释的稍微复杂些。。。还记得上面说过的手机分为多个devices,其中叫boot的:
mtd2: 00280000 00020000 “boot”
复习一下:boot image包含的文件会在你每次启动设备时自动加载到root根文件系统。
上TG的都是些非同寻常的温拿,这时候可能已经想到了,使用一个有root权限的boot image!没错,第二种方法就是这种。
所以具体步骤就是:取得root后,进行系统修改了,然后就解了网络锁了!
我免费提供一个网上的解锁root的包,是软解,每次刷机后需要重新解锁。因为所谓永久解锁是会修改imei的——目前我所知,其他人如果知道有不修改imei的永久解锁的话,也请共享。不管软解还是硬接,我想基本原理都是一样的:root后,修改系统/factory,/radio下的文件。
具体操作
1.断开手机关机状态下,按音量+、—和开机键,进入bootloader,然后连接电脑,命令行进入附件解压后的目录,输入fastboot boot boot.superboot.img,刷入boot。自动重启,然后会在google+**的画面停住,稍等一会自动重启。Root就刷好了。有人说等时间很长,一直没重启,不过拔电池后,也root成功了。确认方法:重启后查看程序里有无superuser程序,有的话说明root成功。
2.将手机连接电脑通过豌豆夹(如果你没申请过google的二次认证可以直接通过market)下载busybox,然后打开busybox,会询问是否安装Linux的命令,选择安装。因为android没有提供完整的Linux命令,所以需要先安装。
3.确认启动好的手机,运行一键解锁.bat。不想一行一行解释,简单说一下,批处理删除修改了/factory,/radio等文件夹下一些文件,因为批处理中的adb shell(说明见上半部分)使用了一些Linux命令,所以第二步中busybox安装Linux命令不能省略。
然后手机会自动重启,这时候你会发现网络已经解锁了。
最后提醒一句,重启后别忘了关数据流量。
管理员呢,我更新完了,其他的,你看着办。。。

[ 本帖最后由 木有小JJ 于 2012-3-30 10:10 编辑 ]


本帖最近评分记录
  • zhangu2 激骚 +1 太骚鸟! 2012-3-31 19:38
  • godmnn20 激骚 +1 最骚 Rated by wap for mark 2012-3-31 01:25
  • ntxdz 激骚 +1 最骚 Rated by wap for mark 2012-3-30 19:50
  • ZXQ 激骚 +1 最骚 Rated by wap for mark 2012-3-30 10:56
  • 春熙 激骚 +2 感谢分享 2012-3-29 21:35

TOP

posted by wap, platform: SAMSUNG (Galaxy S II)

@henryzyl mark



TOP

posted by wap, platform: HTC (Desire)

@喝可乐尿雪碧 mark


TOP

posted by wap, platform: HTC (Desire)

辛苦啊,看了个开头,打比方切入看着容易理解多了。在往后看那些英文数字又捉鸡了

TOP

晕了

TOP

马克,很复杂的样子。。。

TOP

所有安卓日机都能这样艹么

TOP

不踢了,希望楼主能继续造福大众

[ 本帖最后由 夏斯沃勒 于 2012-3-27 13:59 编辑 ]

TOP

引用:
原帖由 夏斯沃勒 于 2012-3-27 12:51 发表
我是来踢馆的,我免费给下载,楼主不介意吧?
我累死一上午,买5分不过分吧,你这么踢馆。。。

[ 本帖最后由 木有小JJ 于 2012-3-27 12:56 编辑 ]

TOP

引用:
原帖由 jiamiao 于 2012-3-27 12:51 发表
所有安卓日机都能这样艹么
理论上是,但你要能找到对应ROM

TOP

七窍通了六窍……

TOP

不错,浅显易懂,深入浅出,一看就全明白了

TOP

posted by wap, platform: iOS

@shy152 mark

TOP

感觉很厉害的样子,回家仔细学习一下。

TOP

引用:
原帖由 木有小JJ 于 2012-3-27 12:55 发表

理论上是,但你要能找到对应ROM
有木有通用的ROM

TOP

 49 1234
发新话题
     
官方公众号及微博