zxw0628
版主
  
UID 3598294
精华
114
总积分 48597
帖子 3640
交易分 0
金币 0
阅读权限 100
注册 2006-8-27 现用手机
状态 在线
|
[广告]: 5000条免费短信任你发
Samsung内核研究教程4-关于三星手机的一些综合问题(汉化作品集)
Samsung内核研究教程4-关于三星手机的一些综合问题集
作者:chaojimali20(真水无香)
摘要:本文主要介绍我汉化的一些三星手机上应用的软件及使用方法,另外附件一些对补丁以及其他一些机型的文章和看法
关键字:汉化软件 补丁 文章
Samsung内核研究教程4-关于三星手机的一些综合问题集
其实这个主题算不上三星内核研究,呵呵,不过暂时找不到明确的主题,就定了一个文章名称!虽然是杂烩问题,但是还是很实用的,因为其中涉及到了好几个机型的问题,之所以发在补丁讨论板块,一方面是其中涉及到了补丁的制作以及移植,另一方面该帖子中有好几款我汉化的软件,很多也都和补丁的制作有关
第一部分:汉化软件
其实这些软件很早就汉化了,不过一直没有发上来,因为我觉得都是一些小软件,发上来有点小题大做,但是看到很多朋友还在用俄文的ScreenShot,于心不忍,呵呵,所以今天就借这个帖子把我以前汉化的一些俄文软件都放上来,该软件默认支持的SWIFT和SYSOL机型,其他的机型可以修改一点配置文件,看是否支持!
注意:做汉化的人都知道,汉化非标准资源麻烦,汉化俄文的非标更麻烦,为什么这么说呢?因为俄语在中文系统显示乱码,这些非标的俄语文字用点睛提取出来后是乱码,对于这样的乱码,处理起来很麻烦,几乎可以说没有办法(除非你安装英文或者俄文的XP系统);另外这些软件我也不怎么用(我没用过三星的手机),所以软件中如果出现汉化的不正确的地方还请您多多见谅,可以发电子邮件或者论坛短信给我,我会及时修正的软件中的汉化问题的!
一、ScreenshotStudio
这个软件可能很多人没怎么用过,一方面因为是俄语的,另一方面可能很多人是用Resman来截屏的(用ResMan截屏必须先打上一个Screenshot补丁),这个软件不是用来刷机的,也不是用来修改内核的(DIY)的,只是用来把手机中出现的菜单截取出来,这个截取的效果比你用一个800万象素的数码相机照出来的效果好多了,呵呵,不多说了,我简单说一下用法:
1、运行软件

2、设置端口和速度

3、连上手机的数据线,手机调整到你要截屏的菜单处,然后点软件的“搜索图片”,软件搜索到菜单图片后点“保存图片”就可以了


二、Talker
用过X108G1的朋友都知道,俄国人做的G1版的DIY中有一个语言报时功能,就是待机状态下按C键就可以自动语音报时。如何制作这样的语言报时补丁或者修改语音报时补丁呢?今天我就给大家介绍Talker这款软件!(该软件默认的支持的是X108,不过我问过作者,作者说也可以支持其他机型,至于详细的用法,大家慢慢摸索吧)
1、运行软件

2、打开talk.dat 文件,该文件就是报时的语音文件,默认的是俄语的报时,大家可以把声音改成中文的

3、下图中,红线框住的地方就是语言文件,可以点“播放补丁”进行播放声音文件,可以对列表中的语音文件进行替换,其中系统时间指的是你的电脑的时间。至于详细的用法,大家可以直接慢慢摸索!

感谢以上两款软件的作者Stepanv

三、Font Edit v1.0
该软件是用来修改X100XEDC2的字体,也只能用于X100XEDC2


四、BinPatcher

这个软件看起来好像很好用,名字很吸引人,但是实际操作中…….呵呵 我搞了半天不知道怎么使用!!呵呵 大家可以试试看,看怎么用。

五、几个图片编辑软件
1、Samsung Raw Viewer
这个软件很不错,支持目前三星所有机型图片的转换JPG-ANI-RAW-C10-ICN-ABM



2、SMS Edit
该软件好像是用来编辑彩信图片的,呵呵 具体我也不知道怎么用


3、BMP2ANI V1.1


4、IMG2ANI_1.2


六、CLA_Block
这是一个非常有用的软件,可以制作CLA块文件和DIF补丁文件(感谢看雪论坛的Cao_Cong 的脱壳)
运行软件

创建方案

创建完成后,软件自动关闭(我觉得这个功能很不好,呵呵),重新运行软件,打开刚才的文件夹中打开后缀名为Pro的文件

