**************************************************************************
* Reverse
Engineering
*
* Indikator Informationen (deutsch/german)
*
* (c)2002 [ExiTuS], NokiaPort.de, NokiaPort.de/Softtune, NokiaPort.de/RE *
**************************************************************************
-> Einführung Indikatoren
Hier findest du einige nützliche Infos zu
den Indikatoren (oder auch Netz-, bzw. Akkubalken)
In diesem Beispiel erkläre ich die Infos an einem Flash-File eines Nokia 3330
v4.16. Hatte es grade zur Hand ;-)
Wie immer, alle Beispiele auf den Snapshots von HIEW(Hackers View) [Download]
Netz-Symbol:
| Byte-String zum Netz-Symbol. |
Die in der Tabelle rot markierten Werte sind Angaben der Größe!
| 03 05 3F 05 03 | Byte-String zum
Netz-Symbol. (Aus den Pixeln des Symbols ergibt sich dieser String). |
|
| C0 46 C0 | NOP (no operation). | |
| 00 C0 46 C0 | NOP (no operation). | |
| 00 2A 49 20 | Offset-Adresse zum Netz-Symbol. | |
| 00 2A 49 28 | Offset-Adresse zu einer
Stelle nach dem Netz-Symbol. An dieser Stelle befindet sich ein 00(hex), eine Art Ende-Zeichen. |
|
| 05 | 5(dez) | Breite des Netz-Symbols. |
| 06 | 6(dez) | Höhe des Netz-Symbols. |
| 00 00 | Eine Art Trennzeichen (gibt das Ende des Strings an). | |
Akku-Symbol:
| Byte-String zum Akku-Symbol. |
Die in der Tabelle rot markierten Werte sind Angaben der Größe!
| 3E 23 23 3E 00 | Byte-String zum Akku-Symbol. | |
| C0 46 C0 | NOP (no operation). | |
| 00 2A 49 38 | Offset-Adresse zum Akku-Symbol. | |
| 00 2A 49 3C | Offset-Adresse zum Ende des Akku-Symbols. | |
| 04 | 4(dez) | Breite des Batterie-Symbols. |
| 06 | 6(dez) | Höhe des Batterie-Symbols. |
| 00 00 | Eine Art Trennzeichen (gibt das Ende des Strings an). | |
Positionierung der Netz-/Akku-Balken (Indikatoren):
| Positionierungs-String zum Akku-Symbol. |
Die in der Tabelle rot markierten Werte sind die Angaben der Positionierung!
| 00 2A 49 40 | Offset-Adresse für das Ende des Akku-Symbol-Strings. (00(hex)) | |
| 50 | 80(dez) | Horizontal-Position des
Akku-Symbols (gesehen von der ersten Pixelreihe oben). 80 Pixel nach rechts. Insgesamte Breite des Displays=84 also bleiben 4 Pixel für die Breite des Symbols. |
| 1F | 31(dez) | Vertikal-Position des
Akku-Symbols (gesehen von der ersten Pixelreihe links). 31 Pixel nach unten. Insgesamte Höhe des Displays=48 also bleiben 17 Pixel für die Höhe des Symbols (Akku-Symbol ist jedoch nur 6 Pixel hoch). |
| 00 00 00 00 01 00 | Eine Art Trennzeichen (kommt zwischen jedem Positions-String) (?). | |
| 00 2A 49 40 | Offset-Adresse für das Ende des Akku-Symbol-Strings. (00(hex)) | |
| 50 | 80(dez) | Horizontal-Position vom Ende des ersten (kleinen) Akkubalken. |
| 1D | 29(dez) | Vertikal-Position vom Ende des ersten (kleinen) Akkubalken. |
| 00 00 00 00 01 00 | Eine Art Trennzeichen (kommt zwischen jedem Positions-String) (?). | |
| 00 2A 49 2C | Offset-Adresse für das Ende des Akku-Symbol-Strings. (00(hex)) | |
| 00 | 0(dez) | Horizontal-Position des
Netz-Symbols (gesehen von der ersten Pixelreihe links). 0 Pixel nach rechts. also beginnt das Symbol genau am linken Rand des Displays. |
| 1F | 31(dez) | Vertikal-Position des
Netz-Symbols (gesehen von der ersten Pixelreihe oben). 31 Pixel nach unten. Insgesamte Höhe des Displays=48 also bleiben 17 Pixel für die Höhe des Symbols (Netz-Symbol ist jedoch nur 6 Pixel hoch). |
| 00 00 00 00 01 00 | Eine Art Trennzeichen (kommt zwischen jedem Positions-String) (?). | |
| 00 2A 49 2C | Offset-Adresse für das Ende des Akku-Symbol-Strings. (00(hex)) | |
| 00 | 0(dez) | Horizontal-Position vom Ende des ersten (kleinen) Netzbalken. |
| 1D | 29(dez) | Vertikal-Position vom Ende des ersten (kleinen) Netzbalken. |
| 00 00 00 00 01 00 | Eine Art Trennzeichen (kommt zwischen jedem Positions-String) (?). | |
Netz-/Akku-Balken (Indikatoren):
Links neben dem Snapshot wird der zu dem Byte-String gehörende Balken in rot
markiert!
| String des ersten (großen) Balken(Indikator). | |
Die in der Tabelle rot markierten Werte sind die Angaben der Größe und Positionierung(?)!
| FF FF FF FF | Byte-String zum ersten (großen) Balken(Indikator). | |
| 00 2A 49 7C | Offset-Adresse zum ersten (großen) Balken(Indikator): | |
| 00 | 0(dez) | Horizontal-Position des ersten (großen) Balken(Inidikator) (gesehen von der ersten Pixelreihe links) (?). |
| 29 | 41(dez) | Vertikal-Position des ersten (großen( Balken(Indikator) (gesehen von der ersten Pixelreihe oben) (?). |
| 6A F8 | (?) | |
| 04 | 4(dez) | Breite des ersten (großen) Balken(Indikator). |
| 07 | 7(dez) | Höhe des ersten (großen) Balken(Indikator). |
| 00 00 | Eine Art Ende-Zeichen des ersten (großen) Balkens(Indikator). | |
Netz-/Akku-Balken (Indikatoren):
| String des zweiten Balken(Indikator). | |
Die in der Tabelle rot markierten Werte sind die Angaben der Größe und Positionierung(?)!
| FF FF FF | Byte-String zum zweiten Balken(Indikator). | |
| C0 | Platzhalter. Es ist beim zweiten Balken Platz für 1 Byte. Da jedoch nur 3 Bytes benötigt werden, weil der Balken nur 3 Pixel breit ist, wird das letzte Byte durch den Platzhalter C0 ersetzt. Wenn mehr als 1 Byte durch Platzhalter ersetzt werden, folgt nach den "C0" ein "46" usw. Also bei 3 Bytes Platzhalter "C0 46 C0 46" usw. |
|
| 00 2A 49 8C | Offset-Adresse zum zweiten Balken(Indikator): | |
| 00 | 0(dez) | Horizontal-Position des zweiten Balken(Inidikator) (gesehen von der ersten Pixelreihe links) (?). |
| 29 | 41(dez) | Vertikal-Position des zweiten Balken(Indikator) (gesehen von der ersten Pixelreihe oben) (?). |
| 6A F8 | (?) | |
| 03 | 3(dez) | Breite des zweiten Balken(Indikator). |
| 07 | 7(dez) | Höhe des zweiten Balken(Indikator). |
| 00 00 | Eine Art Ende-Zeichen des zweiten Balkens(Indikator). | |
Netz-/Akku-Balken (Indikatoren):
| String des dritten Balken(Indikator). | |
Die in der Tabelle rot markierten Werte sind die Angaben der Größe und Positionierung(?)!
| FF FF | Byte-String zum dritten Balken(Indikator). | |
| 46 C0 | NOP (no operation). | |
| 00 2A 49 A8 | Offset-Adresse zum dritten Balken(Indikator): | |
| 00 | 0(dez) | Horizontal-Position des dritten Balken(Inidikator) (gesehen von der ersten Pixelreihe links) (?). |
| 49 | 73(dez) | Vertikal-Position des dritten Balken(Indikator) (gesehen von der ersten Pixelreihe oben) (?). |
| 6A F8 | (?) | |
| 02 | 2(dez) | Breite des dritten Balken(Indikator). |
| 07 | 7(dez) | Höhe des dritten Balken(Indikator). |
| 00 00 | Eine Art Ende-Zeichen des dritten Balkens(Indikator). | |
Netz-/Akku-Balken (Indikatoren):
| String des vierten Balken(Indikator). | |
Die in der Tabelle rot markierten Werte sind die Angaben der Größe und Positionierung(?)!
| 3F 3F | Byte-String zum vierten Balken(Indikator). | |
| 46 C0 | NOP (no operation). | |
| 00 2A 49 B8 | Offset-Adresse zum dritten Balken(Indikator): | |
| 00 | 0(dez) | Horizontal-Position des dritten Balken(Inidikator) (gesehen von der ersten Pixelreihe links) (?). |
| 49 | 73(dez) | Vertikal-Position des dritten Balken(Indikator) (gesehen von der ersten Pixelreihe oben) (?). |
| 6A F8 | (?) | |
| 02 | 2(dez) | Breite des dritten Balken(Indikator). |
| 07 | 7(dez) | Höhe des dritten Balken(Indikator). |
| 00 00 | Eine Art Ende-Zeichen des dritten Balkens(Indikator). | |
Positionierungen und Größen:
| Strings zu Positionen und Größen. |
Die in der Tabelle rot markierten Werte sind die Angaben der Positionierung!
| 00 2A 49 C8 | Offset-Adresse für ein
leeres Symbol im Flash nach den Indikatoren-Strings. (dieses leere Symbol wird wohl genutzt, um den Platz an dieser Stelle des Displays freizuhalten. (?) |
|
| 00 | 0(dez) | Horizontal-Position des leeren Symbols (gesehen von der ersten Pixelreihe links). |
| 29 | 41(dez) | Vertikal-Position des
leeren Symbols (gesehen von der ersten Pixelreihe oben). also 41 Pixel nach unten. Insgesamte Höhe des Displays=48 |
| 6A F8 | (?) Diese Bytes stehen in jedem String an dieser selben Stelle. | |
| 05 | 5(dez) | Breite des (leeren) Symbols. |
| 06 | 6(dez) | Höhe des (leeren) Symbols. |
| 00 00 | Eine Art Trennzeichen (kommt zwischen jedem String) (?). | |
| 00 2A 49 C8 | Offset-Adresse für ein
leeres Symbol im Flash nach den Indikatoren-Strings. (dieses leere Symbol wird wohl genutzt, um den Platz an dieser Stelle des Displays freizuhalten. (?) |
|
| 00 | 0(dez) | Horizontal-Position des leeren Symbols (gesehen von der ersten Pixelreihe links). |
| 29 | 41(dez) | Vertikal-Position des
leeren Symbols (gesehen von der ersten Pixelreihe oben). also 41 Pixel nach unten. Insgesamte Höhe des Displays=48 |
| 6A F8 | (?) Diese Bytes stehen in jedem String an dieser selben Stelle. | |
| 05 | 5(dez) | Breite der leeren) Symbols. |
| 07 | 7(dez) | Höhe des (leeren) Symbols. |
| 00 00 | Eine Art Trennzeichen (kommt zwischen jedem String) (?). | |
| 00 2A 49 BC | Offset-Adresse für das Ende der Bytefolge des vierten (kleinen) Indikators(Balken). (00(hex)). | |
| 00 | 0(dez) | Horizontal-Position der leeren Pixelreihe zwischen dem ersten (kleinsten) und zweiten (mittleren) Netz-Balken. (gesehen von der ersten Pixelreihe links). |
| 18 | 24(dez) | Vertikal-Position der
leeren Pixelreihe zwischen dem ersten (kleinsten) und zweiten (mittleren)
Netzbalken. (gesehen von der ersten Pixelreihe oben). also 24 Pixel nach unten. Insgesamte Höhe des Displays=48 |
| 00 00 00 00 01 00 | Eine Art Trennzeichen (kommt zwischen jedem *String) (?). | |
| 00 2A 49 AC | Offset-Adresse für das Ende der Bytefolge des dritten (mittleren) Indikators(Balken). (00(hex)). | |
| 00 | 0(dez) | Horizontal-Position vom
Ende des dritten Indikators(Balkken). (An dieser Stelle befindet sich die leere Pixelreihe zwischen zweiten und dritten Indikator(Balken). |
| 10 | 16(dez) | Vertikal-Position vom Ende
des ersten (kleinen) Indikators(Balken). (An dieser Stelle befindet sich die leere Pixelreihe zwischen zweiten und dritten Indikator(Balken). |
| 00 | Eine Art Anfangszeichen der Offset-Adresse. | |
| 00 00 00 00 01 00 | Eine Art Trennzeichen (kommt zwischen jedem *String) (?). | |
| 00 2A 49 90 | Offset-Adresse für das Ende der Bytefolge des zweiten (größeren) Indikators(Balken). (00(hex)). | |
| 00 | 0(dez) | Horizontal-Position vom
Ende des zweiten (größeren) Indikators(Balken). (An dieser Stelle befindet sich die leere Pixelreihe zwischen ersten und zweiten Indikator(Balken). |
| 08 | 8(dez) | Vertikal-Position vom Ende
des zweiten (größeren) Indikators(Balken). (An dieser Stelle befindet sich die leere Pixelreihe zwischen ersten und zweiten Indikator(Balken). |
| 00 | Eine Art Anfangszeichen der Offset-Adresse. | |
| 00 00 00 00 01 00 | Eine Art Trennzeichen (kommt zwischen jedem *String) (?). | |
| 00 2A 49 80 | Offset-Adresse für das Ende der Bytefolge des vierten (großen) Indikators(Balken). (00(hex)). | |
| 00 | 0(dez) | Horizontal-Position. |
| 00 | 0(dez) | Vertikal-Position. |
| 00 | Eine Art Anfangszeichen der Offset-Adresse. | |
| 00 00 00 00 01 00 | Eine Art Trennzeichen (kommt zwischen jedem *String) (?). | |
| 00 2A 49 D0 | Offset-Adresse für das Ende der Bytefolge des leeren Symbols im Flash nach dem Indikatoren-String. (00(hex)). | |
| 00 | 0(dez) | Horizontal-Position des leeren Symbols. |
| 18 | 24(dez) | Vertikal-Position des leeren Symbols. |
| 00 | Eine Art Anfangszeichen der Offset-Adresse. | |
| 00 | Eine Art Anfangszeichen der Offset-Adresse. | |
| 00 00 00 00 01 00 | Eine Art Trennzeichen (kommt zwischen jedem *String) (?). | |
| 00 2A 49 DC | Offset-Adresse für das Ende der Bytefolge des leeren Symbols im Flash nach dem Indikatoren-String. (00(hex)). | |
| 00 | 0(dez) | Horizontal-Position des . |
| 10 | 16(dez) | Vertikal-Position des . |
| ... | ... | |
...weiter Informationen folgen!
Bei Fragen
mailto:[email protected]?Subject=RE/Indikator
(c)2002 [ExiTuS], NokiaPort.de, NokiaPort.de/Softtune, NokiaPort.de/RE