爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 5744|回复: 81
收起左侧

[补丁] 充分利用Z盘空间(已测试)

[复制链接]
发表于 2006-8-20 20:27:34 | 显示全部楼层 |阅读模式

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

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

x
Z盘有320k左右的剩余空间,并可通过ZEditor加以利用。但点空间远远不够Z盘补丁使用(我的一个WAV铃声就用光了所有剩余空间)。可利用其他Z盘空间吗?

Z盘其他可用剩余空间分析(大约有3种):
(1)Z盘文件替换后的后续剩余空间
(2)不常用的程序或数据文件空间;
(3)路径已改到ACE盘的文件空间。

方法:找到一块大于当前欲修改文件大小的地址空间(文件替换后的剩余空间,或不再使用的文件的起始空间),将文件的偏移地址指向该地址空间的起始偏移地址,修改文件的大小为新文件大小,将该地址空间后的内容替换为新文件内容。

下面以修改z盘的apac.mbm,将apac_new.mbm和eidpic_new.mbm两个全屏文件嵌入其中为例,说明如何充分利用“Z盘文件替换后的后续剩余空间”。(其中apac.mbm代表Z盘原始全屏下半部分背景图像文件;apac_new.mbm代表新的下半部分全屏背景图像文件;eidpic_new.mbm代表新的上半部分全屏背景图像文件):

首先要找到Z盘原始eidpic.mbm和apac.mbm文件的大小和偏移地址。
以上步骤要求利用winhex工具打开刷机程序的内存空间,在内存中查找“eidpic.mbm”和“apac.mbm”文件名称,找到后,其文件名称前面的数据含义如下:文件大小+偏移地址+文件属性+文件名长度+Unicode文件名称。其中文件大小为4个字节(32位),偏移地址为4个字节(32位),文件属性为1个字节,文件名称长度为1个字节。文件名称为UNICODE码。
1.jpg 2.jpg
下面以查找eidpic.mbm为例说明。
3.jpg

内存中找到的eidpic.mbm文件名称前的数据如下:AE130000 A0BC4D50 01 0A。其中AE130000表示eidpic.mbm文件的大小(机器内部表示)->000013AE(16进制)->5038字节(十进制);A0BC4D50表示eidpic.mbm文件的手机内存偏移地址(机器内表示)->504DBCAE(16进制);01代表文件;0A代表文件名(eidpic.mbm)长度为10个UNICODE码。
4.jpg



另外,内存中找到的apac.mbm文件名称前的数据为:C8220100 2018F350 01 08。其中文件大小为C8220100(机器内部表示)->000122C8(16进制)->74440字节(十进制);偏移地址为2018F350(机器内部表示)->50F31820(16进制);文件属性为01代表文件;文件名长度为8个UNICODE码。

一般以上数据在内存空间只出现2次,其他均可通过以上数据分析排除。

现在假如我们要利用apac.mbm的剩余空间【我的apac_new.mbm只用了前47204字节,作为全屏待机下半部分的背景图片,即十六进制的B864;剩余的30K空间可分配给eidpic_new.mbm文件使用(eidpic_new.mbm文件大小为23040字节),以上两者总和小于76k的原apac.mbm字节大小,故可加以利用】,其步骤如下:

1、改变Z盘中eidpic.mbm的偏移地址为Z盘apac.mbm文件剩余空间的地址:[原apac.mbm偏移地址]+[apac_new.mbm文件大小]。
但为了地址对齐,将apac_new.mbm文件的大小稍微扩大,为16的倍数,即16进制表示的文件大小的最后字节为0。
如apac_new.mbm的文件大小为B864,现扩大为B870。
根据上面的内存搜索结果,Z盘原apac.mbm文件的偏移地址为:50F31820,相加后即为eidpic.mbm文件新的偏移地址:50F31820+B870=50F3D090 (16进制)-> 90D0F350(机器内表示)。
同时修改内存中eidpic.mbm文件的大小为eidpic_new.mbm文件的实际大小。
23040字节(十进制) ->00005A00(16进制)->005A0000(机器内部表示)。

故补丁如下:
eidpic.jpg

2、修改apac.mbm文件的大小为新的实际大小:0000B864(16进制)->64B80000(机器内部表示),补丁如下(下面图片的文件大小70B80000有误,虽对mbm文件而言扩大文件大小不影响使用,但对其他类型文件则必须为实际大小):
apac.jpg

