国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 手機玩家 > 正文

6688經驗半月談

2024-06-08 15:03:07
字體:
來源:轉載
供稿:網友
買了6688已經半個月多。我買到小八的時候,正是6688一改以往的平靜,進入一個風起云涌的時刻,或者說是末日的輝煌!(小八還是有“硬”傷的)
首先是6688系列大幅降價,高高在上的價格跌到了一個讓普通大眾(包括我)都可以接受的地步。其次,SL456688i參考了國外的修改后,在自己的努力下,讓這些修改可以應用在中文5508版下,然后更多的國外網站展現在大家的周圍,一下眼界擴展到那么大,簡直讓人馬上都難以適應??纯匆郧暗恼搲?,不由得感覺自己仿佛是井底之蛙。
在這種環境下,以我的本性自然也坐不住了,于是參加到對小八的改造當中,在這個過程中,我看到了許多的國外網站,在感受技術上的差距的同時,也學到了很多的知識,并在實驗當中得到寶貴的經驗,下面,我就把這些奉獻給大家(再不寫這個就是學習報告了^_^),它主要來自于看國外高手的討論,向SL456688i請教的和我自己摸索得來的,是從一個程序員的角度出發,并希望能起到拋磚引玉的作用。
在正文開始之前,先說一下文件地址和Flash地址的關系。所謂文件地址就是導出的FULLFW文件的地址,而Flash地址是西門子軟件在Flash內部使用的地址,如函數調用和Block地址等都是用的Flash地址。其表達式如下:
Flash地址 = 1000000H - FULLFW_SIZE + 文件地址
注:其中FULLFW_SIZE為Flash+EEP的大小,6688為600000H。十六進制一律在后面放H。
一、關于EEP及相關部分。
1、EEP的存儲結構:
EEP是按塊Block存儲的。這個大家應該都看到過一些,比如修改電壓的Block67,和線路選擇及飛機相關的Block71等。而EEP由主要分為兩部分:EEFULL和EELITE。EEFULL主要是和機器軟件的相關配置有關的內容,而EELITE更多的是和設備信息有關的內容(這些是我的理解)。從EEP中尋找Block是通過索引的,這樣做有很大的好處,會編程的人都知道,鏈表比數組有更大的靈活性。EEP也是這樣,如果Block的大小和結構發生變化,不會影響到其他的Block。在EEP中有6個EEFILL區和一個EELITE區,每個是2000H字節。開始地址分別是0000H,2000H到A000H。而從C000H到FFFFH是EELITE。每個區的索引都放在最后面,每條記錄12個字節。數據結構如下:
EEPROM Block Directory Record format:
OffsetSize Description
---------------------------------------------------------
00BYTE Record starting marker [00,F0,FC] 記錄標志為00,F0或FC
00= Unused block? 不用的Block
F0= Deleted block?刪除的Block
FC= Used block? 當前有效的Block
01BYTE Version. [00..05]
Always zero in LBA_FS & EE_FS blocks. EE_FS在Flash中
Only EELITE blocks that has 04 & 05.
02Word Size
04DWORDLinear address of data 此處為Flash地址
08WORD ID 為平常說的BlockXX,如Block67
0ABYTE ??? [00,01,02]
Always zero in EEFULL & EELITE blocks.
Always 02 in LBA_FS & EE_FS blocks.
0BBYTE Record ending marker [00,F0,FC,FF]
FF= No more record
注:此資料來自于SL456688i
現舉例如下:Block71
FC 01 C8 00 74 F9 FF 00 47 00 00 FC
FC 開始標志,當前有效
01 版本
C8 00文件大小00C8H = 200
74 F9 FF 00Block地址,為Flash地址00FFF974H,轉換為文件地址為FFF974H - A00000H = 5FF974
47 00Block ID 0047H , 0047H = 71
00 在EELITE 中為 0
FC結束標志。
2、目前我知道的有意義的Block如下。
0043H: 電池相關
0047H: 線路設定和飛機檢查(可能只與第一個字節有關)
138FH: 對比度
1391H: IMEI Block 00
004CH: IMEI Block 01
1390H: IMEI Block 02
13D5H: IMEI Block 03 含有這四個Block的文件就是Map文件,Map問題我會在寫一篇。
Battery status (0043):
- 0000H : BattMin Data1
- 0002H : BattMin Data2
- 0004H : BattMax Data1
- 0006H : BattMax Data2
- 0008H : BattTemp Data1
- 000AH : BattTemp Data2
- 000CH : EnvTemp Data1
- 000EH : EnvTemp Data2
- 0010H : VCXOTemp Data1
- 0012H : VCXOTemp Data2
注:以上來自于RizaPN
另外還有1394H:電池序列號和標稱電壓(見SL45668i的帖子)
1389H - 13ABH 的36中的24個和java激活有關(部分有效)
二、Flash(軟件)及其相關問題。
1、Flash中的數據:
Flash中的數據主要是指圖片、鈴聲和字體Fonts,他們也是通過索引存儲的。
鈴聲的是每條記錄八個字節,有用的是地址和索引號。在中文5508版里這個索引在44E526H處
圖片的是每條記錄八個字節,前面兩個是大小,用如下表示width * hight。中間是01 00
最后是地址,5508的索引在500000H處。
字體的我沒有看
有一個需要注意的是,這些索引記錄里的地址到Flash地址的轉換關系為:
索引地址 Flash地址File地址
RLWORD FLWORD=RLWORD FLWORD
RHWORDFLWORD=FHWORD*4000HFLWORD - 00A0H
File_ADDRESS = ( RHWORD * 4000H + RLWORD)- 00A0
例如5508的第一條圖片記錄 04 04 01 00 FA 3F A1 03
為4 x 4 的圖片,Flash地址為 E87FFAH 文件地址為 487FFAH
用RizaPN的軟件FFMod可以處理鈴聲,即把你的鈴聲導入到Flash中代替系統鈴聲,他本來也可以處理圖片和Fonts,但是用在中文版上好像不能找到索引,不能處理圖片。
我目前正在寫一個處理圖片的程序,用來導出和導入Flash中的圖片,比如更改開關機圖片(112 -137)。
2、Flash的程序修改:
這到了關鍵的地方了,前面所有的東西都是數據方面的,而現在要修改程序的流程,是真正個性化6688,增加他的功能的地方。
這個我剛開始做,其實主要的任務是尋找常用函數的入口地址和函數標示符,所有的修改都基于這些,他就相當于系統提供你的API,當然西門子不愿意給你,如果在C的基礎上更改這些是易如反掌,但反匯編后在做就難度很大了,而且不像PC機一樣,可以動態調試,所以只能看靜態的代碼。但幸好RizaPN已經做了非常多的工作,雖然是在56上,當并不是所有的模塊都更改了,所以,對照與56版的FLASH,相當于RizaPN已經給我們做了一個內容相當多的注釋,所以說,我們已經站在了巨人的肩膀上。簡單的東西可以直接比對兩個版本,找到相同的地址,然后修改即可,但重要的反復的實驗,找到盡可能多的函數地址和ID。這是做一切修改的基礎。下午時,我對照于RizaPN的修改,更改了55版的#鍵。這里做一個注解給大家:
RizaPN做的修改:
Modify #[UpperRight] from "View New CB" to "Java"
It will keep the ability to use # button to view the flash message when it is there...
If you already apply this patch with the old values, don't forget to reset all data to the original ones
0x3B31AC : 7D 03 -> B0 0D ...
0x3B3398 : DA D9 1A 49 -> DA D8 B4 E1 ... (see table)
我們就先找到這個#鍵在5508所對應的地方,看DA D9 1A 49反匯編后就是CALL D9491A 而對應的文件地址是
CALL 39491A,我們在56中找到這個地方,拷貝一定數量的字節,然后在5508中尋找相同的部分,我找到兩處,在去除跳躍地址的影響,和對后面的比對,找到一處在3C7F4。然后搜索DAD3F4C7,找到一處0x3634a6。比對和56其他部分,發現相同。因為除調用地址不同,其他指令應該相同。認定這就是5508中#鍵的處理。在根據和56中相同的偏移量找到表示符15 04(0415),然后從SL456688i的修改中,找到收件箱的地址和標示。分別為DAD360A0:38 01 把此值放于對因位置。寫入開機,發現#的功能已變為收件箱。當然這是很幸運的,估計更多的時候是錯誤,因為這里有很多的猜測和運氣。但這是一種方法,你可以用這個來測試其他的函數入口。因為Crack本來就需要很多的猜測和運氣。比如我看到"讀C"得下一個地址DAD15A06 (31065A),放進去,發現是用戶群組。
好了,很累了,就先寫這些吧!另外我發現寫MAP只是寫了上面的四個Block,根本不必非的在98下寫,我會在寫一篇關于如何寫MAP的。
本來還向介紹一下西門子的函數庫Bfb95eg.dll的一些內容,這個庫是很重要的,有很多的軟件用它來和手機進行通訊,它可以把啟動代碼載入到手機上執行,讀寫一些塊更是小意思。國外的一些網站對它研究很深,他們把它反匯編了,然后再還原成Dephi代碼。他對寫和西門子的手機通訊程序很有用,比如你想寫一個修改手機某些 Block的程序。如下供參考。
Function WmobileOn(MobHandle : TmobHandle; Baud : DWord) : Dword; cdecl; external "BFB95EG.DLL"
Disassembled function fith some my coments:
Code:
.text:10011670 ; Exported entry 211. WMobileOn
.text:10011670
.text:10011670 ; --------------- S U B R O U T I N E ------------------------------------
.text:10011670
.text:10011670 ; Attributes: bp-based frame
.text:10011670
.text:10011670 public WMobileOn
.text:10011670 WMobileOn proc near
.text:10011670
.text:10011670 BaudRate = dword ptr -4
.text:10011670 MobHandle = dword ptr 8
.text:10011670
.text:10011670 push ebp
.text:10011671 mov ebp, esp
.text:10011673 push ecx
.text:10011674 lea eax, [ebp+BaudRate] ; LOAD Effective Address
.text:10011677 push eax
.text:10011678 mov ecx, [ebp+MobHandle]
.text:1001167B push ecx
Get Com port Baud rate Code:
.text:1001167C call WGetComConfiguration ; Call Procedure
.text:10011681 add esp, 8 ; Add
.text:10011684 test eax, eax ; Logical Compare
.text:10011686 jnz short Configure_ComPort ; Jump if Not Zero (ZF=0)
If Success then jump to configure Com port, else jump to ErrorRet label Code:
.text:10011688 xor eax, eax ; Logical Exclusive OR
.text:1001168A jmp ErrorRet ; Jump
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 射洪县| 儋州市| 民县| 玉田县| 南宫市| 通州市| 福安市| 三江| 堆龙德庆县| 阜城县| 青河县| 巴塘县| 汝阳县| 马龙县| 监利县| 蒲城县| 长汀县| 股票| 灯塔市| 台南县| 皋兰县| 雷山县| 衡南县| 南陵县| 阿克苏市| 灵宝市| 望都县| 佛冈县| 任丘市| 信丰县| 汶上县| 屯昌县| 安化县| 明溪县| 武冈市| 通河县| 拉萨市| 东至县| 通江县| 南投市| 新和县|