Ursache für 'Kein System'
-
- Interessierter
- Beiträge: 74
- Registriert: Montag 14. Februar 2005, 10:10
@ Kroki
habe auch nochmal ein paar Tests gemacht:
--> Es wird der komplette flash gescanned
--> Richtige Ziffernfolgen bewirken auch in einer jffs2 Partition den Fehler
--> Entscheident sind die letzten 4 Byte an den 128 KB Grenzen
Folgende Ziffernfolgen in Analogie zur BR Signatur habe ich bisher analysiert:
C3 BE, C3 CE, C3 FE
Wie gesagt entscheident sind die letzten 4 Byte, z.B:
C3 BE XX XX oder XX XX C3 BE ---> lösen den Fehler aus
e46ti
habe auch nochmal ein paar Tests gemacht:
--> Es wird der komplette flash gescanned
--> Richtige Ziffernfolgen bewirken auch in einer jffs2 Partition den Fehler
--> Entscheident sind die letzten 4 Byte an den 128 KB Grenzen
Folgende Ziffernfolgen in Analogie zur BR Signatur habe ich bisher analysiert:
C3 BE, C3 CE, C3 FE
Wie gesagt entscheident sind die letzten 4 Byte, z.B:
C3 BE XX XX oder XX XX C3 BE ---> lösen den Fehler aus
e46ti
Zuletzt geändert von e46ti am Samstag 26. Februar 2005, 11:38, insgesamt 1-mal geändert.
-
- Image-Team
- Beiträge: 1015
- Registriert: Freitag 7. Februar 2003, 18:37
Interessant, ich schik dir gerne snapshots die nicht laufen... zum analysieren das Problem hab ich ja auch öfters...e46ti hat geschrieben:@ Kroki
habe auch nochmal ein paar Tests gemacht:
--> Es wird der komplette flash gescanned
--> Richtige Ziffernfolgen bewirken auch in einer jffs2 Partition den Fehler
--> Entscheident sind die letzten 4 Byte an der 128 KB Grenze
Folgende Ziffernfolgen in Analogie zur BR Signatur habe ich bisher analysiert:
C3 BE, C3 CE, C3 FE
Wie gesagt entscheident sind die letzten 4 Byte, z.B:
C3 BE XX XX oder XX XX C3 BE ---> lösen den Fehler aus
e46ti
Man sollte villeicht ein tool schreiben was die betreffenden stellen ausgibt dann - ist sicher leichter zum zusammentragen.
Gruß Riker
-
- Interessierter
- Beiträge: 74
- Registriert: Montag 14. Februar 2005, 10:10
Hallo Riker,
schick mir doch mal bitte einen dieser snapshots. Ja das mit dem tool würde die Sache sich vereinfachen. aber natürlich nicht lösen...
Ich arbeite zur Zeit mit der kleineren block_size, mal sehen wie lange es dauert bis da der Fehler auftritt?
e46ti
schick mir doch mal bitte einen dieser snapshots. Ja das mit dem tool würde die Sache sich vereinfachen. aber natürlich nicht lösen...
Ich arbeite zur Zeit mit der kleineren block_size, mal sehen wie lange es dauert bis da der Fehler auftritt?
e46ti
Zuletzt geändert von e46ti am Freitag 4. März 2005, 10:56, insgesamt 1-mal geändert.
-
- Interessierter
- Beiträge: 74
- Registriert: Montag 14. Februar 2005, 10:10
@all
Ich habe mal den Gedanken von Riker aufgegriffen und mir Gedanken über ein Analysetool gemacht. Es bietet sich ja an, dies direkt im mksquashfs code zu machen:
e46ti
PS: Diesen code einfach am Ende von main() in mksquashfs.c einfügen
Ich habe mal den Gedanken von Riker aufgegriffen und mir Gedanken über ein Analysetool gemacht. Es bietet sich ja an, dies direkt im mksquashfs code zu machen:
Code: Alles auswählen
int v, w = 0, x, y, z;
unsigned char value[4];
printf("\n");
printf("*** Checking for magic bytes at 128 KB sector ends ***\n");
z = (int) (bytes / 131072);
printf("%d sectors must be checked...\n", z);
for(y = 1; y <= z; y++) {
x = (y * 131072) - 4;
if(lseek(fd, x, SEEK_SET) == -1) {
perror("Lseek on destination failed");
EXIT_MKSQUASHFS();
}
if(read(fd, value, 4) == -1) {
perror("Read on destination failed");
EXIT_MKSQUASHFS();
}
if((value[0] == 0xC3)||(value[2] == 0xC3)) {
printf("Suspicious end bytes at 0x%x found: 0x%x 0x%x 0x%x 0x%x\n", x, value[0], value[1], value[2], value[3]);
while(w <= 15) {
w++;
v = w * 16 + 14;
if((value[1] == v)||(value[3] == v))
goto err;
}
}
}
printf("*** No magic bytes found ***\n");
close(fd);
return 0;
err:
printf("*** If you flash this image these bytes cause 'no system' ***");
close(fd);
return 0;
PS: Diesen code einfach am Ende von main() in mksquashfs.c einfügen
-
- Image-Team
- Beiträge: 1015
- Registriert: Freitag 7. Februar 2003, 18:37
-
- Oberlamer, Administrator & Supernanny
- Beiträge: 10532
- Registriert: Samstag 13. Juli 2002, 10:49
Ich wäre auch eher für ein Tool, das mach Erstellung eines beliebigen FS dieses auf entsprechende Magics überprüft. Ist einfach universeller und benötigt auch keine weitere gepatche Software (mksquashfs, mkcramfs, mkblafoofs)
There are 10 types of people in the world: those who know binary and those who don't
-
- Semiprofi
- Beiträge: 1287
- Registriert: Montag 30. Dezember 2002, 08:02
Ich habe aus dem Code gestern mal ein rudimentäres Tool gebastelt.
Soweit ich folgen konnte, sollte das ja für alle Filesysteme gültig sein oder?
Wie verhält es sich, wenn man ein Komplettimage mit mehreren Filesystemen hat, geht das dann auch?
Ich kann es heute Abend ja mal einchecken. Dann können alle daran rumbasteln.
Gruß
mogway
Soweit ich folgen konnte, sollte das ja für alle Filesysteme gültig sein oder?
Wie verhält es sich, wenn man ein Komplettimage mit mehreren Filesystemen hat, geht das dann auch?
Ich kann es heute Abend ja mal einchecken. Dann können alle daran rumbasteln.
Gruß
mogway
-
- Oberlamer, Administrator & Supernanny
- Beiträge: 10532
- Registriert: Samstag 13. Juli 2002, 10:49
-
- Interessierter
- Beiträge: 74
- Registriert: Montag 14. Februar 2005, 10:10
-
- Einsteiger
- Beiträge: 166
- Registriert: Dienstag 22. Juni 2004, 22:12
Hi,
klasse das es jetzt ein Tool gibt....
Das mit dem ersten Block überspringen währe nicht schlecht, lässt sich sicher über einen Parameter machen. Gut wäre es aber wenn man den Block angeben könnte, denn einige haben ja das FLFS hinten liegen.
Oder man prüft den Superblock(FLFS) vom 128K-Block, wenn dieser auftaucht, dann wird der Block übersprungen.
Wenn trotz Prüfung 'kein System' kommt, sollten wir hier dann die Debug-Ausagabe posten ?? Dann kann man hieraus sicherlich noch fehlende 'Bad Magics' zufügen, oder ?
Gruß Kroki
klasse das es jetzt ein Tool gibt....
Das mit dem ersten Block überspringen währe nicht schlecht, lässt sich sicher über einen Parameter machen. Gut wäre es aber wenn man den Block angeben könnte, denn einige haben ja das FLFS hinten liegen.
Oder man prüft den Superblock(FLFS) vom 128K-Block, wenn dieser auftaucht, dann wird der Block übersprungen.
Wenn trotz Prüfung 'kein System' kommt, sollten wir hier dann die Debug-Ausagabe posten ?? Dann kann man hieraus sicherlich noch fehlende 'Bad Magics' zufügen, oder ?
Gruß Kroki
-
- Interessierter
- Beiträge: 74
- Registriert: Montag 14. Februar 2005, 10:10
Hallo Kroki,
Du benutzt doch auch squashfs??. Modifiziere Dir einfach das mksquashfs ist die sauberste Lösung, dann brauchst Du auch nichts überspringen.
Wenn dann ein Fehler angezeigt wird, einfach nochmal mksquashfs zusätzlich mit -b 32768 und fertig.
Das ist aber nur eine Zwischenlösung, optimal wird das ganze erst mit einem squashfs/mksquashfs das die 128 KB Grenzen nicht benutzt. Da bin ich im Moment dran. Ich werde dies hier aber nicht mehr public machen.
e46ti
Du benutzt doch auch squashfs??. Modifiziere Dir einfach das mksquashfs ist die sauberste Lösung, dann brauchst Du auch nichts überspringen.
Wenn dann ein Fehler angezeigt wird, einfach nochmal mksquashfs zusätzlich mit -b 32768 und fertig.
Das ist aber nur eine Zwischenlösung, optimal wird das ganze erst mit einem squashfs/mksquashfs das die 128 KB Grenzen nicht benutzt. Da bin ich im Moment dran. Ich werde dies hier aber nicht mehr public machen.
e46ti
-
- Oberlamer, Administrator & Supernanny
- Beiträge: 10532
- Registriert: Samstag 13. Juli 2002, 10:49
-
- Interessierter
- Beiträge: 74
- Registriert: Montag 14. Februar 2005, 10:10
@DieMade,
wenn ich mir jetzt den code in checkImage.c vom cvs so ansehe, stelle ich fest, daß dort viel weitergehend analysiert wird. Dies setzt sehr detaillierte Kenntnisse über dieses Problem voraus. Ich frage mich jetzt, warum ich hier sowenig bei der Analyse dieses Problems unterstützt wurde, obwohl das know how dafür ja schon länger vorhanden zu sein scheint?
Ich fände es auch sinnvoll, wenn mal jemand beschreiben könnte, warum die Analyse jetzt genau so und nicht anders erfolgt.
e46ti
wenn ich mir jetzt den code in checkImage.c vom cvs so ansehe, stelle ich fest, daß dort viel weitergehend analysiert wird. Dies setzt sehr detaillierte Kenntnisse über dieses Problem voraus. Ich frage mich jetzt, warum ich hier sowenig bei der Analyse dieses Problems unterstützt wurde, obwohl das know how dafür ja schon länger vorhanden zu sein scheint?
Ich fände es auch sinnvoll, wenn mal jemand beschreiben könnte, warum die Analyse jetzt genau so und nicht anders erfolgt.
e46ti
-
- Contributor
- Beiträge: 1833
- Registriert: Mittwoch 10. April 2002, 15:39
-
- Interessierter
- Beiträge: 74
- Registriert: Montag 14. Februar 2005, 10:10
-
- Tuxboxer
- Beiträge: 4654
- Registriert: Samstag 27. April 2002, 13:19
Hi,e46ti hat geschrieben:Neuen Benutzer gegenüber ist die Unterstützung hier, sofern es sich nicht um Standardfragen handelt, sehr zurückhaltend bis nicht vorhanden.
Standardfragen können halt vom normalen Benutzer beantwortet werden (in der Regel redseliger), hingegen der eine oder andere Know-How-Träger entweder noch nie/grundsätzlich nicht bzw. nur bei konkreter Direktanfrage per PN Auskunft gibt.
Das kann man natürlich als neuer Benutzer so nicht wissen, das stellt sich aber früher oder später ein.
Gruß
mash
P.S. Nach meiner Erfahrung ist die Resonanz auf den Thread "normal".
-
- Interessierter
- Beiträge: 74
- Registriert: Montag 14. Februar 2005, 10:10
Hi,
'wir haben verstanden...'
so bevor ich jetzt aber wieder Tage/Abende damit verbringe die squashfs sourcen umzuschreiben, hier doch nochmal die Frage an die Experten:
Ist es sinnvoll diesen Weg zu gehen, also die 128 KB Grenzen auszusparen oder gibt es noch eine elegantere Lösung??
Gern auch PN.
e46ti
'wir haben verstanden...'
so bevor ich jetzt aber wieder Tage/Abende damit verbringe die squashfs sourcen umzuschreiben, hier doch nochmal die Frage an die Experten:
Ist es sinnvoll diesen Weg zu gehen, also die 128 KB Grenzen auszusparen oder gibt es noch eine elegantere Lösung??
Gern auch PN.
e46ti
-
- Einsteiger
- Beiträge: 166
- Registriert: Dienstag 22. Juni 2004, 22:12
-
- Einsteiger
- Beiträge: 238
- Registriert: Sonntag 14. November 2004, 23:44
Keine Macht den Softwarepatenten
Ist alexW etwa ein Ire ;-)
http://www.nosoftwarepatents.com/phpBB2 ... .php?t=390
Ist alexW etwa ein Ire ;-)
http://www.nosoftwarepatents.com/phpBB2 ... .php?t=390
-
- Interessierter
- Beiträge: 74
- Registriert: Montag 14. Februar 2005, 10:10
@amiga23,
bei solche Kommentaren kann man AlexW vielleicht sogar verstehen
Er möchte offensichtlich nicht, daß dies public wird. Ich denke, man sollte dies einfach respektieren und vielleicht mal selber forschen. Manchmal hilft dies ungemein und die anderen hier hätten vielleicht auch etwas davon
e46ti
bei solche Kommentaren kann man AlexW vielleicht sogar verstehen
Er möchte offensichtlich nicht, daß dies public wird. Ich denke, man sollte dies einfach respektieren und vielleicht mal selber forschen. Manchmal hilft dies ungemein und die anderen hier hätten vielleicht auch etwas davon
e46ti
-
- Developer
- Beiträge: 631
- Registriert: Donnerstag 24. Januar 2002, 12:21
Das einzige was ich nicht will, ist dass meine Arbeit geklaut und unerlaubt veroeffentlicht wird.e46ti hat geschrieben:Er möchte offensichtlich nicht, daß dies public wird.
Wie du ja selbst schon festgestellt hat, wurde ueber Nacht die Erkennung scheinbar um ein grosses Wissen erweitert. Da dies aber nicht durch eigene Forschung desjenigen, sondern durch Kopie aus meinem Quellcode geschah, ist das nicht erlaubt. Der Quellcode meines Programms steht unter (c) und ich habe keinem die Erlaubnis dazu gegeben ihn zu veroeffentlichen.
Aber falls jemanden das Historische interessiert.. das Herausfinden der Magics hat mich ca. 2-3 Tage und Naechte gekostet und ist jetzt schon fast 1,5 Jahre her. Achja, der BL sucht nicht nur nach einer FLFS Magic.
Wie und woher nun Teile aus meinem Code ins CVS kamen spielen jetzt keine Rolle und sollen hier auch keiner Diskussion wert sein. Der Code, der in der Lage ist das entsprechende FS aber zu fixen, gelangt garantiert nicht an die Oeffentlichkeit, das kann ich versprechen.
P.S.: Die Idee mit dem "sperren" der letzten Bytes des Sektorenendes hatte ich auch mal ;)
-
- Tuxboxer
- Beiträge: 5001
- Registriert: Montag 11. November 2002, 15:26
hi,
just my 2c,
peter
..sorry ich verstehe das nicht. Nehmen wir mal an ich besorge mir einen Disassembler und nehme den Bootloader or whatever auseinander ('eigene Forschung') und schreib ein paar Komentare dazu...kann ich das dann unter mein (c) stellen? Fuer mich ist das stinknormales Reverse Engineering fuer das ich nach meinem Verstaendnis hoechstens eine Klage des Rechteinhaber an den Hals bekomme wenn ich das unter mein (c) stelle.alexW hat geschrieben:Da dies aber nicht durch eigene Forschung desjenigen, sondern durch Kopie aus meinem Quellcode geschah, ist das nicht erlaubt. Der Quellcode meines Programms steht unter (c) und ich habe keinem die Erlaubnis dazu gegeben ihn zu veroeffentlichen.
just my 2c,
peter
-
- Developer
- Beiträge: 631
- Registriert: Donnerstag 24. Januar 2002, 12:21
Genau auf diese Art und Weise sind die Werte nicht in Erfahrung gebracht worden und das kann ich auch beweisen.petgun hat geschrieben:Nehmen wir mal an ich besorge mir einen Disassembler und nehme den Bootloader or whatever auseinander ('eigene Forschung') und schreib ein paar Komentare dazu...
alexW
-
- Tuxboxer
- Beiträge: 5001
- Registriert: Montag 11. November 2002, 15:26
-
- Senior Member
- Beiträge: 394
- Registriert: Freitag 9. November 2001, 00:00
Sorry Alex, aber irgendwie kann ich das nicht nachvollziehen. Ja, deine arbeit, deine lorbeeren.alexW hat geschrieben:Das einzige was ich nicht will, ist dass meine Arbeit geklaut und unerlaubt veroeffentlicht wird.
Wie du ja selbst schon festgestellt hat, wurde ueber Nacht die Erkennung scheinbar um ein grosses Wissen erweitert. Da dies aber nicht durch eigene Forschung desjenigen, sondern durch Kopie aus meinem Quellcode geschah, ist das nicht erlaubt. Der Quellcode meines Programms steht unter (c) und ich habe keinem die Erlaubnis dazu gegeben ihn zu veroeffentlichen.
Aber falls jemanden das Historische interessiert.. das Herausfinden der Magics hat mich ca. 2-3 Tage und Naechte gekostet und ist jetzt schon fast 1,5 Jahre her. Achja, der BL sucht nicht nur nach einer FLFS Magic.
Wie und woher nun Teile aus meinem Code ins CVS kamen spielen jetzt keine Rolle und sollen hier auch keiner Diskussion wert sein. Der Code, der in der Lage ist das entsprechende FS aber zu fixen, gelangt garantiert nicht an die Oeffentlichkeit, das kann ich versprechen.
P.S.: Die Idee mit dem "sperren" der letzten Bytes des Sektorenendes hatte ich auch mal
Und das du ein paar tage investiert hast um das rauszufinden is ja super. Ich denke hier haben sehr viele leute zeit investiert. Nur ganz wenige sind aber auf ihrere arbeit hocken geblieben wie eine eifersuechtige henne auf ihrem ei. Was haelt dich eigentlich davon ab das tool einzuchecken, ruhig unter deinem (c)?
Also wenn du dich so anstellst darfst du dich imho nicht wundern wenn ein anderer sich noch mal die arbeit macht (sehr schade um die zeitverschwendung) oder deine arbeit reversed und das dann allen zur verfuegung stellt.
Also welchen vorteil hast du denn dadurch das nicht public zu machen?
Wenn sich alle so anstellen wuerden dann gaebe es diese projekt gar nicht und DU waerst auch gar nicht in der lage gewesen dieses tool zu basteln. Also denk doch mal etwas weiter . . . .
Just my two cents
\D