在这里可以编辑补丁,也可以创建补丁文件,如果要编辑SMP补丁,请把SMP补丁文件复制到你的Patch文件夹下;可以自己创建一个CLA块文件


七、BTS_Editor
该软件用于修改手机中的GPS信息,目前只支持X100XEDG1;X600XEDI2, X600XEDL2;
和X460XEDJ5。
1、运行软件

2、模拟显示

2、菜单的简要说明
文件

打开:打开一个BTS, TXT格式的文件,可以编辑也可以浏览
保存:以BTS的格式对文件进行保存
退出::退出程序
编辑

添加:添加一个新的基站
编辑:编辑所选的基站
删除:删除所选的基站
清除:删除列表中所有的基站
命令:基于CellID:命令针对基站列表的CellID栏
基于Channel:命令针对基站列表的Channel栏
基于Description :命令针对基站列表的Description栏
选项:列表递增
列表递减
手机

发送BTS:把你编辑好的BTS上传到手机上
下载BTS:把手机中的BTS下载到电脑然后用软件进行编辑
GPS插件程序(Plug-in):浏览GPS plug-ins插件列表
全屏显示:浏览或者编辑全屏桌面
选项:主要用于设置手机和电脑的连接
编辑窗口

CellID:基站的注册号.
十六进制: 十六进制格式的CellID记录
十进制: 十进制格式的CellID记录
通道:当前基站的通道(未使用状态)
说明: 当前 CellID的说明
按键说明
确定: 保存修改并关闭当前窗口
取消: 关闭当前窗口,但是不保存
关于

在这里可以看到软件的版本以及作者及汉化作者的一些信息 ^_^
关于该软件中用到的一些名词及常见问题
什么是CellID?
CellID是一个基站注册号,它可以表示成十进制或者十六进制形式。每个基站号都是独立的。
为什么有些字符不能正确显示?
如果某些字符不能正确显示,可能是因为你的BTS_Editor软件版本有些老了,或者说你的*.BTS文件是用老版本做的(1.36以前的版本做的),遇到这种情况请使用新版本(我汉化的这个是1.36版的)
BTS是个什么格式的文件?
其实BTS和文本文件TXT是类似的,它是该软件专用的一种文件格式,可以点击它可以直接打开我们的BTS_Editor软件。
上传BTS文件到手机过程中出现错误?
用"backup"文件夹中的文件替换文件 SGHFS.xml 就可以了
如何添加支持的机型?
用记事本打开文件SGHFS.xml,然后转到filemanager model = " SGH-X100, SGH-X600 " cluster = "16384" size = "12955648".比如我们要软件支持X460,那么我们就把上面的文件修改成filemanager model = " SGH-X100, SGH-X600, SGH-X460 " cluster = "16384" size = "12955648"就可以了!
为什么所做的设置没有成功?
请修改注册表文件,文件位于HKEY_LOCAL_MACHINE \SOFTWARE \BTS
如何给基站列表分类?1.36及以上的版本都支持给基站列表分类,点击“编辑-命令-然后选择一种你想要的分类方式就可以了

八、Mega File Manager
一个连机软件也不知道有用没,既然汉了就放上来


九、关于字库及输入法的两个软件
首先感谢Robiny70797 ,呵呵,我在他的一个帖子中看到了一个波兰的网站,找到了下面的两个软件!大家可以看看,不过感觉好像…..用处不是很大,因为他只能打开特定的固件类型(D500G3),假如是这样的话,那么BinEdit完全可以代替它,因为BinEdit可以打开所有固件的语言文件并进行保存或者移植(中文的固件,可以做一个be文件就可以打开了,但是中文的字库在BinEdit里面显示好像有点问题,不知道是什么原因,可能对中文的支持不是很好吧)
T9 Replacer

Samsung Firmware Language Editor 0.92


