爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 3352|回复: 53
收起左侧

[教程] 制作Z盘文件替换补丁,不受源文件大小限制

[复制链接]
发表于 2006-7-4 19:31:38 | 显示全部楼层 |阅读模式

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

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

x
Z盘不能像A盘那样自由的做镜像文件,DIY大大降低,之前的Z盘补丁能够替换,但是有限制,就是不能大于源文件,所以有的补丁是修改路径,把文件路径指向A、E等盘的,之前论坛发布过的editorZ,可以实现替换Z盘文件,不受大小限制,不过软件针对是英文15版的,对于我们中文15版来说,不能直接使用,不过参照原理,还是可以做出来的,下面介绍方法,希望大家从中找到玩sx1更大的乐趣!!

一、原理
实现的原理是修改文件的偏移地址,使文件存放的地址指向rom中的空白地址,这样就不受源文件大小限制了,应为之前的补丁是直接替换源文件存放的地址的,如果替换的文件大于源文件,就会占用其他文件的地址,造成错误。改变指向的地址就可以解决这个限制了!!

二、需要用到的软件
刷机程序、editorZ、apatcher、winhex、计算器

三、做补丁
我们的任务是得到原始文件的大小和偏移,还有15版空白空间的偏移地址……

首先看看用editorZ做的menu.aif的Z盘补丁(针对英文15版的)
; Auto generated sxp file
; EditorZ v0.4
; Released 06.06.2006 18:06
; Changing Menu.aif size and offset.
replace:CF05000070B07250:660E00000080E450
; Writing file(s) to free space on Z1
replace:7478E450D87DE450007DE450E47DE450F07DE450D478E450D878E4508478E450E078E450FFFFFFFFFF:7478E450D87DE450007DE450E47DE450F07DE450D478E450D878E4508478E450E078E450FFFFFFFF37000010383A00

replace:CF05000070B07250:550E00000080E450这一行就是改变文件的偏移地址和大小的,蓝色的:CF050000就是原始Z盘menu.aif的大小,根据内存中高低字节互换的原理,大小就是16进制的05cf,换成10进制就是1487字节,红色的70B07250就是文件的偏移地址,高地位互换,正确的偏移地址是5072B070(zeditor里log文件显示就是这个偏移地址)更改后的偏移地址为50E48000(剩余空间开始地址)。补丁修改这两处地方(当然,如果改名的话,同样的道理,由于存放空间的问题,改名不能改成比原来文件名字长的名字),新的文件大小就是0E66(16进制),换成10进制是3686字节,比原来的1487大了……

第二行代码就是替换空白地址为新的menu.aif内容了。

这个偏移地址和大小怎么找呢?英文15版可以在apatcher中导出的Z盘log中得到,如果中文的15版,就要借助winhex来查看了……

以中文15版Z盘的menu菜单图标menu.aif为例,运行刷机程序(我的是“siemens15(带摇杆补丁)”刷机程序),打开winhex(很不错的16进制编辑软件,支持编辑内存),选择“工具”-“RAM编辑器”(或者直接按ALT+F9),打开对话框,选择刷机程序,选择“整个内存”,确定……
1.JPG
然后选择“搜索”-“查找文本”(Ctrl+F),查找内容输入“menu.aif”(不包括引号),数据模式选择“unicode”
2.JPG
查找后,找到如下的数据地址
图3 3.JPG

可以看到中文15版menu.aif文件的大小为05CF(16进制),偏移地址为507BDF40,(我们可以把通过这个方法把Z盘文件的信息找出来写到zeditor需要的log文件中,制成15中文版所需的log文件,很费时阿)
参照log的格式,就是这样

; saving file Menu.aif from offset 507BDF40, length 1487

存为log.txt文件,放在Zeditor目录下,把你需要替换的文件menu.aif放到zediter\files目录下,运行Zeditor,在“Files in folder”选择menu.aif,按=》选择,然后按save patch就可以生成补丁了。
4.JPG
由于Zeditor是针对英文版的,空白空间偏移地址和地址开头内容不一样,我们还需要更改生成的patch.sxrp……

