MP 4 Player Firmware modding/ coding...

Hardware- und Elektronikbasteleien, Ansteuerung von Schnittstellen und Peripherie.
Fragen zu "Consumer"-Problemen kommen in Offtopic.
Benutzeravatar
Fox
Beiträge: 75
Registriert: 08.08.2007 10:14
Kontaktdaten:

MP 4 Player Firmware modding/ coding...

Beitrag von Fox »

Hallo Leute...ich hab mal ne frage an euch.. und zwar möchte ich... auch wenns viel aufwand ist und es sich nicht lohnt die firmware meines mp4 players modifizieren und wenn möglich selbst eine komplett neue schreiben...
Warum? = Reines Interesse und zudem ist die Firmware des MP4 Players nicht gerade das was man sich unter anstäniger Software vorstellt...
aber von nem mp4 player aus honkong der gerade mal 2 € gekostet hat erwarte ich ja auch nicht mehr :)
...nundenn

1. wie komme ich an die firmware ran?
2. in welcher sprache ist die firmware geschrieben oder kann sie geschrieben sein, bzw welche sprachen sind bei der programmierung einer neuen firmware einsetzbar...?


das risiko das ich meinen mp4 player bei der aktion schrotte ist mir bewusst und ich gehe es ein ;)...
der erweiterung meiner kenntnisse und vllt der komfortableren bedienung meines players zu liebe :)...

Hoffe ihr habt auch interesse an dem thema und könnt mir weiterhelfen...

Gruß

fox


PS: Googel wurde schon ausgepresst hat mir aber nicht wirklich weiter geholfen...
Sven1277
Beiträge: 15
Registriert: 25.09.2008 00:30

Hi...

Beitrag von Sven1277 »

Das geht ja dann schon in die Mircocontroller Programmierung.

Wie du an die Firmware kommst.... naja mit einem Programmer auslesen.
Wichtig ist zu wissen, welcher Mircocontroller in deinem MP3 Player steckt.

Ich Programmiere Microcontroller von ATMEL die in C, C++, Pascal, Basic (BASCOM) oder Assembler geschieben werden. Eigendlich ist es egal in welcher Sprache. Die werden dann sowieso kompiliert in Maschinenprache.
Am besten soll Assembler sein, da es Taktgenauer sein soll.

So genau weiss ich es aber auch nicht, da ich BASCOM benutze was BASIC sehr nahe ist. Da ist es schwieriger Taktgenau zu schreiben.

Aber eine ausgelesene Firmware lässt sich nicht so einfach umschreiben oder so. Da müsstest du dir schon den Quellcode besorgen. Wenn du den hast kannst du dir die Firmware selber anpassen. Allerdings kann die in C, Pascal...... geschrieben sein. Wenn du die Sprachen alle kannst oder du nur C kannst und die Firmware dann in C ist, hast du Glück ;) Ansonsten lernen....

Aber wenn du weisst welcher Microcontroller drinsteckt könntest du mit den passenden Programmer und der Programmiersprache eine eigene Firmware erstellen.

Aber....

Jetzt muss du dir mal die Platine anschauen. Einige MP3 Player haben noch zusätzlich Speicherbausteine, LCD Controller oder MP3-Encoder-Bausteine die du ansteuern musst. Dazu musst du wissen welche Bausteine es sind und die die Datenblätter anschauen. Das ist schon sehr schwer da durch zu steigen.
Jeder MP3 Player ist anders.

Ich denke es ist schon einfacher dich mal mit Microcontoller auseinander zu setzen und die dann einen selber bauen. Das ist leichter...
Ein TIPP ist http://www.roboternetz.de/
Mit dem ATMEGA gibt es viele Beispiele und Programmschnipsel. Auch MP3 Libs und so.
Ich kann die da auch etwas helfen.

Gruß

ps ich hoffe ich habe die jetzt nicht alles verdorben....
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Meistens steckt da doch eine art Sicherung drin, die durchgebrannt wird damit man ihn nichtmehr auslesen kann - Sonst könnte ja jeder kommen und Industriespionage betreiben.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

@DarkDragon:

Das ist so nicht richtig. Ich hab über das Thema schon mit vielen meiner Professoren diskutiert und alle meinen das man Schaltungen und die Programme von IC's (MicroController) NIE so schützen kann das man sie nicht auslesen, bzw. wiederherstellen kann. Wird auch nicht so gemacht. Denn du musst es erst mal schaffen das ganze nachzumachen.