3、将原apac.mbm内容替换为:apac_new.mbm内容+(为满足16倍数大小的填充字节)+eidpic_new.mbm内容。
形成的方法如下:用winhex生成一个为填充字节大小的随机文件(内容无关),
5.jpg
用winhex的连接命令将以上3个文件依次合并成一个aaaa.mbm文件,
6.jpg
7.jpg 8.jpg
再用mbmtoo或apatcher对照原apac.mbm文件生成补丁即可。
代码如下(因补丁太大,选部分演示,其他节略):
; patch generator v1.100 by Shamil Randuev / Z-TEAM
; for WINSWUP MEMORY PATCHER 2.4 by SERRGE / Z-TEAM
;
; direct your suggestions to randuev@oslik.ru or http://oslik.ru
;
; generating patch based on differences between E:\desktop\phone\patch\originalMbm\apac.mbm and E:\desktop\phone\patch\originalMbm\apac1.mbm,
; starting at offset 0, generating hexstrings of size 148880
; with search string 20 bytes long
;
; source file E:\desktop\phone\patch\originalMbm\apac.mbm opened
; length 74440
; new file E:\desktop\phone\patch\originalMbm\apac1.mbm opened
; length 74440
; found differences at offset 10
replace:BC220100E0B0000028000000AE00000082000000:58B80000A8B5000028000000B0000000840000000000000000000000100000000100000000000...............................................................

以上补丁即可不借助其他空间实现Z盘全屏(另外需修改c:\system\sharedata\10058ec.ini,使下半部分背景图案指向z:\system\data\apac.mbm,将调色板模式设置为第一个即可;为Linux图案,个人超喜欢)
9.jpg
ScreenShot.jpg
其他补丁制作可依次类推,已在本机测试成功(简体中文15干净版),

附以上代码的具体补丁文件:
ChangeApacAndEidpic.rar (25.83 KB, 下载次数: 48)

已测试的其他相关补丁.rar

86.4 KB, 下载次数: 51

评分

参与人数 1实力分 +1 金钱数 +10 技术分 +2 收起 理由
segalgx + 1 + 10 + 2 奖:感谢-你和大家分享经验!

查看全部评分

 楼主| 发表于 2006-8-20 20:31:06 | 显示全部楼层
自己顶一个!!
回复 支持 反对

使用道具 举报

发表于 2006-8-20 20:32:58 | 显示全部楼层
看不懂,顶一下
回复 支持 反对

使用道具 举报

发表于 2006-8-20 20:33:08 | 显示全部楼层
板凳…………
回复 支持 反对

使用道具 举报

发表于 2006-8-20 20:55:35 | 显示全部楼层
顶一下
回复 支持 反对

使用道具 举报

发表于 2006-8-20 21:05:21 | 显示全部楼层
这个有技术含量啊。强顶!
回复 支持 反对

使用道具 举报

发表于 2006-8-20 22:04:28 | 显示全部楼层
我也来顶一个!!
回复 支持 反对

使用道具 举报

发表于 2006-8-20 22:16:40 | 显示全部楼层
。。。。。。。。!!!!!!!!!
回复 支持 反对

使用道具 举报

发表于 2006-8-20 22:24:28 | 显示全部楼层
没有认真看过,但支持先~~关注,留名,什么也来了!
回复 支持 反对

使用道具 举报

发表于 2006-8-20 22:28:10 | 显示全部楼层
看起来不错,但增加Z盘空间有什么好处呢?
回复 支持 反对

使用道具 举报

发表于 2006-8-20 22:31:27 | 显示全部楼层
顶了现看
回复 支持 反对

使用道具 举报

发表于 2006-8-20 22:43:14 | 显示全部楼层
看不懂,顶一下
回复 支持 反对

使用道具 举报

发表于 2006-8-20 22:54:32 | 显示全部楼层
这个要仔细看看。。。。

貌似能够看懂。。。
回复 支持 反对

使用道具 举报

发表于 2006-8-20 23:02:42 | 显示全部楼层
呵呵,不错,希望这样的机友能够多些!!

不连续的小空间利用起来比较麻烦……

[ 本帖最后由 segalgx 于 2006-8-20 23:04 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2006-8-20 23:41:35 | 显示全部楼层
顶顶顶!技术含量高啊。
回复 支持 反对

使用道具 举报

发表于 2006-8-20 23:53:50 | 显示全部楼层
哇靠……为什么我看不懂………………再看………………
回复 支持 反对

使用道具 举报

发表于 2006-8-21 00:37:03 | 显示全部楼层
靠,看不懂也要看


再看不懂?????


偶再看多几次,似懂非懂啊
回复 支持 反对

使用道具 举报

发表于 2006-8-21 07:41:19 | 显示全部楼层
不懂,来个截图版吧,看得头痛。
回复 支持 反对

使用道具 举报

发表于 2006-8-21 14:59:24 | 显示全部楼层
顶一下,空间小点
回复 支持 反对

使用道具 举报

发表于 2006-8-21 16:01:07 | 显示全部楼层
哪位大虾用白话文翻译下。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-7 17:52

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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