内容是这样的
  1. ; Auto generated sxp file
  2. ; EditorZ v0.4
  3. ; Released 06.06.2006 18:06
  4. ; Changing Menu.aif size and offset.
  5. replace:CF05000040DF7B50:660E00000080E450
  6. ; Writing file(s) to free space on Z1
  7. replace:7478E450D87DE450007DE450E47DE450F07DE450D478E450D878E4508478E450E078E450FFFFFFFFFF:7478E450D87DE450007DE450E47DE450F07DE450D478E450D878E4508478E450E078E450FFFFFFFF37000010383A………………………………
复制代码


经过中英文版的对比,中文版和英文版存在以下偏移地址(16进制)对应关系:英文偏移地址+64990=中文偏移地址,中文版的空白地址表头为“04C2EA5068C7EA5090C6EA5074C7EA5080C7EA5064C2EA5068C2EA5014C2EA5070C2EA50FFFFFFFFFF”。

根据此,我们算出中文的偏移地址为50E48000+64990=50EAC990(注意到补丁时高地位互换)。

于是得到中文版的补丁就是:
; Auto generated sxp file
; EditorZ v0.4
; Released 06.06.2006 18:06
; Changing Menu.aif size and offset.
replace:CF05000040DF7B50:660E000090C9EA50
; Writing file(s) to free space on Z1
replace:04C2EA5068C7EA5090C6EA5074C7EA5080C7EA5064C2EA5068C2EA5014C2EA5070C2EA50FFFFFFFFFF:04C2EA5068C7EA5090C6EA5074C7EA5080C7EA5064C2EA5068C2EA5014C2EA5070C2EA50FFFFFFFF37000010383A………………………………




总结一下:
1、找出中文版文件偏移地址和大小,写到log文件中
2、用editorZ做补丁
3、修改生成的补丁,换成中文版对应地址


[ 本帖最后由 segalgx 于 2006-7-5 12:59 编辑 ]

评分

参与人数 1实力分 +2 收起 理由
山高高 + 2 奖:感谢-你和大家分享经验!

查看全部评分

 楼主| 发表于 2006-7-4 19:31:47 | 显示全部楼层
大家可以把中文版的文件的偏移和大小,搜集起来可以弄一份完整log文件……

希望高手可以修改Zeditor,修改成适合中文版的,就不用算地址那么麻烦了,其实修改空白空间的开始地址和表头内容,把zeditor脱壳,反编译可以看到这部分数据,就是不知怎么修改……改了就不用这么麻烦了!!

之前的相关帖子:
segalgx简体中文15集成版,Z盘文件修改,一步到位(免mmc卡),增加网络硬盘下载  
http://mobile.0110.cn/viewthread.php?tid=242951

简体中文版15版也可以替换Z盘的文件,不受文件不能大于原始文件的限制
http://mobile.0110.cn/viewthread.php?tid=240326



15版的部分log文件

  1. ; saving file Avkon.mbm from offset 503F6E50, length 138851
  2. ; saving file AvkonEx.mbm from offset 50418CC0, length 1974
  3. ; saving file EikCtl.RSC from offset 504BFE80, length 964
  4. ; saving file EidPic.mbm from offset 504DBCA0, length 5038
  5. ; saving file Apac.mbm from offset 50F31820, length 74440
  6. ; saving file Clock.mbm from offset 50795F50, length 1628
  7. ; saving file Clockmasks.mbm from offset 507965B0, length 1000
  8. ; saving file menu_folders.mbm from offset 507BE510, length 20416
  9. ; saving file whistle.wav from offset 50DE2800, length 26620
  10. ; saving file SX1_Ring_Ring.mid from offset 50F777A0, length 1142
  11. ; saving file Index from offset 50F73DA0, length 17095
  12. ; saving file 00100000 from offset 50F73A30, length 193
  13. ; saving file 00100001 from offset 50F73B00, length 46
  14. ; saving file 00100002 from offset 50F73B30, length 119
  15. ; saving file ScriptInit.txt from offset 50F57E30, length 2298
  16. ; saving file operinfo.txt from offset 509F5E60, length 28850
  17. ; saving file splashscreen.mbm from offset 50F43AF0 , length 73284
