Alt 06.06.2003, 22:39   #1
Acidmrp
Handy Gott
Benutzerbild von Acidmrp
Registriert seit: 17.11.2002
Beiträge: 2.723
## how to flash patch ## 1 ##

Hallo,


ich hab vor hier einen kleinen Crash Kurs in Sachen Patche
erstellen zu posten. Zuerst hab ich mir überlegt, eine
komplette Anleitung zu erstellen, dass werd ich jetzt aber
nicht machen, da ich mir nicht sicher bin ob überhaupt genug
Interesse besteht.

Ich werde jeden Abschnitt in einem extra Beitrag posten
damit man besser darüber diskutieren kann. Je nach Feedback
seh ich ja dann ob es jemanden interresiert und ob es sich
lohnt weiter zu machen

ich werde immer von der SME45i FW ausgehen, das ganze
lässt sich aber auch ohne Probleme mit den anderen FW's
durchziehen


Was bekannt sein sollte:
- wie man ein Fullbackup von seinem Handy macht und dies
wieder einspielt
- wie man sein Handy repariert, wenn man es Softwaremässig
zerschiesst
- wie ein Hexeditor zu bedienen ist
- wie der Language Editor von Skylord zu bedienen ist
- wie ffMod zu bedienen ist
- wie VKLay zu bedienen ist
- irgendeine Programmiersprache
- Grundkenntnisse in Assembler

Das braucht ihr alles:

- Hexeditor eurer Wahl

- IDA pro Advanced, ich ziehe die Version 4.1.5 den neueren
vor.

- Flasher...

- ffMod

- Siemens Language Editor
- LGP Tools von Chris922
- VKlay

- µVision2 für C166 (Demo reicht)

- RizaPN's ftools www.gsm-dev.de/ftools.zip

- viel Zeit

die rotgedruckten Sachen braucht ihr für die erste Lession


Also kommen wir zur ersten Lektion:

Menüpunkte ändern

um Menüpunkte zu verändern müssen wir noch gar nicht
anfangen, die Software zu disassemblen, das geht sehr einfach
und ist daher ein guter Start.

Erstellt euch ein FuBu mit einer speziellen Sprachdatei.
Diese sollte so aufgebaut sein:

; Language data
;
LangId 0
String 0, "0 <91>+Liste"
String 1, "1 <95>1 Stunde"
String 2, "2 <95>1 Tag"
...

also immer vor den Text noch die Nummer des Textes hinsetzen. Am besten nehmt ihr gleich hex Werte, dann
müsst ihr später nicht immer umrechnen.

Nehmt zum Bearbeiten die LGP Tools von Chris922.

Ich habe mir 2 Sprachpacks in das Handy eingebunden,
einmal Deutsch ohne Zahlen und einmal mit Zahlen vor
den Texten.

Dann flasht ihr diese FW.

Ihr seht jetzt vor jedem Text die Nummer des Textes.
Jetzt wollen wir mal den Menüpunkt "Meldungen" in "neue
SMS" umwandeln.

-> Fubu mit im Hexeditor öffen
-> vor Meldungen steht die Zahl 0x138 wenn man das Handy
auf Grossschrift umstellt (8,9/1/2/5) steht die Zahl 0x136
davor.

Zahlen werden oft als zwei Bytes dergestellt, wobei die
Wertigkeiten vertauscht sind: 0x1122 => 0x2211


wir haben also die beiden hex Werte: 3801 und 3601
also suchen wir nach 38013601.

Der Wert kommt zwei mal in der FW vor, also muss man
kurz mit VKLay testen welcher der richtige ist einfach durch
andere Werte erstetzen (hier jeweils um eins höher)

5AA7E: 38013601 39013701

und gleich die erste Stelle ist ein Volltreffer wir haben
den Text von "Meldungen" in "Meldungstyp" geändert.

Jetzt hat jeder Menüpunkt noch eine Sprungadresse zu der
gesprungen wird wenn man ihn anwählt.

