分析RM970 固件V2.5版本的图片文件列表
?——在RM970的早期固件版本中,我們是可以按照自己的意愿對其進(jìn)行固件美化的,網(wǎng)上有很多這方面的教程。(例如:http://bbs.romman.net/thread-112858-1-1.html)筆者按照教程在自己的電腦中試了一下。但,就是得不到應(yīng)該有的結(jié)果。當(dāng)筆者用Image Search Editor打開V2.5版本的固件后,由于沒有與之對應(yīng)的書簽文件,而無法找到固件中圖片文件的偏移位置。導(dǎo)致無法進(jìn)行固件美化。現(xiàn)在的網(wǎng)絡(luò)上好像只有V2.2版本固件對應(yīng)的固件文件列表。筆者對V2.2版本的固件以及其文件列表進(jìn)行了分析,尋求到了找出V2.5版本固件文件列表的方法。
?????? 所謂,文件列表的偏移其實(shí)就是在固件文件中圖片的起始位置相對于文件頭的字節(jié)數(shù)。由于V2.2與V2.5版本中的圖片文件是一樣的。所以,首先將V2.2固件用UltraEdit-32以二進(jìn)制的方式打開,根據(jù)V2.2固件對應(yīng)的文件列表找到其中某張圖片的位置。在UltraEdit -32的二進(jìn)制文件中找到該位置。復(fù)制一定長度的二進(jìn)制數(shù)。然后,再用UltraEdit-32代開V2.5固件版本,搜索剛剛復(fù)制下來的二進(jìn)制串。這樣便搜索到了該圖片在V2.5版本中的位置。用Image Search Editor書簽文件的格式記錄下來就可以了!用同樣的方法找出所有圖片。
?????? 其中,開機(jī)的動態(tài)效果其實(shí)是由很多張漸變的圖片連續(xù)切換形成的。一共有24張。這24張圖片是連續(xù)存放在固件文件里面的。就是說他們偏移地址之間的差是相等的。為了避免重復(fù)相同的動作,可以用編程的方式完成文件列表的書寫。下面是這段程序代碼:
#include<iostream>
#include<fstream>
#include<stdlib.h>
using namespace std;
void main()
{
???? long int temp=24081600;
???? int count=1;
???? char * str;
???? str=(char *)malloc(sizeof(char)*30);
???? ofstream fout;
???? fout.open("V2.5list.txt");
???? for(int i=0;i<24;i++,count++)
???? {
???????? if(count<10)
???????? {
???? cout<<"Start_0"<<count<<","<<_itoa(temp,str,16)<<",400x240,32,Ramos970.RKW/n";
????????????? fout<<"Start_0"<<count<<","<<_itoa(temp,str,16)<<",400x240,32,Ramos970.RKW/n";
???????? }
???????? else
???????? {
????????????? cout<<"Start_"<<count<<","<<_itoa(temp,str,16)<<",400x240,32,Ramos970.RKW/n";
????????????? fout<<"Start_"<<count<<","<<_itoa(temp,str,16)<<",400x240,32,Ramos970.RKW/n";
???????? }
???????? temp+=384008;
???? }
}
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的分析RM970 固件V2.5版本的图片文件列表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 采用apache poi处理e
- 下一篇: 火拼泡泡龙技巧以及一些技术简介