image file vom router

Hallo Leute!

Ich bräuchte Hilfe, um ein Image file vom SMC Router zu lesen und zu schreiben! Die benutzen ein unbekanntes IMG- Format! Hat jmd ein Tool in C++ mal programmiert, dass unbekannte Formate analysieren kann?

mfg FJF

Reply to
FJF
Loading thread data ...

FJF schrieb:

Das dürfte ein proprietäres Format sein, möglicherweise ein Image des Flash-Konfigurationsspeichers. Um so etwas zu analysieren braucht man entweder ein memorymap vom Hersteller oder man tüftelt rum, indem div. Parameter verstellt und per Differenz im Binärdump wiedergefunden wird. Sobald spezielle prüfsummen generiert werden, ist ein Rückspielen nochmals extra kompliziert...

Gruss Udo

Reply to
Udo Piechottka

FJF schrieb:

Oh wie schade, ich habe mal ein Programm geschriben, welches unbekannte IMG Formate analysieren kann, es ist aber in C, nicht in C++.

Aber egal, hier ist es, vielleicht geht ja auch C anstelle von C++.

int main(int argc, char* argv[]) { int n = argc; char* filename = argv[1]; char format[1000000]; int analyzingdeep;

while( n-- > 1) { while(_kbhit()) getchar();

printf("\n Kennen Sie das IMG Format der Datei %s\n Wenn ja geben Sie bitte die Bezeichnung des Formates ein.\n Wenn Sie das Format nicht kennen, geben Sie bitte \"unknown\" ein.\n",filename); scanf("%s",format); analyzingdeep = rand() % 100 + 30; if( !strcmp(format,"unknown")) { printf("Analyzing ..."); while(analyzingdeep--) { printf("\b%c",ls[analyzingdeep % (sizeof(ls)-1)]); Sleep(rand()%300); }

} printf("\nAh, Oh, das Format ist %s.\n", format); }

return 0; }

Reply to
Juergen

Juergen schrieb:

Macht nix, C ist mir sogar lieber.. :sfg:

...thx!

Reply to
FJF

Udo Piechottka schrieb:

Danke auch Dir für´s Knowhow...^^ Ich tüftel mal weiter mit dem C code von Juergen... ;-)

Reply to
FJF

Hast Du mal eine URL zu einem Beispielfile?

--
"Erst war es ein Kernel alle halbe Jahre, zum Schluss konnte ich mit 
dem Compilieren nicht mehr aufhören." (Torsten Kleinz im IRC)
Reply to
Michael Holzt

hier:

formatting link
...die germans files... :-[

Reply to
FJF

[...]

Simpel. An Position 0 startet ein ZIP-Archiv welches die Datei PFS.IMG beinhaltet. Das ZIP-Archiv endet an Position 183669 (0x2cd11) und ist auf eine Länge von 0x30000 aufgefüllt. Am Ende des mit 0xFF aufgefüllten Bereiches finden sich noch drei 32 Bit Werte. Der erste Wert ist offenbar die Länge des ZIP-Archives, denn er lautet 0x0002CD12 (183670). Der zweite Wert lautet 0x12345678 und ist vermutlich ein Dummy. Der dritte Wert ist 0x1BCD807E. Funktion unklar.

Das ZIP-Archiv kann mit dd extrahiert und dann entpackt werden: dd if=fw-SMC7404BRB-0.25-Germany.bin of=pfs.zip bs=1 count=183670

PFS.IMG scheint irgendeine Art Dateisystem eines mir unbekannten Formates zu sein, denn es enthält HTML und Bilder des Webservers.

An Position 0x30000 (196608) startet ein zweites ZIP-Archiv welches die Datei SOHO.BIN beinhaltet. Das ZIP-Archiv endet an Position 781608 (0xbed28) und ist bis Position 0xeb7ff aufgefüllt. Am Ende wieder die drei 32 Bit Werte: Länge 0x8ed29 (585001), Dummy 0x12345678 und unbekannter Wert 0x5f5890.

Das ZIP-Archiv kann wieder mit dd extrahiert werden: dd if=fw-SMC7404BRB-0.25-Germany.bin of=soho.zip bs=1 skip=196608 count=585001

SOHO.BIN ist die Betriebssoftware die offenbar aus verschiedenen Komponenten aus dem Museum besteht, z.B. einem Apache in Version 0.6.5 (!) - zumindest findet sich der String "Apache/0.6.5". Es lässt sich nicht gesichert sagen, ob es eine monolithische Anwendung oder ein Embedded-OS mit einzelnen Anwendungen ist. Hinweise auf ein OS fand ich allerdings nicht, weswegen ich ersteres unterstelle.

Ganz am Schluß folgen noch weitere 10 Bytes, deren Funktion unklar ist.

So, und was war daran jetzt schwierig?

--
"Erst war es ein Kernel alle halbe Jahre, zum Schluss konnte ich mit 
dem Compilieren nicht mehr aufhören." (Torsten Kleinz im IRC)
Reply to
Michael Holzt

Die Datei hatte ich auch extrahiert..^^

Nett, ich hatte es mir WinRAR entpacken können.. :-))