Hier kommt jetzt fmenu zum Zuge:
[i]fmenu fubu.bin 18c,4e0,1e0[i] eingeben
die drei Werte stehen für Menüpunkte die im Hauptmenü
hintereinander kommen. Als Ergebnis kommt:

Found index at address 05AC38
- menu items address : 85AA56
- subroutine address : 85A988
- number of item : 12 (decimal)

1. 29C8 0216 13B1 13B2 0000 0000 0000 0503 0559 => 85A988: Goto_F66026
2. 29C8 0216 13B6 13B5 0000 0000 0000 0503 0559 => 85A98C: Goto_F6602A
3. 29F4 0216 0138 0136 0000 0000 0000 0003 0559 => 85A990: Goto_F66046
4. 2A04 0216 018C 018B 0000 0000 0000 0003 0559 => 85A994: Goto_F66052
5. 29E6 0216 04E0 04E1 0000 0000 0000 0003 0559 => 85A998: Goto_F66062
6. 29D6 0216 01E0 01DF 0000 0000 0000 0003 0559 => 85A99C: Goto_F6602E
7. 2A14 0216 0188 0186 0000 0000 0000 0003 0559 => 85A9A0: Goto_F6606A
8. 2A22 0216 0050 004F 0000 0000 0000 0003 0559 => 85A9A4: Goto_F66072
9. 2A32 0216 0214 0213 0000 0000 0000 0003 012C => 85A9A8: Goto_F6607A
10. 2A3C 0216 00AC 00A8 0000 0000 0000 0003 03E8 => 85A9AC: Goto_F6605A
11. 2A4C 0216 04B6 04D7 0000 0000 0000 0003 03E8 => 85A9B0: Goto_F66036
12. 29B8 0216 0206 0205 0000 0000 0000 0003 0559 => 85A9B4: Goto_F6603E

das sind die Hauptmenüpunkte. Das Goto ist die Sprungadresse,
der Wert davor ist die Position der Sprungadresse im Flash,
allerdings mit einem Offset von 0x800000

durch probieren hab ich rausgefunden, dass Meldungen der
3. Menüpunkt ist:

3. 29F4 0216 0138 0136 0000 0000 0000 0003 0559 => 85A990: Goto_F66046

also geht man im Hexeditor an die Adresse 0x05A990 und
findet dort: 2660F600
Das ist das Sprungziel (wieder umgekehrt: 00F66026)

Diese Stelle merkt man sich jetzt und macht das gleiche
für den Menüpunkt "Neue SMS" dann schreibt man einfach
das Sprungziel von "neue SMS" in das von "Meldungen"
und ändert den Text noch entsprechend.


So, dass sollte genügen für den Anfang. Ich bin gespannt
wer mir als erstes den richtigen VKLay Patch dafür sagen
kann: "Surf & Fun" --> "Taschenrechner"

Fragen nicht per Mail, sondern hier her, dann hat jeder was davon.
Acidmrp ist offline   Mit Zitat antworten
Alt 06.06.2003, 23:27   #2
std
Superuser
Registriert seit: 03.12.2002
Beiträge: 259
Schöne Anleitung! Aber schon daran:
Zitat:
- irgendeine Programmiersprache
- Grundkenntnisse in Assembler
scheitert es bei mir. Leider!
Aber da ich mir zum Thema PC alles selber beigebracht habe (einschließlich zusammenbau desselben) werde ich für so etwas vielleicht auch noch irgendwann Zeit finden.
Interessieren tuts mich auf jeden Fall, nur hab ich im Moment keine Zeit für Nachtschichten vorm/am PC.
std ist offline   Mit Zitat antworten
Alt 07.06.2003, 10:21   #3
juggernaut
alles patchen was kommt
Registriert seit: 02.05.2003
Beiträge: 127
Zitat:
Original geschrieben von std
Aber schon daran: ... scheitert es bei mir.
mir geht´s genauso... irgendwann einmal habe ich sogar mal was in ASM programmiert, das war noch zu MASM 4.01 zeiten... TP 6.0 von borland und ein bißchen 4DOS-batch-programmierung habe ich auch mal gemacht... aber das ist alles 10 jahre her, und heutzutage hat man nicht mehr die zeit für experimente... schade eigentlich.

