联想P768刷机包修改,完整版的主题替换(2) 占个座位先
12 九月 2009
上面一篇文章介绍了P768的ffspreload.img.cat文件的数据结构,基本上我们就可以开始对他动刀子了!
上一篇文章:http://www.fly7.cn/?p=28028
工具:winhex
打开手机的flash(用暗码790),看了看关于主题的那个文件夹flash/res/,以前多个图片文件,大家可以看看我提取后的文件:
如果我们从手机上复制到卡上那是多么好大的工程啊,没办法了硬着头皮从刷机包中提取吧,我的想法是去找点工具来提取,可是花了很久没有找到合适的工具,唉,自己写一个有不太熟悉,最后决定用winhex的脚本来提取。
关于winhex的脚本大家可以参看http://www.fly7.cn/?p=27063
最后经过半天的酝酿:终于把这个脚本写出来了,大家看看,写得很简陋
open "F:\ffspreload.img.cat"
goto 0 //由于这个脚本在运行的时候会遇到cat文件中的关于文件夹的定义,上文已经说过文件夹定义的数据格式,由于简单起见我就没有对文件夹进行处理,当脚本运行到文件夹的地方就会报错,这样我们只要记录下这个位置,再次运行这个脚本叫可以跳过文件夹继续解压文件。初始时候goto到0.
Label ContinueHere
Find 0x2f666c6173682f Down //向下查找“/flash/”这个字符串
IfFound
move 6
Assign fname1_s CurrentPos
block1 CurrentPos
Find 0x00000001 Down
Assign fcont1_s CurrentPos
IfFound
move -1
Assign fname2_s CurrentPos
Block2 CurrentPos
move 1
Insert 0x000a
//存储位置,用于删除
Assign t_s CurrentPos
//获取文件名
goto fname1_s
move 1
ReplaceAll "/" "\" BlockOnly
ReadLn fname
//返回,准备删除换行
goto t_s
move -2
block1 CurrentPos
move 1
block2 CurrentPos
Remove
//删除结束
//MessageBox fname
EndIf
//获取文件大小
goto fcont1_s
move 5
Read fsize1 1
Read fsize2 1
Read fsize3 1
Read fsize4 1
Assign fsize (256*256*256*fsize1+256*256*fsize2+256*fsize3+fsize4)
//MessageBox fsize
block1 (fcont1_s+9)
block2 (fcont1_s+8+fsize)
//写入文件
CopyIntoNewFile fname
JumpTo ContinueHereEndIf
关于脚本的介绍就到这里了,应为这个不是主要的问题了,毕竟文件我已经全部提取出来了,我们需要做的只是替换相应文件来达到修改刷机资源包的目的。
需要下在资源包也可以到这里下载:
http://cid-c02be930ae8e85a2.skydrive.live.com/browse.aspx/.Public?uc=2&isFromRichUpload=1