Genau darauf bin ich ja scharf, um den TZO.com Eintrag zu ersetzen für ein DynDNS.ORG Eintrag.....^^

:upsi: das hatte ich übersehen.

Nee, im Prinzip nicht aber als Hamster dreht man sich manchmal im Kreis und sieht den Wald vor lauter Bäume nicht.. 8-)

Reply to
FJF

Da bist Du in PFS.IMG aber an der falschen Stelle. Der Code findet sich in SOHO.BIN. TZO.com scheint nach den Texten im Code einen speziellen Client zu verwenden. Es dürfte schwierig bis unmöglich sein, da dyndns.org reinzuhacken.

$ strings SOHO.BIN | grep -i tzo ddns tzo client start... TZOKey=%s TZOServerSelect=%d Finding TZO Server ... Finding TZO Server %c TZOServerName[%d]=%s ClusterLookup%s.tzo.com

--
"Erst war es ein Kernel alle halbe Jahre, zum Schluss konnte ich mit 
dem Compilieren nicht mehr aufhören." (Torsten Kleinz im IRC)
Reply to
Michael Holzt

Mist! Wie sieht es aus, könntest Du es nicht versuchen? :'(

Reply to
FJF

Sorry, aber Du hast ein Billigprodukt gekauft und mußt nun mit den Folgen leben. Geiz ist mitunter halt doch relativ ungeil. Ich werde mir mein eigenes Geschäftsfeld jedenfalls sicher nicht kaputtmachen.

Wenn Du natürlich bereit bist, meinen Stundensatz zu zahlen, kann ich es versuchen. Aber das dürfte nicht wirtschaftlich sein. Leb entweder mit den Einschränkungen des Gerätes oder kauf halt was Anständiges.

--
"Erst war es ein Kernel alle halbe Jahre, zum Schluss konnte ich mit 
dem Compilieren nicht mehr aufhören." (Torsten Kleinz im IRC)
Reply to
Michael Holzt

Sorry, aber Du hast ein Billigprodukt gekauft und mußt nun mit den Folgen leben. Geiz ist mitunter halt doch relativ ungeil. Ich werde mir mein eigenes Geschäftsfeld jedenfalls sicher nicht kaputtmachen.

Wenn Du natürlich bereit bist, meinen Stundensatz zu zahlen, kann ich es versuchen. Aber das dürfte nicht wirtschaftlich sein. Leb entweder mit den Einschränkungen des Gerätes oder kauf halt was Anständiges. Oder sieh es als Chance was zu lernen und versuch die Anpassung selber. Die relevanten Hinweise hast Du ja jetzt schon gratis bekommen. Allerdings ist das Risiko groß, am Ende mit einem Briefbeschwerer dazustehen.

--
"Erst war es ein Kernel alle halbe Jahre, zum Schluss konnte ich mit 
dem Compilieren nicht mehr aufhören." (Torsten Kleinz im IRC)
Reply to
Michael Holzt

Dann empfehle mal ein Produkt als Profi^^...... Ich dachte SMC, sei kein Billigprodukt... :-(

Reply to
FJF

Consumer-Produkte sind grundsätzlich billig. Das ist nichts aus Prinzip schlechtes, ich habe selber Geräte solcher Preiskategorien im Einsatz. Aber gerade bei so etwas muß man sich halt vorher informieren ob das Gerät die gewünschten Zwecke erfüllt. Was ist denn an dem eingebauten DNS-Service so schlecht?

--
"Erst war es ein Kernel alle halbe Jahre, zum Schluss konnte ich mit 
dem Compilieren nicht mehr aufhören." (Torsten Kleinz im IRC)
Reply to
Michael Holzt

Bei den TZO.com ......ist der Servce absolut miserabel und soll ein haufen Dollars dafür zahlen. Da überweise ich lieber DynDNS.org das Geld.

Reply to
FJF

FJF schrieb:

Ja, ist ein Super Programm. Und flexibel...

- Udo

Reply to
Udo Piechottka

Udo Piechottka schrieb:

Michael hatte es aber einfacher und genialer gelöst!

Reply to
FJF

Jetzt nehmt doch den armen "FJF" nicht so auf den Arm. :) Habe aber gut gelacht beim Lesen des Sources.

Gruß, Mario

Reply to
Mario F. Duhanic

Du glaubst doch wohl nicht, dass ich den sourcecode ernsthaft beachtet hätte ? :-P

Reply to
FJF

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.