läuft irgendwie verkehrt herum: früher hatte man zeit & lust, aber meistens nicht die kohle, um sich zB ein ME45 zuzulegen, jetzt hat man zwar die kohle, aber nicht mehr die zeit... jetzt ist man mehr oder weniger zum reinen consumer geworden und benutzt sogar früher verhasste M$-produkte... tief gesunken...

naja, acid steht das auch noch bevor in seinem jugendlichen alter

trotzdem danke @acid für die mühe und das engagement! von solchen leuten hat früher das netz gelebt und wird es wahrscheinlich auch zukünftig noch
juggernaut ist offline   Mit Zitat antworten
Alt 07.06.2003, 12:41   #4
Andy1988
Benutzer
Registriert seit: 07.05.2002
Beiträge: 67
Ich kann auch nicht coden. Ich hab voll viele Ideen, was man alles Programmieren könnte. Zum Beispiel ein Programm, womit man bei einem Siemens Handy die Akku und Netzsymbole verscjieben kann. Aber ich kann es nicht. Irgendwie will ich es auch lernen, aber ich hab keine Lust zu "lernen". Voll komisch bei mir, is aber so *gg*
Andy1988 ist offline   Mit Zitat antworten
Alt 07.06.2003, 13:01   #5
Acidmrp
Handy Gott
Benutzerbild von Acidmrp
Registriert seit: 17.11.2002
Beiträge: 2.723
@Andy1988 wenn du das können willst aber nicht lernen kann ich dir nicht helfen. Ideen für
Programme hätte ich auch genug. Leider weiß ich niemand zu dem ich sagen kann "mach mal"

@juggernaut bis auf die Sache mit der Zeit hast du aber doch schonmal die besten
Voraussetzungen...

Das ganze ist auch eine gute Möglichkeit sich mal mit Assembler auseinander zu setzen, also es
zu lernen.

Zu mindest aber diese erste Lektion sollte jeder auch ohne programmierkenntnisse meistern können
Acidmrp ist offline   Mit Zitat antworten
Alt 07.06.2003, 13:18   #6
Andy1988
Benutzer
Registriert seit: 07.05.2002
Beiträge: 67
Zitat:
Original geschrieben von Acidmrp
@Andy1988 wenn du das können willst aber nicht lernen kann ich dir nicht helfen. Ideen für
Programme hätte ich auch genug. Leider weiß ich niemand zu dem ich sagen kann "mach mal"

@juggernaut bis auf die Sache mit der Zeit hast du aber doch schonmal die besten
Voraussetzungen...

Das ganze ist auch eine gute Möglichkeit sich mal mit Assembler auseinander zu setzen, also es
zu lernen.

