README (2669B)
1 About 2 ===== 3 4 GNU libextractor is a library used to extract meta data from files of 5 arbitrary type. It is designed to use helper-libraries to perform the 6 actual extraction, and to be trivially extendable by linking against 7 external extractors for additional file types. Common use-cases for 8 GNU libextractor include detail-views in file managers, detailed 9 search results in file-sharing networks and general information 10 gathering in forensics investigations and penetration testing. 11 12 GNU libextractor is a simple C library with a small API. Bindings for 13 GNU libextractor exists for many languages in addition to the standard 14 C/C++ API (we know about bindings for Java, Perl, PHP, Mono, Python, 15 Ruby). 16 17 libextractor uses a plugin mechanism to enable developers to quickly 18 add extractors for additional formats. Plugins are executed 19 out-of-process and can thus bugs in them (or the libraries that they 20 use) cannot crash the main application. libextractor typically ships 21 with a few dozen plugins that can be used to obtain keywords from 22 common file types. 23 24 More detailed documentation is available in the GNU libextractor 25 manual. libextractor is an official GNU package and available from 26 http://www.gnu.org/s/libextractor/. 27 28 29 Joining GNU 30 =========== 31 32 This is a GNU program, developed by the GNU Project and part of the 33 GNU Operating System. If you are the author of an awesome program and 34 want to join us in writing Free Software, please consider making it an 35 official GNU program and become a GNU maintainer. You can find 36 instructions on how to do so at http://www.gnu.org/help/evaluation. 37 We are looking forward to hacking with you! 38 39 40 extract 41 ======= 42 43 extract is a simple command-line interface to GNU libextractor. 44 45 46 Dependencies 47 ============ 48 49 * GNU C/C++ compiler 50 * libltdl 2.2.x (from GNU libtool) 51 * GNU libtool 2.2 or higher 52 * GNU gettext 53 54 The following dependencies are all optional, but should be 55 available in order for maximum coverage: 56 57 * libarchive 58 * libbz2 (bzip2) 59 * libexiv2 60 * libflac 61 * libgif (giflib) 62 * libglib (glib) 63 * libgtk+ 64 * libgsf 65 * libgstreamer 66 * libjpeg (v8 or later) 67 * libmagic (file) 68 * libmpeg2 69 * libmp4v2 70 * librpm 71 * libsmf 72 * libtidy 73 * libtiff 74 * libvorbis / libogg 75 * libz (zlib) 76 77 When building libextractor binaries, please make sure all of these 78 dependencies are available and configure detects a sufficiently recent 79 installation. Otherwise the build system may automatically build only 80 a subset of GNU libextractor resulting in mediocre meta data 81 production. 82 83 Finally, 'zzuf' is a fuzzing tool that can optionally be detected by 84 the build system and be used for debugging / testing. It is not required 85 at runtime or for normal builds.