ARCHIV
NokiaPort.de
ARCHIV/2002 - NokiaPort.de/RE

[ExiTuS], NokiaPort.deNokia DCT-3 Flash Reverse Engineering

Hier findest du Informationen über das Flash-File. Erklärung von einzelnen Bytes, Strings, usw..


Einführung Display-Zones

Hier findest du Informationen zu den einzelnen Display-Zones im Nokia. Je nachdem welche Funktion das Handy ausführt oder in welchem Menübildschirm es sich befindet, wird das Display in verschiedene "Zonen" eingeteilt. Alle einzelnen Zonen werden im Flash-File in einer Tabelle gespeichert. Hier ist eine Liste der Offset-Adressen für die Zone-Table in versch. Modellen: Modell, Vers.: Func.-Start: Zones-Start: 2100 v5.05 0012DBEC 0012DC14 (größeres Display - 96x65px) 3210 v6.00 000D6548 000D656C 3310 v5.57 00115AFB 00115B14 3310 v5.59 0011A11C 0011A140 3330 v5.40 00209F38 00209F5C 3350 v5.05 00224958 00224970 (größeres Display - 96x65px) 3410 v4.26 ? 0029ED74 3610 v5.21 0025F2D8 0025F2EC (größeres Display - 96x65px) 5110 v5.27 000A429C 000A42BC 5110 v5.30 000A3A30 000A3A50 5110i v5.53 000AB2EC 000AB30C 5130 v5.71 000A66EC 000A670C 5210 v5.18 0023B9E4 0023BA08 5210 v5.20 0023BEC0 0023BEE4 5510 v3.53 002133B8 002133DC 6110 v5.48 000B7E50 000B7E68 6150 v5.23 000D70D8 000D70F8 6150 vP5.23 000DD1AC 000DD1CC 8210 v5.27 00130674 00130694 8250 c5.00 00127338 00127358 8250 v5.04 00127804 00127824 8850 v5.31 00130E08 00130E28 Wenn ihr inzwischen mehr Offsets wisst, mailt mir. Der String für eine Display-Zone besteht aus 12 Bytes und ist folgendermaßen aufgeteilt: [FF] [X1] [Y1] [X2] [X2] [00 00 00 00 00 0X] FF Eine Art Anfangsbyte (hier fängt der String für eine Zone an). es fängt nicht immer mit "FF" an. (Ich denke, dass Strings mit einem anderen Startbyte eine Art Sub-Strings sind.) X1 Ursprung der Zone Abstand zum linken Rand (in hex), von wo die Zone beginnt. Y1 Abstand zum oberen Rand (in hex), von wo die Zone beginnt. X2 Größe der Zone Breite der Zone in Pixel (in hex). Y2 Höhe der Zone in Pixel (in hex). 00000000000X wird in den meisten Fällen nicht genutzt. Hin und wieder steht als letzte Stelle eine Ziffer 1, 2, oder 3. Dies könnte eine Art Priorität sein (im Vordergrund - im Hintergrund)(?) Alle Werte sind in HEX angegeben und müssen (mit dem Windows-Rechner) in Dezimal umgewandelt werden, um auf die richtige Anzahlen der Pixel zu bekommen. Man findest die Table im Flash, in dem man nach "FF 06 07" oder "FF 00 00 54 30" sucht. Hier eine Auflistung aller einzelnen Display-Zonen als Beispiel (im Nokia 5130 v5.71): Nr.: Offset: String: 1 00 2A 67 18 FF 00 00 54 30 00 00 00 00 00 00 00 0.0.1 2 00 2A 67 24 16 06 07 48 1C 00 00 00 00 00 00 00 0.1.1 3 00 2A 67 30 FF 06 07 48 1E 00 00 00 00 00 00 00 0.0.2 4 00 2A 67 3C 16 00 07 54 1C 00 00 00 00 00 00 00 0.2.1 5 00 2A 67 48 FF 00 07 54 1E 00 00 00 00 00 00 00 0.0.3 6 00 2A 67 54 FF 00 07 54 14 00 00 00 00 00 00 00 0.0.4 7 00 2A 67 60 FF 00 1B 54 0A 00 00 00 00 00 00 00 0.0.5 8 00 2A 67 6C 16 06 07 09 1C 00 00 00 00 00 00 00 0.5.1 9 00 2A 67 78 FF 06 07 09 1E 00 00 00 00 00 00 00 0.0.6 10 00 2A 67 84 16 00 00 54 23 00 00 00 00 00 00 00 0.6.1 11 00 2A 67 90 FF 00 00 54 25 00 00 00 00 00 00 00 0.0.7 12 00 2A 67 9C 16 00 07 54 1C 00 00 00 00 00 00 00 0.7.1 13 00 2A 67 A8 FF 00 07 54 1E 00 00 00 00 00 00 00 0.0.8 14 00 2A 67 B4 16 00 00 54 23 00 00 00 00 00 00 00 0.8.1 15 00 2A 67 C0 FF 00 00 54 25 00 00 00 00 00 00 00 0.0.9 16 00 2A 67 CC 16 00 07 54 1C 00 00 00 00 00 00 00 0.7.1 17 00 2A 67 D8 FF 00 07 54 1E 00 00 00 00 00 00 00 0.0.8 18 00 2A 67 E4 16 00 00 54 30 00 00 00 00 00 00 00 0.0.1 19 00 2A 67 F0 FF 00 00 54 25 00 00 00 00 00 00 00 0.0.9 20 00 2A 67 FC 16 00 07 54 1C 00 00 00 00 00 00 00 0.7.1 21 00 2A 68 08 FF 00 07 54 1E 00 00 00 00 00 00 00 0.0.8 22 00 2A 18 14 16 06 07 48 1C 00 00 00 00 00 00 00 0.1.1 23 00 2A 68 20 FF 06 07 48 1E 00 00 00 00 00 00 00 0.0.2 24 00 2A 68 2C 16 06 07 48 1C 00 00 00 00 00 00 00 0.1.1 25 00 2A 68 38 FF 06 07 48 1E 00 00 00 00 00 00 00 0.0.2 26 00 2A 68 44 FF 00 07 54 08 00 00 00 00 00 00 00 00 0.1.0 27 00 2A 68 50 16 06 07 48 1C 00 00 00 00 00 00 00 01 0.1.1 28 00 2A 68 5C FF 06 07 48 1E 00 00 00 00 00 00 00 0.0.2 29 00 2A 68 68 16 00 23 54 0D 00 00 00 00 00 00 00 0.2.0 30 00 2A 68 74 FF 00 25 54 0B 00 00 00 00 00 00 00 0.3.0 31 00 2A 68 80 FF 00 00 54 07 00 00 00 00 00 00 00 00 0.4.0 32 00 2A 68 8C FF 06 00 48 07 00 00 00 00 00 00 03 0.5.0 (Statuszeile mit Uhrzeit, Symbole, und Menüzahlen) 33 00 2A 68 98 16 00 00 06 23 00 00 00 00 00 00 03 0.6.0 34 00 2A 68 A4 FF 00 00 06 25 00 00 00 00 00 00 02 0.7.0 35 00 2A 68 B0 16 4E 00 06 23 00 00 00 00 00 00 02 0.8.0 36 00 2A 68 BC 16 4E 00 06 25 00 00 00 00 00 00 00 0.9.0 Hier sind einige Offset-Adressen im Flash, die in etwa zu den Display-Zones führen: 00232784 "00 2A 68 E8" 00235584 "00 2A 68 D0" 0023558C "00 2A 67 0C" 00235774 "00 2A 67 08" 00236CE0 "00 2A 67 08" 002372D0 "00 2A 67 08" Man sieht, dass nicht zu jeder Zone hingewiesen wird. Entweder die einzelnen Zones werden durch eine eigene Table zugeordnet, oder in jeder Menüfunktion, in der auf die Display-Zones zugegriffen wird, wird schon in der Funktion vereinbart, zu welche Zone es geht! Mehr Infos folgen...

©2002 [ExiTuS], NokiaPort.de