- 积分
- 134
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
楼主 |
发表于 2006-7-16 21:26:10
|
显示全部楼层
刷机相关名词解释:
[quote]Fullflash
不含地址信息的、纯数据的、二进制的、完整的手机程序和数据备份,包括系统软件(bootcore+firmware)+用户文件(filesystem)+设置信息(EEPROM),存放在A0000000h开始的地址段上,当硬件地址空间改变或者用外部软件调试时(如IDA),也可以任意存放到其他地址段上,如00000000h等
by Herrliu
FuBu
是已经固定了存放地址的fullflash,地址信息放在文件内,后面的内容只能存放在它所指定的地址段内,手机使用A0000000h开始的空间内,这也是为什么恢复fullflash时必须指定地址和长度,而恢复FuBu时则不必的原因(因为文件里面已经包含了这方面的信息)。
所以,Fullflash比FuBu的使用更灵活,FuBu是特定的Fullflash,IDA/SPC3/Smelter等软件使用的都是Fullflash格式的文件,使用FuBu时只需引用地址的偏移量、而使用fullflash时需要提供绝对地址(完整的地址)...
by Herrliu
IMEI
IMEI为TAC + FAC + SNR + SP
IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的"电子串号",它与每台手机一一对应,而且该码是全世界唯一的。每一只手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。
其组成为:
1、前6位数(TAC)是"型号核准号码",一般代表机型。
2、接着的2位数(FAC)是"最后装配号",一般代表产地。
3、之后的6位数(SNR)是"串号",一般代表生产顺序号。
4、最后1位数(SP)通常是"0",为检验码,目前暂备用。
IMEI码贴在手机背面的标志上,并且读写于手机内存中。它也是该手机在厂家的"档案"和"身份证号"。
附:如何获得手机的IMEI码
如果您的移动设备为手机,您可以在手机上按“*#06#”获得手机的IMEI码。
by Herrliu
bootcore
对于嵌入式系统的处理器来说,通常内置有所谓BootRom的部分,一般是由芯片厂商烧录,而普通用户不可修改的部分。可以完成多种启动,比如从RAM/ROM启动或从串行接口启动(一般是由CPU的某个管脚控制)。而所谓的Bootcore部分,存储于Flash芯片之中。可以称之为西门子手机的Bootloader,是从M55的新版本中开始出现的部分。在早期的机型中,可以选择从Flash或者串口启动。所以第三方软件可以通过串口启动,传送特定的咯ader来达到直接控制手机的所有设备的目的(主要是Flash芯片)。而从M55的新版开始,西门子封闭了bootrom直接从串口启动的能力,而是直接从Flash启动,进入bootcore,通过bootcore部分的软件来控制进入正常启动或者进入升级模式,由bootcore来控制升级。从而限制了第三方软件的连接和对Flash的任意读写。不过可以通过破解Bootcore部分或者获得bootkey来获得更多的能力来完成对Flash的读写。更彻底的是可以通过改变TestPoint的信号,来恢复从串口启动的能力,从而达到对系统的完全控制。
by Bennie
eep
是EEPROM(Electrically Erasable Programmable Read-Only Memory)的简称,原始含义是一种电可擦编程只读存储器--一种掉电后数据不丢失的存储芯片。有的手机维修技师称之为码片的东西。在早期EEP和Flash(手机技师称之字库)是分别存放的。但随着半导体工业的发展,通常把EEP和Flash集成在一个芯片中。在Flash的特定区域建立EEP的部分。Flash具有块擦写特性,而EEP则具有更小的擦除单位(C489的Flash部分是512Kb,而EEP是64Kb)。在手机中,EEP部分通常存储系统和用户的配置信息,在西门子的手机中,EEP有EEFULL和EELITE两部分组成。EELITE主要是系统相关的设置,而EEFULL则是用户相关的设置。在西门子的手机中,信息在EEP中是以Block为单位存储的,而Block是基于索引存储的。
by Bennie
flash
全称Flash Memory即快擦型存储器,在断电情况下仍能保持所存储的数据信息,但是数据删除不是以单个的字节为单位而是以固定的区块为单位(即block)。区块大小一般由256KB到20MB,FLASH这个词最初由东芝因为该芯片的瞬间清除能力而提出。闪存源于EPROM,芯片价格不高,存储容量大。闪存正在成为EPROM的替代品,因为它们很容易被升级。闪存作为一种存储介质,在很多地方被广泛应用,例如PCMCIA卡,PCMCIA闪存盘,其它形式硬盘,嵌入式控制器和SMART MEDIA,手机的存储也是其中之一。如果闪存或其它相关的衍生技术能够在一定的时间内清除一个字节,那将导致永久性的(不易失)RAM的到来。
by starfriend
filesystem
(FFS)字面意思是手机的文件系统,主要包含了用户文件,系统cache,系统配置等东西(主要是手机0,1,2分区里的东西),升级ffs会对这些地方进行更新,用新版本的相关文件覆盖以前的文件。包括通讯录,短信等在内的用户设置都将会被全部删除。
firmware
要说firmware就要先说固件。固件在词典里的解释是具有软件功能的硬件,在早期这种器件一般都是存有软件的EROM或EPROM(电可擦除可编程只读存储器)等,后来也可以存于FLASH中。通常这些硬件内所保存的程序是无法被用户直接读出或修改的,随着技术的慢慢开放,固件发展到今天,已经有了重新的定义。而我们所说的firmware,更倾向的认为是一种软件体,他承担着一个系统最基础、最底层工作,并且以手机中的FLASH作为载体,与手机其他硬件部分同时存在,相当于手机的操作系统。保存着firmware的EPROM或FLASH即称之为固件。
Firmware 主要是MCU软件(在单片机中即为单片机的程序文件),是为了提高产品的性能而基本设置的控制程序,相当于电脑的 Windows O/S等操作系统,但它的操作方式和硬件联系紧密。需要对端口,中断和硬件结构非常熟悉。PATCHER在进行flash修改,写补丁时,多数也就是在对firmware进行操作.
by starfriend
bootkey
(BKEY)
暂且称之为联机密码,它是V-KLAY,x65flasher等软件在采用password boot方式联机的时候使用到的一个密码。bootkey由16个字节组成,是通过ESN和SKEY扩展到16字节后进行一次MD5运算得到的。
(ESN和SKEY扩展到16字节的C语言算法实现如下:
for(i=0;i<8;i++)buffer[i+8]=buffer^buffer[i+3];(bennie语))
进行password boot方式联机时,手机会将bootkey与bootcore中的hash进行配对比较,如果正确,则成功联机。
(注:1。在成功输入正确的skey的同时,bkey将在eeprom的block 52处被记录,在以后的联机中,手机不在将bkey与hash进行配对比较;
2。MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。)
by starfriend
skey
(service key)由8位的十进制数组成,它可以打开用户对手机(主要是flash)不同等级的访问模式,是西门子公司为限制用户对flash的控制而引入的一种手段。skey本用于维修或检测手机的工作状态,但西门子用户为得到截屏等高级功能,就必须通过skey打开手机的factory mode来达到对flash的完全控制,而通过papuautils等工具向手机中输入skey后,skey被保存于手机的512x块中,每台手机的skey各不相同,它与ESN和HASH有一定的数学运算关系。
by starfriend
ESN
Electronic Serial Number(电子序列号)是唯一识别一个移动通信设备的32bit码,一般由flash串号和flash生产厂商编号两部分组成,由8位16进制数值组成。烧录于OTP区域中,具有一次写入性,写入之后无法修改。ESN与phoneID是双位倒序排列关系.
by starfriend camlee修改
phoneID
phoneID与ESN是逆序排列关系,可通过smelter等工具读取fullflash计算得到,得到phoneID往往是为了得到ESN从而进行更进一步的算码工作。
(注:假如phoneID是12 34 56 78,那么esn就是78 56 34 12)
by starfriend
HASH
MDof 5 Khesh from Bkey)由16个字节组成的字节串,用于与bootkey,esn+skey等进行配对检查,其依赖于esn和skey,由esn+skey扩展到16字节后进行两次MD5运算得到。正确的HASH在手机出厂时被写入到bootcore的0xA0000238~0xA0000248字段中。我们往往需要的是得到正确的hash,然后配合esn逆向计算出bootkey或skey,从而达到联机或打开factory mode的目的,所以,hash在对手机flash进行的各种操作中起到至关重要的作用。
by starfriend
BFC
BFC是一种直到x65才使用的服务协议,可以在开机或者开机状态下使用。开机状态只要用115200的速率发送AT命令:AT^SQWE=1 + 0x13到指定端口就可以使用。关机状态需要使用到可以刷机的数据线,并循环的使用AT命令给端口发送命令,并且每个命令之间要有50ms的间隔。
by lijingwei
factory mode
当向手机输入SKEY之后,手机即进入factory mode。在这个模式下可以使用手机截屏软件和直接使用x65PapuaUtils来读取BKEY、HASH、ESN等信息。
by lijingwei
customer mode
也就是用户模式,只要没有输入SKEY的手机都工作在这个模式下。不能使用手机截屏软件,而且使用x65PapuaUtils也不能直接读取BKEY、HASH、ESN。
by lijingwei
手机工程模式
手机的工程模式,也可称为手机的测试模式,是手机软件系统中,供售后服务人员及技术人员专用的测试各种性能和参数的模式。通过工程模式,我们可以测试手机各项基本功能及相关参数等,包括基站各种指标参数。用这个模式,在手机出现故障的时候,可以自己对手机先进行初步的检测.
Minimal firmware / Minimal SW
HWID
(HardWare IDentifycial number) 硬件识别码
关于手机型号的10进制数值,它不参与手机的密码系统。
部分75机器的HWID值
C75/C7C: 341
S75/S7C: 400
SL75: 411
CX75/CX7A: 5000
M75/M75C: 5001
ME75: 5004
补丁中几个标示解释
;(c) —— 原创版权
;(p) —— 移植
;(i) —— 改善提高
;(r) —— 致谢
;(m) —— 移动(地址转移)
;(t) —— 粗略提供地址、hook、函数等
;(m) —— 改进 修正
Variant值
开机输入*#06#会看到Variant值,而variant值代表的最主要就是手机的语言
x1xx - English, German, French, Italian, Spanish, Portuguese, Catalan, Brazilian Portuguese,Greek,Turkish
x2xx - English, German, Danish, Norwegian, Swedish, Finnish, Dutch, French
x3xx - English, Polish, Russian, Latvian, Lithuanian, Estonia, Ukraine
x4xx - English, German, Hungarian, Czech, Slovakian, Croatian, Dutch, Polish, Serbian, Slovene
x5xx - English, French, German, Arabic, Hebrew, Russian, Bulgarian, Romanian
x6xx - English, Arabic, French, Tagalog, Urdu, Farsi, Malayalam, Hindi
x7xx - English, Thai, Malaysian, Indonesian, Vietnamese, Tagalog, Malayalam, Hindi
x8xx - English2, Simplified Chinese, Traditional Chinese
x95x - US English, Mexican Spanish, Canadian French, Brazilian Portuguese- 一般来说,如果手机的variant不是X8 XX的话,那么就不含中文的(包括繁体中文);但部分水机升级之后成为中文操作系统,Variant值并没有改变;
- 在国外论坛下载KF升级包时,对应Variant值下载即可。
- Variant值是可以手动修改的;
- 只要机器已经是中文操作系统,那么Variant值是无关紧要的。
复制代码 [/quote]
[ 本帖最后由 camlee 于 2007-3-1 22:18 编辑 ] |
|