
JPEG छवियों से EXIF मेटाडेटा को पार्स करने, संपादित करने और सहेजने के लिए C-आधारित लाइब्रेरी, जो Android 10 के लिए CVE-2016-6328 के शोषण पर केंद्रित है।
libexif -------
libexif एक लाइब्रेरी है जो EXIF डेटा को पार्स करने, संपादित करने और सहेजने के लिए है। इसका उद्देश्य कमांड-लाइन उपयोगिताओं और GUI वाले प्रोग्राम्स में कई अनावश्यक कार्यान्वयनों को बदलना है।
libexif EXIF डेटा के पार्सिंग, संपादन और सहेजने का समर्थन करता है। इसके अलावा, इसमें gettext समर्थन है। EXIF मानक 2.1 (और अधिकांश 2.2) में वर्णित सभी EXIF टैग समर्थित हैं। Canon, Casio, Epson, Fuji, Nikon, Olympus, Pentax और Sanyo कैमरों के कई मेकर नोट्स भी समर्थित हैं।
libexif शुद्ध C में लिखा गया है और इसे किसी अतिरिक्त लाइब्रेरी की आवश्यकता नहीं है। GNU gettext का उपयोग भाषा अनुवाद के लिए किया जाएगा, यदि उपलब्ध हो।
libexif केवल कुछ मेकर नोट्स को संभाल सकता है, और वे भी बहुत अच्छी तरह से नहीं। और अधिक काम करने की आवश्यकता है। ध्यान दें कि libmnote को libexif में विलय कर दिया गया है - अब इसकी आवश्यकता नहीं है।
हमने doxygen का उपयोग करके libexif API का दस्तावेज़ीकरण किया है और परिणाम http://libexif.sourceforge.net/api/ पर उपलब्ध करा रहे हैं।
test निर्देशिका में छोटे परीक्षण प्रोग्राम दर्शाते हैं कि कैसे शुरू से मान्य EXIF डेटा बनाया जाए, EXIF डेटा कैसे सहेजा जाए और मेमोरी में डेटा से EXIF डेटा कैसे लोड किया जाए। contrib/examples/ निर्देशिका में कुछ सरल उदाहरण प्रोग्राम भी उपलब्ध हैं। यदि libexif का उपयोग करने के बारे में कोई प्रश्न हैं, तो हमसे [email protected] पर संपर्क करने में संकोच न करें।
अपने पैकेज में libexif को लिंक करने के लिए, हम pkgconfig उपयोगिता का उपयोग करने की सलाह देते हैं (cf. http://www.freedesktop.org/wiki/Software/pkg-config/ आपकी सुविधा के लिए, libexif libexif-uninstalled.pc प्रदान करता है और libexif.pc स्थापित करता है।
अभी, मुझे libexif के निम्नलिखित फ्रंटएंड के बारे में पता है:
यदि आप अपने प्रोग्राम को libexif का उपयोग करने के लिए माइग्रेट करना चाहते हैं या इसमें EXIF समर्थन जोड़ना चाहते हैं, तो लेखकों से संपर्क करने में संकोच न करें।
मुझे निम्नलिखित लाइब्रेरीज़ के बारे में पता है जो libexif का उपयोग करती हैं या इससे प्रेरित हैं:
libexif को बनाने के लिए क्या करना है यह वास्तव में आपके पर्यावरण पर निर्भर करता है। स्रोत tar बॉल से निर्माण में सामान्यतः निम्नलिखित कमांड शामिल होते हैं:
./configure make sudo make install
CVS से स्रोत बनाते समय, कुछ इस प्रकार आवश्यक होगा:
gettextize mv po/Makevars.template po/Makevars aclocal -I auto-m4 -I m4m autoheader libtoolize --force automake --add-missing autoconf ./configure make
या, संभवतः बस:
autoreconf -i ./configure make
मानक तर्कों के अलावा, configure libexif के लिए विशिष्ट कई तर्क लेता है:
--disable-docs किसी भी दस्तावेज़ीकरण को उत्पन्न करना अक्षम करें --enable-internal-docs यदि Doxygen उपलब्ध हो तो आंतरिक कोड दस्तावेज़ बनाएं --enable-ship-binaries 'make dist' में Windows DLL शामिल करें
कुछ विशेष एप्लिकेशन configure समय पर CPPFLAGS पर्यावरण चर में निम्नलिखित में से एक या दोनों मैक्रोज़ सेट करके libexif बाइनरी के आकार को कम कर सकते हैं। प्रत्येक बाइनरी से कुछ प्रकार के टेक्स्ट स्ट्रिंग्स और स्थिरांक हटाता है। जिन एप्लिकेशन को विशिष्ट, ज्ञात EXIF टैग तक पहुंचने की आवश्यकता होती है और वे अपने डेटा का अर्थ पहले से जानते हैं, उन्हें उन स्ट्रिंग्स की आवश्यकता नहीं होती है और वे उन्हें हटाकर काफी जगह बचा सकते हैं।
-DNO_VERBOSE_TAG_STRINGS EXIF टैग के नाम और विवरण, डीबग संदेश, अनिवार्य EXIF फ़ील्ड (ऑटो-टैग-फिक्सअप अक्षम करना) -DNO_VERBOSE_TAG_DATA गणना किए गए टैग डेटा सामग्री के नाम
libexif अनुवाद स्वयंसेवकों द्वारा किए जाते हैं जो अपने दम पर काम करते हैं, या तो सीधे libexif परियोजना के साथ या दो अनुवाद समन्वय साइटों, ट्रांसलेशन प्रोजेक्ट http://translationproject.org/domain/libexif.html और लॉन्चपैड https://translations.edge.launchpad.net/ubuntu/precise/+source/libexif/+pots/libexif-12 के माध्यम से। ट्रांसलेशन प्रोजेक्ट द्वारा समन्वित भाषा अनुवादों में कोई भी अद्यतन उनकी वेब साइट के माध्यम से किया जाना चाहिए, लेकिन अन्य सभी भाषाओं को या तो लॉन्चपैड (पसंदीदा) के माध्यम से या सीधे libexif डेवलपर्स मेलिंग सूची में अपडेट भेजकर अद्यतन किया जा सकता है। इस लेखन के अनुसार, निम्नलिखित भाषाओं को ट्रांसलेशन प्रोजेक्ट के माध्यम से अद्यतन किया जाना चाहिए: cs da de es fr it ja nl pl sk sv uk vi
यदि आप libexif का एक नई भाषा में अनुवाद करने में रुचि रखते हैं, तो हम अनुशंसा करते हैं कि आप उपरोक्त अनुवाद समूहों में से एक में शामिल हों और उनके द्वारा आपकी सहायता के लिए बनाई गई प्रणालियों का लाभ उठाएं। ट्रांसलेशन प्रोजेक्ट में libexif के लिए अनुवाद अस्वीकरण की आवश्यकता नहीं है; अनुवाद करके, आप इसे libexif के शेष भाग (LGPL) के समान लाइसेंस शर्तों के तहत प्रदान करने के लिए परोक्ष रूप से सहमत होते हैं।
libexif मूल रूप से कर्टिस गैलोवे (Curtis Galloway) [email protected] द्वारा लिखा गया था। मूल डिज़ाइन के संपादन और सहेजने का समर्थन न करने के कारण, लूट्ज़ म्यूलर (Lutz Mueller) [email protected] ने libexif को शुरू से फिर से लिखा। तब से, कई और लोगों ने libexif में योगदान दिया है।
यहां कुछ लिंक दिए गए हैं जिन्हें आप देखना चाह सकते हैं यदि आप EXIF के बारे में अधिक जानकारी में रुचि रखते हैं।