Ich hatte die gleiche Frage, kam aber zu einer vielleicht eleganteren Antwort.
binwalk -D 'png:png:convert %e %e' myfile.bin
Das convert
Programm wird an Ort und Stelle für alle extrahierten PNG-Dateien ausgeführt.
Beim Extrahieren von Image-Dateien aus einem Firmware-Dump mit Binwalk erhalte ich viele gültige PNGs. Mein Problem ist folgendes: Alle diese Dateien sind extrem groß. Sie beginnen mit dem korrekten Anfang, sind aber so lang wie der Rest der Müllkippe. Wie schneide ich diese Dateien automatisch?
Ich hatte die gleiche Frage, kam aber zu einer vielleicht eleganteren Antwort.
binwalk -D 'png:png:convert %e %e' myfile.bin
Das convert
Programm wird an Ort und Stelle für alle extrahierten PNG-Dateien ausgeführt.
Oft können Sie einen Bildkonverter verwenden, um die PNG-Dateien in ... PNG-Dateien zu konvertieren.
Viele Bildprozessoren lesen das Bild basierend auf den Kopfzeilen in der Bilddatei selbst. Das heißt, sie lesen nur, was zum Laden des Bildes erforderlich ist. Speichern Sie dann das Bild erneut, möglicherweise unter einem neuen Namen.
Ich habe ein fat PNG
(ha!) Erstellt, indem ich cat
mehrere Dateien zusammen erstellt habe, eine PNG-Datei und dann eine 3Meg-PDF-Datei.
feh
lädt das Bild gut
gimp
lädt das Bild und speichert es ordnungsgemäß, wobei der zusätzliche Müll wegfällt.
convert
(aus imagemagick
Paket) funktioniert gut, convert fat.png jcraig.png
streift das Extra ab.
gwenview
(KDE-App) hat die Datei richtig gelesen und gespeichert.
Ich habe nur die wenigen Anwendungen ausprobiert, von denen ich wusste, dass ich sie installiert hatte. Das imagemagick
Dienstprogramm convert
ist vielversprechend und skriptfähig.
for f in *.png; do convert "$f" "skinny.$f" done
Machen Sie wahrscheinlich Ihre gewichtigen Bilder leicht.