第二部分:关于补丁
在看这个主题之前我们先了解一下什么是补丁?我觉得补丁就是:可以改变手机功能的一些数据(代码)的集合!补丁有什么有点?补丁最大的优点就是使用方便,很小的一段数据就可以改变手机中的某项功能;相对于我们以前直接刷ROM,快捷了不少,另外他附带的还原补丁可以使我们在修改出错后顺利的恢复到正常状态!
随着工具的不断改善,ResMan,BinEdit和SGH Flasher/Dumper的出现,补丁越来越被大家认可和使用。那么怎么使用补丁呢?论坛上不少这样的文章,不过写的都不是很完整,零零散散的,所以今天我就简单介绍一下补丁的相关知识!
目前的补丁主要有以下四种格式(其实主流的是前两种):
ResMan格式的补丁
这个是大家经常见到的,一般有三种类型-XML , SMP , SMPBZ;这三种补丁有什么区别呢?其实本质上是没有区别的。XML用于ResMan 3.X版本,而SMP用于ResMan 4.X版本,而后出现的ResMan 5.X版本对SMP进行了优化,又提出了SMPBZ格式的补丁。这种补丁有什么优点?其实对我们来说没什么优点,优点是相对于俄国人来说的。在俄国,他们上网,基本上都是按流量收费的,价格贵的吓死人,一般是1M=$2.5,也就是说你在网上下载或者上传1M的流量,你必须支付$2.5(人民币也就是20多元吧,下一部电影的话五六百元人民币就打水漂了^_^),相对于国内电信900元一年无限上网的价格,实在是….贵的有些离谱了,所以为了节约银子,老毛子就提出了SMPBZ格式的补丁,其实它是SMP补丁的压缩格式。
SGH Flasher/Dumper格式的补丁
这个格式的补丁就是DIF格式的补丁,它一般有两种形式*.DIF和*_cancel.DIF,前者是改变手机中某项数据的补丁,后者是复原补丁。两个补丁都是用SGH Flasher/Dumper自动生成的。SMP补丁的有点就是方便移植,我们可以用记事本打开补丁然后查看其中的代码,并移植到中文固件上,但是它不能用于刷机,所以还是要转换为DIF格式的补丁才能直接应用。
Samsung Firmware Edit格式的补丁
这种补丁的扩展名为*.spf,用的不是很多,我们就不介绍了。(转换成SMP或者DIF格式的补丁请看下面的教程)
DIF Edi格式的补丁t
这种补丁的扩展名为*.dep,用的也不是很多。(转换成SMP或者DIF格式的补丁请看下面的教程)
如何制作资源类DIF补丁
所谓资源类补丁就是指图片、铃声、文字等的补丁文件,我们需要的工具如下
(1)、Resourse Manager v.5.4 Pro
(2)、要创建补丁的固件
1、打开Resourse Manager v.5.4 Pro

2、打开固件

3、打开固件后,也有面板显示的是资源树窗口,包括图片、铃声、字体、补丁等等

4、我们先来做一个图片的补丁,打开资源树的 图片栏,选择开机图片

5、选择开机图片后我们点“装载”,选择一个大小合适的图片

6、然后点“应用”,这样一个图片就替换成功了

7、置换完成后我们就保存为DIF补丁,点“文件-另存为DIF补丁”

8、保存成功后系统提示完成(保存了一个补丁和一个取消补丁,取消补丁用于还原)

好了,一个简单的图片DIF补丁就制作完成了,其他的资源补丁如铃声,文字等的补丁都是这样的!至于功能补丁的制作,Resman就无能为力了,我们需要用到BinEdit或者IDA Pro了,关于用BinEdit做补丁,下次我在专门写一个教程来阐述!
做完了补丁,我们就要把这个补丁应用到我们的手机上,那么如何刷这个补丁呢?我们需要的工具:
1)、E358手机
2)、数据线一条
3)、刚才做的DIF补丁
4)、刷机程序SGH Flasher/Dumper v.0.7 (切记:刷机的时候手机应该出于关机状态)
1、运行SGH Flasher/Dumper v.0.7

2、设置COM口、速度、和机型

3、选中“刷入项――刷入DIF主文件的补丁文件”选项卡

4、插上数据线,按开机键,手机初始化后和软件链接成功
5、选择要写入的DIF补丁文件


6、选择好文件后就可以刷机了 ^_^(如果出现错误,请使用还原补丁,就是带_Cancel的补丁文件)
说到这里有人就问了,那么我从网上下下来的SMP补丁怎么使用呢?那么这些补丁格式都是可以相互转换的,转换的方法很多,不过最简单、最通用的还是使用BinEdit来转换,他支持所有补丁之间的格式转换。(ResMan只能把SMP补丁转换为DIF格式,在这里我们就不介绍了,大家可以看看论坛上其他的相关教程)
1、运行BinEdit

2、点击“工具-补丁编辑器”


3、打开一个补丁文件,比如一个SMP格式的补丁文件

4、红色部分表示补丁的基本信息,蓝色的部分是补丁的说明

5、点“文件-另存为”

下面是所有支持的补丁格式,支持目前所有格式补丁之间的相互转换