Zu mindest aber diese erste Lektion sollte jeder auch ohne programmierkenntnisse meistern können
Ich bin halt Lernfaul *ggg* Ich muss mal VB lernen. Nächstes oder übernächstes Jahr hab ich das eh in Informatik und das ist ein Hauptfach und wenn ich das schon kann, kommt das bestimmt gut. Mein Lehrer brauch das ja nicht zu wissen *ggg*
Andy1988 ist offline   Mit Zitat antworten
Alt 07.06.2003, 13:29   #7
Acidmrp
Handy Gott
Benutzerbild von Acidmrp
Registriert seit: 17.11.2002
Beiträge: 2.723
@Andy1988 also mit der Einstellung lernst du das zu 100% nie richtig. Man kann sowas nur lernen
wenn man davon absolut begeistert ist und sich kaum noch davon weg kommt. Anders seh ich
kaum eine Chance. Sorry, aber wie willst du 10 Stunden an ein paar Zeilen tüfteln, wenn es dich
im Grunde nicht interresiert? Das ist bei mir oft schon echt hart an der Grenze, dass ich ein Loch
in meinen Monitor hau
Acidmrp ist offline   Mit Zitat antworten
Alt 07.06.2003, 13:34   #8
Andy1988
Benutzer
Registriert seit: 07.05.2002
Beiträge: 67
Mich interessiert es, und ich hab auch voll Respekt vor so leuten, die in 5 Minuten ein Programm fertig haben. Und ich will es ja können, aber ich will da nich für lernen *ggg*
Andy1988 ist offline   Mit Zitat antworten
Alt 07.06.2003, 13:57   #9
brummbaer
Gast
Beiträge: n/a
@Andy: Also es geht ja auch nicht um das Lernen, das über Arbeiten abgefragt wird. Und um anzufangen mußt du auch nicht erstmal 1500 Seiten auswendiglernen. Das was Du brauchst kommt dann mit der Zeit. Geduld ist eher gefragt. Wie Acid schon gesagt hat braucht es manchmal eine ganze Zeit, bis man ein Problem gelöst hat. Ab und zu muß man dann mal in Büchern oder im Netz nach bestimmten Funktionen oder ähnlichem suchen. In 5 Minuten schafft mein meines Wissens gerade mal ein "Hallo Welt"-Programm mit Namensabfrage und Datumsanzeige (Hallo Welt XP).

@Acid:
Also die Idee mit dem Crash-Kurs finde ich auch Klasse. Kann zwar kein ASM und Zeit hab ich auch nicht. Aber für ein bißchen Knobbeln und um ein paar Gimmicks ins Handy zu basteln finde ich vielleicht ab und zu nochmal ein bißchen Platz.

Hier schon mal ein paar Fragen:
Zitat:
fmenu fubu.bin 18c,4e0,1e0
Die Syntax kapiere ich nicht. Gibt es irgendwo was dazu? Und ist die gleich für eine andere Firmware? Wie kriege ich die Sprungadressen für die Untermenüs (Taschenrechner ist ja im Office (4,7)?

und Gruß, brummbaer
  Mit Zitat antworten
Alt 07.06.2003, 14:15   #10
Acidmrp
Handy Gott
Benutzerbild von Acidmrp
Registriert seit: 17.11.2002
Beiträge: 2.723
Syntax:
fmenu <fubu> MenütextNummer [, MenütextNummer] [, MenütextNummer] [, MenütextNummer] [, MenütextNummer] [, ...]

du bekommst die 3 Zahlen nur raus, wenn du dir die Firmware mit den Zahlen vor den Texten
flasht.

Diese können somit für jede FW anders sein.

dann gibt man von einem Menüpunkt ein paar Nummern an. je mehr je besser, 3 sind eine
gute Wahl. Diese müssen genau hintereinander so vorkommen. Wenn fmenu mal nichts
ausspuckt, einfach mit anderen Menüpunkten testen, es kann vorkommen, dass zwischen
zwei Menüpunkten ein versteckter ist (z.B. DeveloperMenü) und daher die Reihenfolge
nicht so ist, wie sie angezeigt wird.
Acidmrp ist offline   Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Welche Box ist die Beste ?? huzein Samsung 40 11.03.2008 13:43
## how to flash patch ## 2 ## Acidmrp Patches, Know How & Anleitungen 28 07.11.2004 11:29
Making a Patch for Bigger MC60 Drive C by deleting unneeded languages ThEDaMn3d Softwaremoddingzone 0 17.06.2004 20:06
Wie funktioniert der Flash SMS Sender Patch? Devil123 Softwaremoddingzone 39 30.03.2004 08:04
ME45 > ME45i - manche Patches lassen sich nicht aktivieren greenland Flash, Update, Unlock 1 26.04.2003 16:19


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:34 Uhr.


Powered by vBulletin®, Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.