http://satellite-board.de

Aktuelle Zeit: Di 14. Jan 2025, 16:22

Alle Zeiten sind UTC




Ein neues Thema erstellen Auf das Thema antworten  [ 18 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Firm found
BeitragVerfasst: Fr 20. Apr 2001, 22:34 
Offline
Senior Member

Registriert: Do 7. Sep 2000, 22:00
Beiträge: 429
Grundwissen über die Binärdateien (Settings & Firm):
- ID = 55AA
- Headergrösse = 26 Bytes (d.h. Daten ab 1A)
- Zieladresse = Offset 12 (z.B. Firm 7FF30000)

Nun habe ich etwas im Debugmodus rumgespielt:

0h 0mn 0s-testtool> display 2146631680 16
#7ff30000: 4227be60 26d1fb21 24d0482b 2f617342 (`.'B!..&+H.$Bsa/)
#7ff30010: 2028252f 28735025 94232925 d0482b26 (/%( %Ps(%)#.&+H.)

Das entspricht der Firmware in Big Endian...
Bei 2146500608 (= 7FF10000) findet man den Beginn der Settings...


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Sa 21. Apr 2001, 08:59 
Offline
Junior Member

Registriert: Do 29. Mär 2001, 22:00
Beiträge: 66
@ravemax

Sehr interessant... War ja im Debug-Modus auch schon auf der Suche nach der Adresslage der Firmware. Hatte sie aber nicht gefunden (der Adreßraum ist ja auch sehr groß).
Ganz verstanden habe ich das aber noch nicht, kannst Du das nochmal erklären ?
Da ich ja einen Hunni (180CH) habe müßte es doch dann(endlich) möglich sein die Firm auszu"dumpen", oder ?

Bye, Pyro


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: So 22. Apr 2001, 15:23 
Offline
Senior Member

Registriert: Do 7. Sep 2000, 22:00
Beiträge: 429
Zitat:
Da ich ja einen Hunni (180CH) habe müßte es doch dann(endlich) möglich sein die Firm auszu"dumpen", oder ?

Schon geschehen, liegt in Winnetus Download-verzeichnis...

Die ganzen Debugcommandos müsste man mal in einer Textdatei zusammenfassen...


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: So 22. Apr 2001, 17:24 
Offline
Junior Member

Registriert: Do 29. Mär 2001, 22:00
Beiträge: 66
Hi,
super, das mit dem F/W-Dump... wenn man jetzt noch den richtigen Header dazubasteln könnte, dann wären einige hier sicherlich sehr froh. Ich würde dann z.B. auch mal die Kathy-Firm testen (als alter Prontoianer...)

Die Kommandos des Debug-Modus hatte ich schon mal angefangen in ner Textdatei zu sammeln, ist aber bei weitem noch nicht vollständig (habe erst ca. 50 Kommandos drin)...

Bye, Pyro


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: So 22. Apr 2001, 18:33 
Offline
Senior Member

Registriert: Do 24. Aug 2000, 22:00
Beiträge: 212
Nabend zusammen!

Zuerst 'mal von mir eine Warnung vorweg:
Wer keine Ahnung vom Aufbau solcher Firmware-Bins hat sollte auf gar keine Fall versuchen da irgendwas in seinen Receiver zurück zu spielen! Die Folgen können nämlich ziemlich endgültig für das entprechende Gerät sein.

Erfreulicherweise hat Hyundai sich da, ähnlich wie Humax, ein Format einfallen gelassen was zumindest direkte Manipulationen unmöglich macht.

Diese ganze Geschichte mit der dumpen von Firmware und erstellen von modifizierten Bin-Files (bei Humax nennt sich das HDF) haben wir bei Humfree schon von vorne bis hinten durchgekaut. Ist also hier im Prinzip nix neues.

Zu den technischen Details:
Der Speicherabzug von ravemax ist als Firmware-Bin zum Download absolut ungeeignet!
Der Aufbau eines solchen Bin-Files ist wesentlich komplizierter als einfach nur ein lineares Speicherabbild.
Ich hatte schon vor einiger Zeit von Winnetu zwei Firmware-Bins für den UFD bekommen. Da inzwischen klar ist das die UFD Software auch im Hyundai läuft kann man die Ergebnisse meiner Untersuchung denke ich verallgemeinern.

Soweit ich das sehe ist der allgemeine Aufbau der Firmware-Bins der Folgende:

<File Header> (10 Bytes)
<File Header CRC> (4 Bytes)

<Block Header> (12 Bytes)
<Block Data> (variabel)
<Block CRC> (4Bytes)

Block-Header/Data/CRC können sich beliebig oft wiederholen.

Der Aubau des Fileheaders am Beispiel der UFD v2.02:

55 AA -> Magic (File-Header)
01 01 -> Keine Ahnung (Version?)
00 0C -> Block Header Length (12Byte)
5D 08 -> Keine Ahnung
00 C7 -> Anzahl der Blocks (199)
50 64 1A F7 -> CRC-32 der letzten 10 Bytes

Dann kommt der erste Block Header:

5A 5A -> Magic (Block Header)
00 00 -> Block Count / Zero Base
7F F3 00 00 -> 32Bit Speicheradresse
00 00 -> Keine Ahnung
10 00 -> Blocklänge
60 BE 27 ... E0 72 2C -> 4096 Bytes Daten
CE 8E DC 1A -> 32Bit CRC des Blockheader und der Daten (4108Bytes)

Das geht dann immer so weiter. Wie im Fileheader schon angekündigt insegsamt 199 Blöcke.

Ich habe mir mal ein Minimal 'C' Progrämmchen geschrieben mit dem man sich das ansehen kann. Ist aber nix für 'Knöpfchendrücker' Bild, mehr was für Leute die Software entwickeln wollen.
Der Source ist selbstverständlich auch frei... Bild

Um die abgesaugte Hyundai Firmware wieder in einen Receiver laden zu können müsste man also dieses Format wiederherstellen.
Um Veränderungen an einer bestehenden Firmware vornehmen zu können
müsste man dieses Format wieder in ein 'Rohformat' also als lineares
Speicherabbild auf die Platte legen, dann veränderen und wieder ins korrekte Format zurück bringen.

Genau das gleiche Verfahren wenden wir bei Humfree an um Modifikationen an der Firmware der Humax Receiver vornehmen zu können.

Dann kann die Patcherei ja hier auch losgehen! Das wird sicher ein Spass Bild

Der Grosse Nagus


[Dieser Beitrag wurde von GrosserNagus am 22. April 2001 um 20:39 Uhr editiert.]


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: So 22. Apr 2001, 20:44 
Offline
Senior Member

Registriert: Do 7. Sep 2000, 22:00
Beiträge: 429
Nun jetzt ist mir auch klar, warum mich Kathrein nicht bei der Entwicklung eines Editors unterstützen wollte, als ich nach dem BIN-Format fragte.
"Bitte unterschreiben Sie die NDA hier" Bild

Was mich wundert, ist warum manche Kommandos, z.B. "help" zwar anzeigen das ein Parameter un/gültig ist, aber trotzdem keinen Output haben.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Mo 23. Apr 2001, 09:56 
Offline
Senior Member

Registriert: Do 24. Aug 2000, 22:00
Beiträge: 212
@ravemax:

NDA für dieses Format, na ich weiss nich... Bild

Gegen das Downloadformat der Humax Receiver ist das echter Kinderkram, schon weil die Daten nicht komprimiert sind.

Kleiner Nachtrag noch zur Aufstellung oben:
An Position 4 und 6 im File Header stehen nicht 2 16Bit Werte sondern ein 32Bit Wert, der die Gesamtlänge der Nutzdaten (also ohne Header und CRC) darstellt.

Das beschriebene Format ist für alle (mir zugänglichen) Firmwareversionen der UFD Reihe gültig. Ebenso für die Settings-Bins.

Der Grosse Nagus

p.s.
Sorry fürs späte Edit. War noch ein Flüchtigkeitsfehler drin! Bild

[Dieser Beitrag wurde von GrosserNagus am 23. April 2001 um 13:31 Uhr editiert.]


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Mo 23. Apr 2001, 21:05 
Offline
Senior Member

Registriert: Do 7. Sep 2000, 22:00
Beiträge: 429
@nagus:
Für die Kompression des Humax habe ich 20 mins gebraucht - baut doch auf einer OpenSource Delphi-Komponente auf Bild

Was ich mich frage, ist wie man die Grösse der Firmware rausfindet, oder ist die immer konstant ?

@pyro:
Irgendeine Möglichkeit gefunden die Firm über den Debugmodus zu schreiben ?
Wie bekommt man das "Help" zum laufen ?


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Di 24. Apr 2001, 05:50 
Offline
Junior Member

Registriert: Do 29. Mär 2001, 22:00
Beiträge: 66
@ravemax
Wenn Du mit "schreiben" meinst, daß man darüber eine Firm (ggf. gepatcht) wieder zurück/überschreiben kann, dann leider NEIN.
Beim Help-Modus bin ich genauso ratlos. Als Fehlermeldung auf 'help xxx' gibt es ja "unrecognised command or macro". Selbst wenn man ein Macro erstellt und dann 'help <macroname>' eingibt kommt nichts gescheites raus...
Weißt Du, wie man "sauber" wieder aus dem Debug-Modus rauskommt ? Nur mit 'go[monitor]' ist man nicht sauber draußen, vermute ich, da z.T. der Receiver doch noch ziemlich busy "zuckt" ;-)