复制代码

[ 本帖最后由 segalgx 于 2006-8-1 13:36 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2006-7-4 19:41:27 | 显示全部楼层
板凳!!!期待阿!!!
回复 支持 反对

使用道具 举报

发表于 2006-7-4 20:08:17 | 显示全部楼层
小板凳,等着大作重现!对大S来说又是一次飞越!顶起来。
回复 支持 反对

使用道具 举报

发表于 2006-7-4 20:09:31 | 显示全部楼层
厉害啊,是不是真要LINUX了?
回复 支持 反对

使用道具 举报

发表于 2006-7-4 20:43:15 | 显示全部楼层
这个,感觉好麻烦的说,要是这样算来算去,我头大了也搞不定的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-4 20:48:11 | 显示全部楼层
原帖由 lu3412 于 2006-7-4 20:36 发表
还预留。。。。

我都等半天了。


不好意思,觉得这个方法还是麻烦,所以……

BTW:你的大S搞定没?
回复 支持 反对

使用道具 举报

发表于 2006-7-4 21:35:18 | 显示全部楼层
原帖由 ameng 于 2006-7-4 20:09 发表
厉害啊,是不是真要LINUX了?



其实linux已经可以用了,而且还是热启动的,不需刷机,不过现在是针对英文版的
回复 支持 反对

使用道具 举报

发表于 2006-7-4 21:40:48 | 显示全部楼层
感觉就像以前在DOS状态下,进行DEBUG操作那样。
更像用PCTOOLS、FPE等软件。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-4 21:51:24 | 显示全部楼层
原帖由 518998 于 2006-7-4 21:35 发表



其实linux已经可以用了,而且还是热启动的,不需刷机,不过现在是针对英文版的


看来刷个英文版外挂中文字体用也不错,呵呵,可以尝鲜……
回复 支持 反对

使用道具 举报

发表于 2006-7-4 21:54:14 | 显示全部楼层
呵呵,有点点麻烦,不过还是很值得期待。
回复 支持 反对

使用道具 举报

发表于 2006-7-4 21:56:53 | 显示全部楼层
sx1真是越来越强了!
回复 支持 反对

使用道具 举报

发表于 2006-7-5 00:50:53 | 显示全部楼层
强贴,支持!
回复 支持 反对

使用道具 举报

发表于 2006-7-5 05:41:18 | 显示全部楼层
原帖由 518998 于 2006-7-4 21:35 发表



其实linux已经可以用了,而且还是热启动的,不需刷机,不过现在是针对英文版的

真的吗?请问这消息在哪看的啊?不刷机的话系统从哪来啊?谢谢了!
回复 支持 反对

使用道具 举报

发表于 2006-7-5 07:42:09 | 显示全部楼层
顶顶顶!!!但是实现起来太复杂了,哎,慢慢学学吧
回复 支持 反对

使用道具 举报

发表于 2006-7-5 11:12:13 | 显示全部楼层
能有个简单的工具就好了
回复 支持 反对

使用道具 举报

发表于 2006-7-5 12:10:17 | 显示全部楼层
坐着得慢慢看,支持!
回复 支持 反对

使用道具 举报

发表于 2006-7-5 12:19:18 | 显示全部楼层
晕~~这个贴的楼主哪里去了?
http://mobile.0110.cn/viewthread.php?tid=240326
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-5 12:28:20 | 显示全部楼层
原帖由 山高高 于 2006-7-5 12:19 发表
晕~~这个贴的楼主哪里去了?
http://mobile.0110.cn/viewthread.php?tid=240326


汗,后来居上了~~
回复 支持 反对

使用道具 举报

发表于 2006-7-5 12:51:45 | 显示全部楼层
终于等到兄弟的教程了,辛苦了!支持中!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-29 18:04

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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