Autor Beitrag
Steff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Mi 20.11.02 18:18 
also ich mehrere 1000 Dateien die alle total verwirrende Namen haben (z.b FILE7377.CHK , FILE7378.CHK , FILE7379.CHK....). So und macnhe davon sind mp3s. ich will jetzt ein Programm bauen das überprüft ob es sich z.b. bei FILE7378.CHK um eine Mp3 handelt und diese in den ordner c:\mp3s kopieren. Mein Problem bei der ganzen Sache: Wie kann ich erkennen ob es sich bei FILE7378.CHK um eine Mp3 oder um was anderes (exe,jpg....) handelt?
Ach ja id3tag haben nicht alle also das hab ic hschon probiert. Es muß das sowas geben was alle mp3s gleich haben (z.b. wie 32bit exe haben doch dieses "Cannot run in dos Mode" oder so ähnlich)
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Mi 20.11.02 20:57 
das wird schwierig!
Die chk-Dateien sind alle verlorene Cluster, die von Checkdisk wiederhergestellt wurden. Wenn deine MP3-Dateien vorher mal größer waren, als ein Cluster (bei FAT32 oft 4 KB, manchmal auch 8 oder 16, seltener 32, gar nicht 64KB (weil 64 ausschließlich NTFS vorbehalten blieben (was ja wohl auch schwachsinn war, auf einem Server so große Cluster laufen zu lassen...)), dann kann es durchaus sein, daß die CHK-Datei irgendwo in der Mitte der MP3-Datei anfängt, oder am Ende oder sonstwo. Man kann also nicht sagen, daß eine CHK-Datei einfach inne MP3 umbenannt werden kann, und diese dann eine vollständige MP3 ist, sofern es vorher mal zu einer MP3-Datei gehört haben sollte. Du kannst also nicht nach irgendwelchen Merkmalen suchen, wie "This program cannot be run in DOS mode" oder "This program must be run under Win32", weil sowas bei den Windows-EXEs immer weit am Anfang steht. Hast du ein Ende erwischt, gibt's diesen String nicht in dem Dateistück und dein Programm erkennt deine Datei nicht als EXE, selbst wenn es zu einer gehört.
Um MP3-Dateien zu identifizieren, muss man nach Bitmustern suchen, die durch den Komprimierungsalgorithmus entstehen. Da braucht man extrem viel Wissen und einen guten Draht zu den Entwicklern vom Fraunhofer Institut, damit diese dir den Algo geben. Das werden sie höchstwahrscheinlich nicht tun, also wäre die Mühe meist vergebens.
Selbst das umbenennen und probeweise abspielen in einem MP3-Player würde nichts bringen, weil, wenn der Anfang fehlt, wichtige Header fehlen, die der Decoder braucht um das Ding entschlüsseln zu können.

Sorry, aber deine MP3s sind vermutlich verloren, wenn du nicht haar genau die Stücke fndest, die zusammengehören. Und das zu schaffen, grenzt an ein Wunder, weil es reines Ausprobieren wäre (jeder mit jedem, aber wer mit wem?).

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
Steff Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Do 21.11.02 23:46 
also damit das scandisk datein sind da hast du recht!
Die haben auch alle größen die durch 32 teilbar sind.
Aber was ich beobachtet hab ist das die Files alle(!) komplett sind.
Nur wurden am Ende der files immer irgendwelcher kauderwelch angehängt damit er auf eien Größe kommt die durch 32 teilbar ist.
Jetzt hab ich ein PRog geschrieben was den ordner wo die dateien drinnen leigen nach den id3tags absucht und falls gefunden das file rauskoiert in einen MP3 ordner. (Alle MP3s funzen 100%)
Und bei Mp3s gibts nich irgendwo am anfang was, worauf man sofort schließen kann damit es ein mp3 file ist.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 22.11.02 02:34 
Der hat da keinen Kauderwelsch drangehängt damit es paßt. Der Kauderwelsch ist der Rest vom Cluster, wenn das Dateifragment ihn nicht ganz ausgefüllt hat. Das sind also Reste von Dateifragmenten, die vorher in dem Cluster lagen. Und Scandiskt stellte eben Cluster wiederher und keine Dateien.