分析RM970 固件V2.5版本的图片文件列表
?——在RM970的早期固件版本中,我們是可以按照自己的意愿對其進行固件美化的,網上有很多這方面的教程。(例如:http://bbs.romman.net/thread-112858-1-1.html)筆者按照教程在自己的電腦中試了一下。但,就是得不到應該有的結果。當筆者用Image Search Editor打開V2.5版本的固件后,由于沒有與之對應的書簽文件,而無法找到固件中圖片文件的偏移位置。導致無法進行固件美化?,F在的網絡上好像只有V2.2版本固件對應的固件文件列表。筆者對V2.2版本的固件以及其文件列表進行了分析,尋求到了找出V2.5版本固件文件列表的方法。
?????? 所謂,文件列表的偏移其實就是在固件文件中圖片的起始位置相對于文件頭的字節數。由于V2.2與V2.5版本中的圖片文件是一樣的。所以,首先將V2.2固件用UltraEdit-32以二進制的方式打開,根據V2.2固件對應的文件列表找到其中某張圖片的位置。在UltraEdit -32的二進制文件中找到該位置。復制一定長度的二進制數。然后,再用UltraEdit-32代開V2.5固件版本,搜索剛剛復制下來的二進制串。這樣便搜索到了該圖片在V2.5版本中的位置。用Image Search Editor書簽文件的格式記錄下來就可以了!用同樣的方法找出所有圖片。
?????? 其中,開機的動態效果其實是由很多張漸變的圖片連續切換形成的。一共有24張。這24張圖片是連續存放在固件文件里面的。就是說他們偏移地址之間的差是相等的。為了避免重復相同的動作,可以用編程的方式完成文件列表的書寫。下面是這段程序代碼:
#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;
???? }
}
?
?
?
?
總結
以上是生活随笔為你收集整理的分析RM970 固件V2.5版本的图片文件列表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 采用apache poi处理e
- 下一篇: 深度linux系统和win7,国产操作系