爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1159|回复: 22
收起左侧

[公告] 公布高手“别时方觉依依”对MAP的研究结果

[复制链接]
发表于 2009-8-28 11:17:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册会员 微信登录

x
本帖最后由 loquat 于 2009-9-12 14:35 编辑

1、MAP的两个文件介绍
SL7C_1_Standard_47_0001.map是MAP的基础文件。
SL7C_2_cn-Retail_47_0421.map是MAP的修改文件、由各运营商对手机厂家提出要求后,厂家在这里设置一些参数对某些功能进行控制。
这两个文件都是文本文件,用记事本就可以打开。
开头是文件信息:适用机型、版本、日期等
下面就是各BLOCK(块)了。
最后是个CHECKSUM。由前面各BLOCK计算得来。计算方法不知道。

建议运行Smelter,开一个你自己的FULLFLASH,然后点“E ”。就可以发现我们在刷MAP的时候实际就是对EEP进行刷新。

2、SWriteMap V1.04工作原理
SWriteMap运行时先要连接手机,再计算两个MAP的校验和,确保文件的完整性。
将手机中原有EEP读出来,分析各个BLOCK的数据。
将它和Standard文件里面的内容做“与”或者“或”操作,再和Retail文件里的内容做“与”或者“或”操作。再写回手机。
具体哪些BLOCK做“与”,哪些BLOCK做“或”还不了解。

终于在经过1个礼拜的努力之后。找到了设置的关键项。
并且有不少收获。

现在向各位公布我的研究结果。

[5427]
    最后一个
        0XFF 不显示隐藏盘,    显示缩略图
        0XFD    显示隐藏盘,    显示缩略图
        0XFE 不显示隐藏盘,不显示缩略图
        0XFC    显示隐藏盘,不显示缩略图
[5262]
    第一个用于蓝牙模式
        0X0A:没有“可持续识别”
        0X0C:有“可持续识别”
[5353]
    第二个用于“设置日期格式”
        0X02:年-月-日
        0X04:年.月.日
    //loquat加一句:E71一共只有5中格式,根据手机里的菜单顺序和上面已有的参数。大可以这么假设。
    //  0x06  日/月/年   ;0x08   月/日/年    ;0x0A   日.月.年
    第四个用于时区
        0X41:北京     //这里我们需要的其实只有北京
        0X21:弗里墩
        0x20:柏林
        0x42:东京
        0x23:巴黎
[5268]
    第一个用于每周启始日
        0X00—0X06对应星期一到星期日
[5078]
    第21、22两个数据(地址:0x14、0x15)实际上只要一个。那一个没有去研究。
        0x01->中文目录   //简体中文
        0xFF->英文目录
        //0x00->繁体中文
        //还有一个那什么Bhs.Melayu不管它,反正也看不懂。
[5285]
    预拨号IP
[5005]
    第19个对应变异版本
        0x01—0x1B对应变异版本A—Z
        第20、21个变异版本数字,比如50 1F就是501;80 3F就是803;
[0226]
    厂商服务设置
    第4、5字节为0xFF     线路选择功能始终打开,就是在信号图标上始终有1或者2
                                                                                                           ————20090912by别时方觉依依

PS.loquat:
              如果想自己想找MAP中的配置只需要在手机中的一项配置,然后到处EEP所有块,和之前的对比。

要将自己定义的MAP刷进去本应该是件很简单的事。但是该死的SWriteMap在刷之前居然要计算CHECKSUM。
自己不能改MAP用SWriteMap刷了。

还好,天无绝人之路。
按下面的步骤做。
1、手机已经从最最早备份下来的FULLFLASH开始升级到V47(包括MAP)。(我建议从最原始的EEPROM开始改起。)
2、运行x65flash-2103联机,Read flash.
3、运行Smelter
     打开你备份下来的FullFlash
     

                               
登录/注册后可看大图

     点“E”,打开EEPROM页
     

                               
登录/注册后可看大图

      在上面右键点击,选save all blocks
      

                               
登录/注册后可看大图

      在弹出对话框中选“取消”,过会儿就会在你FULLFLASH所在目录下生成EEPROM文件夹里面有145个文件。(如果是144个也不要紧。是少了个“预拨号”的块。)
4、用UE打开前面列出BLOCK的文件。
     例如我前面说[5078]
        第21、22两个数据(地址:0x14、0x15)
           0x01->中文目录
           0xFF->英文目录
      打开文件名中含有5078的文件。数到第21、22两个数据,应该是0101,将他们改为FFFF。保存这个文件。
5、再回到Smelter,右键点击,选择Load all blocks。
     再在菜单里选“save as”,自己另取个文件名。(注意:不要将你最原始的那个FULLFLASH覆盖掉)
6、运行x65flasher-2103
      选择“FILE”,然后“Open file”选择你刚才在Smelter保存的BIN文件。
   点“Backup”备份他的EEPROM。后“Close file”
7、用x65flasher-2103联机,将备份出来的EEPROM刷回手机。

