上面一篇文章介绍了P768的ffspreload.img.cat文件的数据结构,基本上我们就可以开始对他动刀子了!

上一篇文章:http://www.fly7.cn/?p=28028

工具:winhex

打开手机的flash(用暗码790),看了看关于主题的那个文件夹flash/res/,以前多个图片文件,大家可以看看我提取后的文件:

image

image

如果我们从手机上复制到卡上那是多么好大的工程啊,没办法了硬着头皮从刷机包中提取吧,我的想法是去找点工具来提取,可是花了很久没有找到合适的工具,唉,自己写一个有不太熟悉,最后决定用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 ContinueHere

EndIf

 

关于脚本的介绍就到这里了,应为这个不是主要的问题了,毕竟文件我已经全部提取出来了,我们需要做的只是替换相应文件来达到修改刷机资源包的目的。

需要下在资源包也可以到这里下载:

http://cid-c02be930ae8e85a2.skydrive.live.com/browse.aspx/.Public?uc=2&isFromRichUpload=1