Bye, Pyro


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Di 24. Apr 2001, 07:41 
Offline
Senior Member

Registriert: Do 24. Aug 2000, 22:00
Beiträge: 212
Moin zusammen!

@ravemax
Kompression? Delphi-Komponente? Häh? Na is ja noch früh am Morgen, villeicht verstehe ich den Scherz noch. Bild

Die nächste Frage verstehe ich genauso wenig. Welche Länge?
Im BIN-File sind doch alle Informationen enthalten (siehe oben).
Wenn du mit 'Länge' meinst welche Bereiche (Plural!) du ausdumpen musst um daraus eine korrektes BIN zu erzeugen bleibt die nur die Möglichkeit sich aus einem bestehenden BINs ,z.B. von den UFD Receivern, ein Bild zu machen wo die interessanten Teile stehen.
In den mir bekannten UFD-Bins sind es immer zwei Bereiche.

Das Zurückschreiben (also in den Receiver laden) ist meiner Meinung nach nur über ein selbst erstelltes Bin-File sinnvoll.

Das was ich hier erzähle ist übrigens nicht irgendwelches theoretisches Geschwafel sondern wird bei de Humax Receivern bereits so praktiziert! Bild

Ich weiss ja nicht wie interessant das Thema für euch hier ist (bin ja eigentlich nur zu Besuch hier ;-), aber um damit weiterzumachen sollte 'mal jemand eine UFD-Firmware ausdumpen um diese mit dem korrespondierenden BIN-File zu vergleichen zu können.
Falls das jamand machen möchte kann ich ihm die exakten Längen und Adressen nennen, wenn ich weiss welche UFD-Firmware gemeint ist.

