
C-basierte Bibliothek zum Parsen, Bearbeiten und Speichern von EXIF-Metadaten aus JPEG-Bildern, mit Schwerpunkt auf der Ausnutzung von CVE-2016-6328 für Android 10.
libexif -------
libexif ist eine Bibliothek zum Parsen, Bearbeiten und Speichern von EXIF-Daten. Sie soll viele redundante Implementierungen in Kommandozeilen-Dienstprogrammen und GUI-Programmen ersetzen.
libexif unterstützt das Parsen, Bearbeiten und Speichern von EXIF-Daten. Außerdem bietet es gettext-Unterstützung. Alle im EXIF-Standard 2.1 beschriebenen EXIF-Tags (und die meisten aus 2.2) werden unterstützt. Viele Maker-Notes von Kameras der Hersteller Canon, Casio, Epson, Fuji, Nikon, Olympus, Pentax und Sanyo werden ebenfalls unterstützt.
libexif ist in reinem C geschrieben und benötigt keine zusätzliche Bibliothek. GNU gettext wird für die Sprachübersetzung verwendet, falls verfügbar.
libexif kann nur einige Maker-Notes verarbeiten, und selbst diese nicht sehr gut. Es ist noch mehr Arbeit nötig. Beachten Sie, dass libmnote in libexif integriert wurde - es wird nicht mehr benötigt.
Wir haben die libexif-API mit Doxygen dokumentiert und stellen die Ergebnisse unter http://libexif.sourceforge.net/api/ zur Verfügung.
Die kurzen Testprogramme im Testverzeichnis zeigen, wie man gültige EXIF-Daten von Grund auf erstellt, wie man EXIF-Daten speichert und wie man EXIF-Daten aus im Speicher befindlichen Daten lädt. Es gibt auch einige einfache Beispielprogramme im Verzeichnis contrib/examples/. Zögern Sie nicht, uns unter [email protected] zu kontaktieren, wenn Sie Fragen zur Verwendung von libexif haben.
Um libexif in Ihr eigenes Paket einzubinden, empfehlen wir die Verwendung des pkgconfig-Dienstprogramms (vgl. http://www.freedesktop.org/wiki/Software/pkg-config/). Zu Ihrer Bequemlichkeit stellt libexif sowohl libexif-uninstalled.pc bereit als auch installiert libexif.pc.
Derzeit sind mir die folgenden Frontends für libexif bekannt:
Wenn Sie Ihr Programm auf libexif umstellen oder EXIF-Unterstützung hinzufügen möchten, zögern Sie nicht, die Autoren zu kontaktieren.
Mir sind die folgenden Bibliotheken bekannt, die libexif verwenden oder von libexif inspiriert wurden:
Es hängt stark von Ihrer Umgebung ab, was zu tun ist, um libexif zu bauen. Das Bauen aus dem Quell-Tarball erfordert normalerweise die folgenden Befehle:
./configure make sudo make install
Beim Bauen aus dem Quellcode aus CVS ist etwa Folgendes erforderlich:
gettextize mv po/Makevars.template po/Makevars aclocal -I auto-m4 -I m4m autoheader libtoolize --force automake --add-missing autoconf ./configure make
Oder wahrscheinlich einfach:
autoreconf -i ./configure make
Zusätzlich zu den Standardargumenten akzeptiert configure mehrere libexif-spezifische Optionen:
--disable-docs Zum Deaktivieren der Erstellung von Dokumentation --enable-internal-docs Zum Erstellen interner Code-Dokumentation, falls Doxygen verfügbar --enable-ship-binaries Zum Einbinden von Windows-DLLs in 'make dist'
Bestimmte spezialisierte Anwendungen können die Größe der libexif-Binärdatei reduzieren, indem sie eines oder beide der folgenden Makros in der CPPFLAGS-Umgebungsvariable zur Konfigurationszeit setzen. Jedes entfernt bestimmte Arten von Textzeichenfolgen und Konstanten aus der Binärdatei. Anwendungen, die auf bestimmte, bekannte EXIF-Tags zugreifen müssen und deren Datenbedeutung im Voraus kennen, benötigen diese Zeichenfolgen nicht und können durch deren Entfernung erheblichen Speicherplatz sparen.
-DNO_VERBOSE_TAG_STRINGS Namen und Beschreibungen von EXIF-Tags, Debug-Meldungen, obligatorische EXIF-Felder (deaktiviert automatische Tag-Korrektur) -DNO_VERBOSE_TAG_DATA Namen von aufgezählten Tag-Dateninhalten
Die libexif-Übersetzungen werden von Freiwilligen erstellt, die entweder direkt mit dem libexif-Projekt arbeiten oder über eine von zwei Koordinationsseiten für Übersetzungen: das Übersetzungsprojekt http://translationproject.org/domain/libexif.html und Launchpad https://translations.edge.launchpad.net/ubuntu/precise/+source/libexif/+pots/libexif-12. Aktualisierungen von Sprachübersetzungen, die durch das Übersetzungsprojekt koordiniert werden, müssen über deren Website erfolgen, aber alle anderen Sprachen können entweder über Launchpad (bevorzugt) oder durch direkte Zusendung von Aktualisierungen an die Mailingliste der libexif-Entwickler aktualisiert werden. Zum Zeitpunkt dieser Veröffentlichung müssen die folgenden Sprachen über das Übersetzungsprojekt aktualisiert werden: cs da de es fr it ja nl pl sk sv uk vi
Wenn Sie daran interessiert sind, libexif in eine neue Sprache zu übersetzen, empfehlen wir Ihnen, einer der oben genannten Übersetzungsgruppen beizutreten und die von ihnen aufgebauten Systeme zu nutzen, die Ihnen helfen sollen. Für das Übersetzungsprojekt ist für libexif KEIN Übersetzungs-Haftungsausschluss erforderlich; durch die Erstellung einer Übersetzung stimmen Sie implizit zu, diese unter denselben Lizenzbedingungen wie den Rest von libexif (LGPL) bereitzustellen.
libexif wurde ursprünglich von Curtis Galloway [email protected] geschrieben. Da das ursprüngliche Design das Bearbeiten und Speichern nicht unterstützte, hat Lutz Mueller [email protected] libexif von Grund auf neu geschrieben. Seitdem haben viele weitere Personen zu libexif beigetragen.
Einige Links, die Sie sich ansehen sollten, wenn Sie an weiteren Informationen über EXIF interessiert sind.