开机,这个时候你的手机调用DATA盘下的英文目录里的东西了。其他语言的目录都没有用了。
在第4步的时候将你要改的依次全部改好。再做步骤5、6、7。这样你以后重新刷机就不用刷MAP,只要将这个EEPROM刷回机器就OK了。

    补充说明:英文目录的控制项在官方MAP这个文件中:E71C_2_xy-Test4RDapac-InCn_41_0456.map,默认的数据貌似是0xFF,0x00(繁体目录吧!!!)
              其他修改的控制项都在那个Standard文件里面。
              修改了控制项参数之后,后面的checksum也要对应修改。map文件用winrar直接打开,或者用UEditor打开。
               2009-08-28_105301.gif
               2009-08-28_105407.gif
    checksum的修改方法:我以最简单的举例。
  1. [5427]
  2.     最后一个
  3.         0XFF 不显示隐藏盘,    显示缩略图
  4.         0XFD    显示隐藏盘,    显示缩略图
  5.         0XFE 不显示隐藏盘,不显示缩略图
  6.         0XFC    显示隐藏盘,不显示缩略图
复制代码
我直接用winrar打开的压缩包里的Standard.map文件,Ctrl+F搜索5427
    5427.gif
    最后一个值默认是FF,如果要改成显示隐藏盘和缩略图。0xFD
    FF->FD就是从11111111->11111101,被修改的那一位的权是(2)**1,2的一次方。那么checksum值就要对应的按10进制加2或者减2。
    至于到底是加2还是减2呢,这要靠你去刷上试验,如果加2是错的,刷MAP时会提醒checksumerror,那你就在现在已经修改的基础上减去4再试咯。这个肯定行的。
    如果修改了多位,就要一步一步的来。
    比如繁体中文目录0x00,改到英文目录0xFF
    就是00000000->11111111,你必须先从00000000->00000001,checksum值加减1,通过刷机测试算对checksum
    然后从00000001->00000011,checksum值加减2,再刷机测试得出正确的checksum
    为何要一步一步的来,不直接从00000000->11111111,直接一次把所有的权值都算出来?
    因为这里的每一位到底是加是减现在还没有研究出规律来。不知道到底是什么时候是加什么时候是减。
    所以,请你在修改MAP的时候,把每一步都做下笔录,最后大家一起来分析,到底怎么一步得到最终的checksum值。对于同一机型同一软件版本,这个规律应该是一定的。

    并希望兄弟们看了此文章都自己动动手吧,把官方版的MAP修改成默认英文目录,时区北京。其他的设置日期格式,星期起始日随各位的喜好自己改吧。
 楼主| 发表于 2009-8-28 11:17:50 | 显示全部楼层
沙发惯例一下
回复 支持 反对

使用道具 举报

发表于 2009-8-28 11:26:50 | 显示全部楼层
有些高深 友情帮顶
回复 支持 反对

使用道具 举报

发表于 2009-8-28 11:59:07 | 显示全部楼层
有些高深 友情帮顶
libra203344 发表于 2009-8-28 11:26


我都能看懂的东西,肯定不是很难的东西。。。
回复 支持 反对

使用道具 举报

发表于 2009-8-28 12:09:28 | 显示全部楼层
这个很不错楼上楼下都在刷屏
回复 支持 反对

使用道具 举报

发表于 2009-8-28 12:19:18 | 显示全部楼层
这个很不错楼上楼下都在刷屏
xiannv_ 发表于 2009-8-28 12:09


嗯,继续刷屏。顶给有动手能力的机油。。。
回复 支持 反对

使用道具 举报

发表于 2009-8-28 13:50:17 | 显示全部楼层
顶高手。
回复 支持 反对

使用道具 举报

发表于 2009-8-28 14:39:55 | 显示全部楼层
学习中…
回复 支持 反对

使用道具 举报

发表于 2009-8-28 14:59:20 | 显示全部楼层
学习中
回复 支持 反对

使用道具 举报

发表于 2009-8-28 19:47:44 | 显示全部楼层
不懂,学习中
回复 支持 反对

使用道具 举报

发表于 2009-8-28 20:25:07 | 显示全部楼层
来帮顶的...枇杷真不错.
回复 支持 反对

使用道具 举报

发表于 2009-8-28 21:32:06 | 显示全部楼层
呵呵,最近我在做的项目,也整天和二进制的数据打交道~~
回复 支持 反对

使用道具 举报

发表于 2009-8-29 00:10:43 | 显示全部楼层
Bhs.Melayu是马来语
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-29 03:04:37 | 显示全部楼层
本帖最后由 loquat 于 2009-8-31 18:02 编辑

为等室友熬到凌晨,自顶一个。。。
回复 支持 反对

使用道具 举报

发表于 2009-8-29 05:46:08 | 显示全部楼层
凌晨起来,看到此帖
帮顶。。
说真的我不懂。呵呵
回复 支持 反对

使用道具 举报

发表于 2009-8-29 07:10:23 | 显示全部楼层
早起,上班,顺便顶一个 。。。。
回复 支持 反对

使用道具 举报

发表于 2009-8-29 17:21:49 | 显示全部楼层
伟大的人,高尚的人!
回复 支持 反对

使用道具 举报

发表于 2009-8-31 09:24:43 | 显示全部楼层
晕死,我是什么高手啊。羞愧。可耻的匿了
回复 支持 反对

使用道具 举报

发表于 2009-8-31 09:28:13 | 显示全部楼层
  1. 其他修改的控制项都在那个Standard文件里面。
复制代码
不是这样说的。
应该是:
如果在Retail文件中有你需要改动的的block就修改Retail文件。否则的话就修改Standard文件。
回复 支持 反对

使用道具 举报

发表于 2009-9-9 23:39:47 | 显示全部楼层
EL71 V41修改为英文目录:
checksum 为 96000

刷的过程可能会有一个EESIMU target error enMenManUnKnowError, 关掉SWriteMapR65重开一下就好。不行的话,多试几次,总会可以。

时区改为0x41无效,不知道为什么!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2024-5-15 01:04

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表