Der Grosse Nagus


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Fr 27. Apr 2001, 22:40 
Offline
Senior Member

Registriert: Do 7. Sep 2000, 22:00
Beiträge: 429
Habe auf meinem Hunni die 179 draufgemacht - Seca-Ton ist ja nett, aber kein EPG nervt schwer - und auch dieses gedumpt. Es bestehen doch einige Differenzen zwischen dem Dump und der released .BIN-datei.
Falls erwünscht, kann ich den Dump hochladen.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: So 29. Apr 2001, 17:38 
Offline
Senior Member

Registriert: Do 24. Aug 2000, 22:00
Beiträge: 212
Nabend zusammen!

Obwohl der Thread hier kein grösseres Interesse gefunden hat (ravemax und pyro mal ausgenommen) habe ich die Sache mit der Untersuchung des Aufbaus der Bin-Files weiterverfolgt. Das Ergebnis ist ein Programm was BIN-Files in die eignetlichen Raw-Bins zerlegt und auch inder Lage ist wieder in ein gültiges Firmware-BIN zurück zu übersetzen. Bild

Als erstes Ergebnis kann man jetzt die von ravemax (und zur Sicherheit auch nocheinmal von mir) gedumpte Firmware (HDE180) als Firmware-BIN von der Seite des Grossen Häuptlings herunterladen.

Das Einspielen erfolgt wie gewohnt mit dem normalen 'SatEditor'. Falls Interesse beteht werde ich das von mir 'BINtool' getaufte Programm auch auf Winnetus Seite legen. Der Sourcecode ('C') ist auch frei.

Danke nochmal an ravemax für den 'ersten Schritt'! Bild

Der Grosse Nagus


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: So 29. Apr 2001, 19:05 
Offline
Senior Member

Registriert: Mi 8. Nov 2000, 23:00
Beiträge: 313
Vielen Dank !

Ihr seid superklasse ...

Gruß

Rally


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: So 29. Apr 2001, 19:16 
Offline
Junior Member

Registriert: Do 5. Apr 2001, 22:00
Beiträge: 48
Dem möchte ich mich anschliessen: Klasse Arbeit!

Gruß, Subwoofer


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: So 29. Apr 2001, 21:20 
Offline
Senior Member

Registriert: Do 7. Sep 2000, 22:00
Beiträge: 429
Super Bild

Mich würde das Tool interessieren, speziell Aufteilung UserData+ROM...

Zitat:
(...)und zur Sicherheit auch nocheinmal von mir(...)

trust no one...

Gibt es einen Disassembler - IDA 4.15+ besitze ich nicht - oder hat sich jemand schonmal den ST20 (CPU-part vom 5500) instruction set angeschaut, ich verstehe deren Codierung nicht:

ST20 C2/C4


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 18 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Deutsche Übersetzung durch phpBB.de