第二部分:关于字库的移植
我这里说的仅仅是字库,不是中文输入法。以前见很多朋友移植字库是用ResMan做的,一个一个字串汉化,工作量大的惊人,我这里介绍一个方法,大家可以参考一下,这个方法就是用BinEdit来完成的,操作很简单!对于西方字库绝对是没问题的,至于是否支持中文的字库移植,我不敢说,因为我没有用过三星的手机,没有机会测试这个结果,大家可以参考一下:
我们今天把X108H1(中文固件)中的中文字库加到俄文固件X100G1中去
1、运行BinEdit

2、打开X108H1

3、转到右边面板的“Language Resource”

4、选择简体中文后保存


好了,中文字库就提取出来了,然后我们再加入到X100G1中去
5、打开G1,选择右边面板的Language Resource选项卡


6、我们选中Romn字库,把中文简体加入到它里面

7、替换完成后,我们把它做成DIF补丁直接刷机,打开The editor of patches


8、保存成DIF格式就可以了


关于T9中文输入我的一点看法
很多人都在刷老毛子的版本,比如D508的刷D500G3,X108的机友刷X100G1等等,为什么呢?因为老毛子的版本实在是太优秀了,呵呵,不服不行!随之二来的就是中文输入的问题,刷了老外的固件不能输入中文,这是个个很恼火的问题,尤其是对那些“拇指”一族!所以很多人投入到T9中文输入法的研究行列中来了,这是好事,但是对于一些行为和思路,我来发表一点意见(如果觉得荒谬的,请您关闭该页面或者看下面的文章)
第一:路漫漫其修远兮
T9的中文输入是一个很大的课题,在我看来,在目前情况下,几乎是不能完成的,这话不是对一些玩家来说的,包括那些具有专业开发的人来说都不是容易的事情!
第二:工欲善其事,必先利其器
之所以目前输入法的研究没有什么成果,我觉得很大程度上是因为没有相关的工具。工具的重要性是不可忽视的,我认为从某种程度上来说起着非常关键的作用!在我们没有引入ResMan以前,大家基本都是用Samsung DIY来玩手机的,那时候也就是置换一下图片、铃声、文字等资源文件,有人精通地址偏移置换大铃声,那就是大家心目中的大侠了,呵呵。但是事过境迁,随着ResMan , BinEdit 等一些优秀工具的引进,我们也开始玩补丁了,做功能补丁、刷功能补丁。有了这样的进步,不能不说是ResMan , BinEdit的功劳。当然了,人的作用也不是不能忽略的!话又说回来,我觉得目前输入法之所以没有什么进展,一方面是没有专业人士的介入,另一方面就是手头没有相应的工具。(有当然是有,不过没有公布,比如三星工具绝对有相应的工具,呵呵)。在这里我也建议一些正在或者准备加入中文输入法研究的人一点建议:中文输入法是一个浩大的工程,绝对不是在HexWorkShop中寻找指针或者修改指针可以完成的!那是条死胡同――行不通的!HexWorkShop的强大功能当然不用说,但是用它来分析有一定的局限性,它是建立在某种成果之上的。举个简单的例子:将X708A3版中将通话一分钟改成50秒的方法,有人写了一个教程是用hexWorkshop来查找00290BD13448,然后把前面的00改成32就可以了,这个结论是从hexWorkshop看出来的吗?我敢说绝对不是,这个只是把SMP补丁移植过来的一种简单方法,但是这个补丁开发的时候是用hexWorkshop开发的吗?绝对不会,因为hexWorkshop里面的代码成千上万,你根本不可能知道这一段代码表示的就是通话计时,这个补丁的开发应该是用BinEdit或者IDA Pro开发出来的!用hexWorkshop来处理只是移植一下而已!所以说用hexWorkshop分析固件,尤其是分析ARM,Thumb或者代码部分,是不可行的。(固件一般来说分五部分:第一部分 ARM指令;第二部分:Thumb指令;第三部分:代码部分。第四部分:资源文件-就是图片、铃声、文字等等。第五部分:初始化信息及RAM部分)
说到这里可能有的朋友听不下去了:“那么你的意思就是让我们不要研究了,废话说了那么多,有本事你搞一个T9输入法让我们看看…”,我只所以写这篇文章,一面的号召更多的人来研究这个,另一方面是希望可以获取必要的工具。第三就是给一些研究的朋友一些建议,只有路选对了,才有可能到达目的地。输入法绝对不是在hexWorkshop里面找指针替换指针就可以完成的,它应该是调用了一个(组)的函数来实现的,所以说要分析它的话,目前BinEdit和IDA Pro是不错的工具(其实也有一定的局限性),期待能有更好的工具出现,也期待更多专业人士的加入能使这一项成果早日问世!!
今天先灌到这里,下次有时间继续灌^_^
转载请保持文章的完整性,谢谢!
|  尾巴的博客,希望大家光临指导工作

|
|