Was nützt es dir z.B. wenn du den Aufbau der neuesten Intel-CPU´s kennst? Gar nichst, den niemand auser vielleicht AMD hätte das KnowHow dazu das ganze nachzubauen, und die schließen laufend Lizenzabkommen mit Intel und werden sowas sicher nicht machen.

Und mit dem Programmcode kannst du eigentlich gar nichst machen außer mit viel Spezialwissen deine eigene Firmware zu schreiben, was der Firma total egal ist, kaufen musst du das Produkt ja trozdem.

Darum hat es für die meisten Firmen gar keinen Sinn irgentwelche Schutzmaßnahmen einzubauen.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

cxAlex hat geschrieben:Das ist so nicht richtig. Ich hab über das Thema schon mit vielen meiner Professoren diskutiert und alle meinen das man Schaltungen und die Programme von IC's (MicroController) NIE so schützen kann das man sie nicht auslesen, bzw. wiederherstellen kann. Wird auch nicht so gemacht. Denn du musst es erst mal schaffen das ganze nachzumachen.
Bei nem MP4 Player ist doch eh nur ne Platine mit 5-6 Bausteinen drin, das kann man wohl nachmachen (Und desshalb der Schutz durch eine Sicherung im µC, die man durchbrennt und die kein Normalsterblicher wieder repariert bekommt). Bei größeren Systemen wie den DSL Routern ist das anders, da will man absichtlich, dass man die Firmware updaten kann, aber da ist alles so komplex, dass es wirklich keiner wagt es nachzubauen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Sven1277
Beiträge: 15
Registriert: 25.09.2008 00:30

Beitrag von Sven1277 »

Hi,
aber eine ausgelesene Firmware lässt sich nicht soeinfach umschreiben.
Die müsstet du dann "dekompilieren" oder so. Das ist denke ich zu kompiliziert.

Aber wie gesagt, wenn man erkennen kann welche Bauteile wie zusammen "gelötet" sind, und du die datenblätter hast, kannst du dir eine eigene Firmware schreiben.

Aber wie ich das schon gesagt habe, es ist dann schon leichter gleich einen eigenen zu bauen. Das macht weniger Arbeit.

Du braucht eigendlich für mp4 nen Flotten Mirocontroller, nen extra Bufferspeicher, LCD Display (am besten gleich mit den Controllern) und vleieicht für Video out noch nen FBAS Chip.
Obwohl man FBAS auch mit dem Microcontroller erstellen kann. Das habe ich schoneinmal gemacht in S/W :)
Naja und dann noch nen Speicher für die Daten. Aber da das lässt sich am besten mit einer SD Karte machen :)
Für die Übertragung per USB braucht man noch eine Schnitstelle. Es gibt dafür auch IC's, aber ich habe das mit einem Microcontoller ATMEGA8 gemaht der gerade mal 2,50 € kostet :)

gruß
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Sven1277 hat geschrieben:Hi,
aber eine ausgelesene Firmware lässt sich nicht soeinfach umschreiben.
Die müsstet du dann "dekompilieren" oder so. Das ist denke ich zu kompiliziert.
Nö, nur disassemblieren, was sehr simpel ist.
Das lässt sich mit Gedult und Arbeit umschreiben die Frage ist aber tatsächlich ob sich der Aufwand lohnt.

Warum haben eigentlich so viele Leute Angst vor Assembler? :? :mrgreen:
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Fox
Beiträge: 75
Registriert: 08.08.2007 10:14
Kontaktdaten:

Beitrag von Fox »

Hi... hört sich ja alles schonmal nicht schlecht an :) naja zeit hab ich ja und C und C++ kann ich... assembler is dann schon wieder was, was ich nicht drauf hab...ich hab jez mal n prog gefunden das die firmware ausliest und mit dem man sie auch updaten kann... also ich bekomm den firmeware namen und die firmeware version kann aber die firmeware direkt nicht exportieren, was heisst ich müsste den source der firmeware irgendwo besorgn, was wahrscheinlich so gut wie unmöglich ist...

Ich mach das Teil heut abends mal auf. mach n paar fotos und uppe sie dann mal vllt wisst ihr ja was zu tun ist bzw was drin steckt ;)

ich danke euch schonmal für die großartige hilfe die ich immer wieder von euch bekomme...

das board ist einfach nur spitze :allright:

Gruß FoX
Antworten