libextractor

GNU libextractor
Log | Files | Refs | Submodules | README | LICENSE

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.