)]}'
{
  "log": [
    {
      "commit": "72c6ae42396cb913bcab63c15585dc3b5c3f92f1",
      "tree": "3d209e8d37c6a3599f9fddbdd5bd73bf5cce9832",
      "parents": [
        "1ceaa279daa62b71e3431e58f68be6a96dd1519a"
      ],
      "author": {
        "name": "Stefan Zager",
        "email": "szager@chromium.org",
        "time": "Tue Jun 10 23:54:42 2014"
      },
      "committer": {
        "name": "Stefan Zager",
        "email": "szager@chromium.org",
        "time": "Tue Jun 10 23:54:42 2014"
      },
      "message": "Fix hard-coded svn revision number.\n"
    },
    {
      "commit": "1ceaa279daa62b71e3431e58f68be6a96dd1519a",
      "tree": "8da07bb77511f9bcca4e4e9554db3fdfd591c7d5",
      "parents": [
        "e3e69a6f1ca5f70686ab9631d00848e9778446e7"
      ],
      "author": {
        "name": "Stefan Zager",
        "email": "szager@google.com",
        "time": "Fri Apr 11 07:30:17 2014"
      },
      "committer": {
        "name": "Stefan Zager",
        "email": "szager@google.com",
        "time": "Fri Apr 11 07:30:17 2014"
      },
      "message": "Fix usage of __revision__.\n"
    },
    {
      "commit": "e3e69a6f1ca5f70686ab9631d00848e9778446e7",
      "tree": "672953c84b51218528c0a3ce326a0fb15fc4579c",
      "parents": [
        "16798324997c967903f5220392637148a3668c5e"
      ],
      "author": {
        "name": "Stefan Zager",
        "email": "szager@google.com",
        "time": "Fri Apr 11 07:23:55 2014"
      },
      "committer": {
        "name": "Stefan Zager",
        "email": "szager@google.com",
        "time": "Fri Apr 11 07:23:55 2014"
      },
      "message": "Get rid of SVN keyword.\n"
    },
    {
      "commit": "16798324997c967903f5220392637148a3668c5e",
      "tree": "6ffe43a797708d47cdc59d8c8dd9cd93a67f44b7",
      "parents": [
        "94ba02d8f51b4f287f3557d9d2451ab4a155d601"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Mar 10 08:56:37 2014"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Mar 10 08:56:37 2014"
      },
      "message": "-Added a check to verify the expected amount of data is read when parsing the import table (thanks to Angelo Dell\u0027Aera for reporting it).\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@141 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "94ba02d8f51b4f287f3557d9d2451ab4a155d601",
      "tree": "075f640184ab93dc5e7b9db429817d8aba8733c9",
      "parents": [
        "109cd1cf7239801829bacffde628e28749a82d22"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Dec 11 18:34:29 2013"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Dec 11 18:34:29 2013"
      },
      "message": "-Updated date range in the copyright message.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@139 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "109cd1cf7239801829bacffde628e28749a82d22",
      "tree": "30a3d7ddd17e4ef0dfc0606e3bfac943b1730f7a",
      "parents": [
        "3f77690132384a8043ff5e258168316b8a0e20ca"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Dec 11 18:29:24 2013"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Dec 11 18:29:24 2013"
      },
      "message": "-Minor addition to ordLookup to make optional the creation of default names.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@138 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "3f77690132384a8043ff5e258168316b8a0e20ca",
      "tree": "298eed84a80411e6d594e27a41da07edf0839b9f",
      "parents": [
        "1832776c6a749ec67564b7b1667ee6a3fb475803"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Dec 10 07:06:07 2013"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Dec 10 07:06:07 2013"
      },
      "message": "-Improved the handling of PEs with vast number of invalid import symbols.\n-Improved the handling of invalid symbols in the export directory.\n-Added an upper bound in the maximum number of entries to consider when parsing the delay import directory.\n-Cleaned up some warning messages.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@137 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "1832776c6a749ec67564b7b1667ee6a3fb475803",
      "tree": "fcf1197db5e388ae17df7369fe463f82c4fe072f",
      "parents": [
        "2534aea56b22b5a8975cf6f48b30dd10abfe44c0"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Dec 06 19:17:57 2013"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Dec 06 19:17:57 2013"
      },
      "message": "-Better handling of the Rich Header.\n-Fixed a problem when writing the contents of the VS_VERSIONINFO StringTable.\n-StringTable key, value string pairs are no longer added to the StringTable struct, they polluted the namespace and potentially overwriting real entries.\n-Added the option (False by default) of having ordLookup produce names for ordinals with unknown name.\n-Simplified the computation of PE CheckSum.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@136 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "2534aea56b22b5a8975cf6f48b30dd10abfe44c0",
      "tree": "8d8de8f131388bca1b79e5b8749e9e2340da4c7b",
      "parents": [
        "b0abd692a8ee469caaf208b839a013b4202392e9"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Dec 04 17:58:58 2013"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Dec 04 17:58:58 2013"
      },
      "message": "-Added Mandiant\u0027s ordlookup to resolve the names for some symbols that are exported only by ordinal numbers.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@135 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "b0abd692a8ee469caaf208b839a013b4202392e9",
      "tree": "0e45f3d15d64fc2f51f4671087078bea598997bf",
      "parents": [
        "9e4da9f57da005c93d1340162025d04d9820b3be"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Dec 04 17:56:58 2013"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Dec 04 17:56:58 2013"
      },
      "message": "-Added Mandiant\u0027s ordlookup to resolve the names for some symbols that are exported only by ordinal numbers.\n-Added a feature requested in Issue 45 to produce a Python dictionary with all the information dumped by dump_info().\n-Fixed a problem introduced when renaming the DLL Characteristics FLAGS that lead to them not being shown.\n-The parsing of sections will now give up with more than a few errors are encountered, avoiding parsing too many invalid sections in some cases.\n-Added better constraints to the maximum number of imports that will be parsed.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@134 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "9e4da9f57da005c93d1340162025d04d9820b3be",
      "tree": "f108906af411f7ac3cb5de9ae51ee5f26a993dfd",
      "parents": [
        "4ee43f6bbbb8c1c46ebe2c326ef3913f2f70d34c"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Aug 29 20:59:01 2013"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Aug 29 20:59:01 2013"
      },
      "message": "-Fixed an issue that crashed pefile on Windows.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@132 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "4ee43f6bbbb8c1c46ebe2c326ef3913f2f70d34c",
      "tree": "338a46a6206f1066fff37a0ee3fe427af33b7a20",
      "parents": [
        "59b5bc9c67026b395092c8ddcac7e344fb568936"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Aug 28 09:48:55 2013"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Aug 28 09:48:55 2013"
      },
      "message": "-Merged patch contributed by Ange Albertini.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@131 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "59b5bc9c67026b395092c8ddcac7e344fb568936",
      "tree": "c316c5b940246373cb45b17fb754ff991678eea9",
      "parents": [
        "c0baf9c9c13273acc177c971668796430b65defd"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Aug 28 08:54:47 2013"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Aug 28 08:54:47 2013"
      },
      "message": "-Added more subsystem types (contributed by Ange Albertini).\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@130 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "c0baf9c9c13273acc177c971668796430b65defd",
      "tree": "0e9e6fd23dceee45a13f8cf79fa611ac1ec7e102",
      "parents": [
        "fb6902ea97b55a8e0eef1b228904853e60e206dd"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Aug 27 08:16:13 2013"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Aug 27 08:16:13 2013"
      },
      "message": "-Merged patch by Ange Albertini warning of Windows 8\u0027s problems loading PE files with the entrypoint pointing within the headers.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@129 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "fb6902ea97b55a8e0eef1b228904853e60e206dd",
      "tree": "3c4bef9c949d119a6db358258e0a7ba230f3bf90",
      "parents": [
        "e0c564e6a4b0a2a4a725363daaa9843b9b0f59d7"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Jul 17 09:35:27 2013"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Jul 17 09:35:27 2013"
      },
      "message": "-Minor tweaks to fix the regression tests.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@128 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "e0c564e6a4b0a2a4a725363daaa9843b9b0f59d7",
      "tree": "f8e6c50061ba0703a68b682bb9bef4ce8ba9af36",
      "parents": [
        "824730ce4967cac7406818edd7a3ad1c5b37d13d"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Jul 17 09:25:34 2013"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Jul 17 09:25:34 2013"
      },
      "message": "-Kept a working version of generate_checksum for Python versions \u003c 2.6 (bytearray only was included in Python 2.6)\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@127 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "824730ce4967cac7406818edd7a3ad1c5b37d13d",
      "tree": "b416936ccb4eff75b68c455e0fe42eaefdcc4137",
      "parents": [
        "fd6e9851ca16a0ae67f5424c10e93225deac84b5"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Jul 17 09:14:30 2013"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Jul 17 09:14:30 2013"
      },
      "message": "-Merged path from ThreatGrid\u0027s Wesley Brown. Thanks! Summary: changed memory mapping usage, revamped to use bytearrays rather than list, complete rewrite of the checksum generation algorithm to be much more memory efficient, and less susceptible to PE bomb attacks\n-Corrected some doctrings.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@126 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "fd6e9851ca16a0ae67f5424c10e93225deac84b5",
      "tree": "901aac4dcfa7db7fed2a05e4f74299ae58a38968",
      "parents": [
        "6fbf45c72aed00c5833d088749febd3706ef8212"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Dec 16 12:34:04 2012"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Dec 16 12:34:04 2012"
      },
      "message": "-Improved parsing files with thousands of sections. Sections that appear to be invalid will now be ignored and some of the checks have been optimized for the cases where a file still has many possibly valid sections.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@125 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "6fbf45c72aed00c5833d088749febd3706ef8212",
      "tree": "96abb12e066b1d6b533d4a539884edbfcd1b4413",
      "parents": [
        "714882b7d254e2580fe93e2669d2f0e1463d4408"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Nov 06 10:23:08 2012"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Nov 06 10:23:08 2012"
      },
      "message": "-Added some safety checks.\n-Small optimization of the checksum algorithm. Thanks to Emmanuel Bourg.\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@123 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "714882b7d254e2580fe93e2669d2f0e1463d4408",
      "tree": "ec7fd5c7d4c15e8c2981941f9b8ab616efebb826",
      "parents": [
        "074601620bac74f0aff9d4c476c376464bc7277c"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Sep 02 22:46:33 2012"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Sep 02 22:46:33 2012"
      },
      "message": "-Fixed a problem parsing section headers. Added an extra check for section headers containing only null bytes.\n-Improved the detection of corrupt resource names.\n-Fixed misspelled words.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@121 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "074601620bac74f0aff9d4c476c376464bc7277c",
      "tree": "5c3f57a769ff7a8c6935c98e58ea5d8ccc8baa4b",
      "parents": [
        "7a9bb5e8f116bf062dacca1a3a2be89e0472a40e"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Aug 09 00:36:49 2012"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Aug 09 00:36:49 2012"
      },
      "message": "-Fixed the naming issue introduced in the last commit.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@120 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "7a9bb5e8f116bf062dacca1a3a2be89e0472a40e",
      "tree": "17e0743e9905313ed79af045edaffa27aaf938c8",
      "parents": [
        "c3b26d6f23e2523da614edd07d8f7a1411554d0b"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Aug 08 22:38:22 2012"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Aug 08 22:38:22 2012"
      },
      "message": "-Improved the checks being done when parsing the exports and the bound imports directories. The potential data ranges to consider have been constrained further and only strings with certain characteristics will be allowed as module names in the bound forwarders.\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@118 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "c3b26d6f23e2523da614edd07d8f7a1411554d0b",
      "tree": "1d0120411ed01da7ddf6c8484b48243610567880",
      "parents": [
        "56e94458ec888299bb10957a281df6570177e33c"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Jan 22 14:12:22 2012"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Jan 22 14:12:22 2012"
      },
      "message": "-Attempting to fix Issue 35 where a big memory allocation is attempted (which can be avoided). When working with large files it could lead to MemoryError exceptions.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@117 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "56e94458ec888299bb10957a281df6570177e33c",
      "tree": "c18a95fda3e1b55f67a761fcc416e976bf6f4056",
      "parents": [
        "8ec82ea6db160ead3ba71a2539d1be77879ad06f"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Jan 16 23:53:54 2012"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Jan 16 23:53:54 2012"
      },
      "message": "-Added a check to make verify that a section\u0027s calculated ending address does not overlap a subsequent section. If so cut it down to fit.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@116 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "8ec82ea6db160ead3ba71a2539d1be77879ad06f",
      "tree": "a89eacefcca7d54acacb218c2dc4b1c33e5f667e",
      "parents": [
        "d7d53b6acb57ec36aa1be74cf273bef9e490e33f"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Sep 01 22:21:00 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Sep 01 22:21:00 2011"
      },
      "message": "-Added sanity checks for invalid relocation information. VirtualAddress and SizeOfBlock are checked against a wide boundary that should never surpass (SizeOfImage)\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@114 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "d7d53b6acb57ec36aa1be74cf273bef9e490e33f",
      "tree": "049cab8c6ab381333511dbfe5ad39da3bea52c7d",
      "parents": [
        "60aa045a264865c315467c7b9f81a258fb11a85c"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Aug 24 22:38:40 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Aug 24 22:38:40 2011"
      },
      "message": "-Merged the patch from Issue 32 (and fixed some problems with it) regarding mmap files left open on Python 2.5.x\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@113 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "60aa045a264865c315467c7b9f81a258fb11a85c",
      "tree": "31f9ae4f49f520c31bbaece3297ad651b06029b2",
      "parents": [
        "c2a9d9afd60667448787ade9e8d190d8d9bdccb5"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Aug 01 07:15:31 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Aug 01 07:15:31 2011"
      },
      "message": "-Extended the fix for Issue 10 and Issue 29 to also handle the VarFileInfo structure\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@111 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "c2a9d9afd60667448787ade9e8d190d8d9bdccb5",
      "tree": "ac5a109ae50750b19da597826bcd5446cf94672e",
      "parents": [
        "fc9c3ac8f777252da821de8b6a7005bba35faae0"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Aug 01 06:44:31 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Aug 01 06:44:31 2011"
      },
      "message": "-Fixed Issue 10 and Issue 29 (related) by also parsing strings for stringfileinfo_struct.Type\u003d0 in addition of Type\u003d1\n-Fixed Issue 26 as suggested by catching early parsing errors with a try in the PE constructor\n-Fixed Issue 30 parsing 64-bit PE32+ imports\n-As pointed out by Pedram Amini removed a warning about WRITE and EXECUTE flags set for a section if the section name is \u0027PAGE\u0027 and the PE is a driver. In drivers such combination is legitimate\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@110 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "fc9c3ac8f777252da821de8b6a7005bba35faae0",
      "tree": "94571ea2de303e9da7303a721ff9702dded2099a",
      "parents": [
        "acf03a11b3e47f2784b240436d9701796081805f"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu May 19 15:35:54 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu May 19 15:35:54 2011"
      },
      "message": "-Fixed error in the reporting of the warning message in the alignment adjustment functions. I\u0027ve moved them into the PE class in order to make accessing the pe attributes more convenient\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@109 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "acf03a11b3e47f2784b240436d9701796081805f",
      "tree": "ed6e7753c68dc8a125af22d102c17f3932f32119",
      "parents": [
        "d796cd6a418a50ee77707a8a343f190e289b1b92"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu May 05 17:25:43 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu May 05 17:25:43 2011"
      },
      "message": "-Fixed Issue 27\n-Enhanced the processing of files with uncommon combinations of FileAligment and PointerToRawData values\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@107 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "d796cd6a418a50ee77707a8a343f190e289b1b92",
      "tree": "c34cb8a73f55eb46853d87ff0737b7cad36716fc",
      "parents": [
        "111827a1ad6ec293c7582d55ebbaaf81f85dd96e"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Apr 22 11:13:19 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Apr 22 11:13:19 2011"
      },
      "message": "-Fixed some exceptions occurring when attempting to work with variables not expected to be None. Added the necessary checks\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@106 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "111827a1ad6ec293c7582d55ebbaaf81f85dd96e",
      "tree": "6b98e1024fa55daf6255018ab142e1ac035efcf1",
      "parents": [
        "4a4ccbc61ffb0fd7538ded797df1fe046807c6b1"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Apr 20 17:27:42 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Apr 20 17:27:42 2011"
      },
      "message": "-As suggested in Issue 26 a close() method was added that closes the mmap of the file (implementation is slightly different as suggested by the case opener)\n-Added a check for zero-length files. A PEFormatError is now raised on those (Issue 25)\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@105 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "4a4ccbc61ffb0fd7538ded797df1fe046807c6b1",
      "tree": "a529a506ae718e61bcec966bd5eef4bdd3612473",
      "parents": [
        "ea22a604d926ca5ef8fa2d861a8e1a6ee52fbdca"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Apr 14 15:00:31 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Apr 14 15:00:31 2011"
      },
      "message": "-Fixed a couple of small bugs in the parsing of resources where an object was not defined in a code-path and added an extra check for the existence of a valid object within the language entries\n-The parsing of the resources\u0027 version strings had a small flaw where one character outside the range was not caught, fixed the comparison\n-Copy-paste betrayal, parsing the version number had nearly the right check... but not quite, now it does\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@104 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "ea22a604d926ca5ef8fa2d861a8e1a6ee52fbdca",
      "tree": "8191528f208fa0923ccec3a4d6222ae458d3fff0",
      "parents": [
        "9310e3a5c16b5a6c9ddf95dad4a86957d18983b1"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Apr 10 14:11:49 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Apr 10 14:11:49 2011"
      },
      "message": "-Added a (high) hard-coded limit to the number of directory entries to process. Some specially crafted directories could lead to long processing times\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@102 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "9310e3a5c16b5a6c9ddf95dad4a86957d18983b1",
      "tree": "1b466e4214cd5e37e3ea146a0bfa5c06c7e3410c",
      "parents": [
        "e9b3723fbb6f62cc4d9e8e37f3b7da96135cc260"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Apr 10 14:03:58 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Apr 10 14:03:58 2011"
      },
      "message": "-Updated copyright notice\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@101 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "e9b3723fbb6f62cc4d9e8e37f3b7da96135cc260",
      "tree": "44973fe11222edb0356eec041fe7462ec7c345fd",
      "parents": [
        "13158985e6c9aafc3b458b5602c18798206bb2c5"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Mar 03 15:39:09 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Mar 03 15:39:09 2011"
      },
      "message": "-Added additional check in the resources string parser to avoid processing invalid entries\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@100 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "13158985e6c9aafc3b458b5602c18798206bb2c5",
      "tree": "8a7bb36849ec657544f402839417752e95e9b481",
      "parents": [
        "852d6ecfce2298db68201a33a7d4dfd36438c4b0"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Feb 18 05:25:20 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Feb 18 05:25:20 2011"
      },
      "message": "-Added additional check in the resources string parser to avoid processing strings of length zero\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@99 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "852d6ecfce2298db68201a33a7d4dfd36438c4b0",
      "tree": "abdf11e05d753f0fbed50f01eac2c8953a34c7e8",
      "parents": [
        "8c4ccb57c6e04b4a729607ceadbdf18ee8b538a7"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Feb 11 11:11:25 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Feb 11 11:11:25 2011"
      },
      "message": "-Added Ange Albertini\u0027s patch to provide more helpful error messages when pefile meets NE/LE/LX files and ZM (as opposed to MZ) files. The PEFormatError() exception raised will inform about the type of file.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@98 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "8c4ccb57c6e04b4a729607ceadbdf18ee8b538a7",
      "tree": "e4afacc501e397949871be9840c8a19ef7ce9210",
      "parents": [
        "1145f54491bb87315628a75ab73f775ee3b83cfa"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Feb 09 11:40:09 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Feb 09 11:40:09 2011"
      },
      "message": "-Fixed Issue 12, there was a bug calculating the offset to the VS_VERSIONINFO structure that would manifest in some files\n-Updated copyright string and contact info\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@96 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "1145f54491bb87315628a75ab73f775ee3b83cfa",
      "tree": "4a4ac6b2ad827acbff327eee3fbadf2a76bdbb9a",
      "parents": [
        "dac33293bd796578458053aa7d764fe234f7bf40"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Feb 08 18:13:31 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Feb 08 18:13:31 2011"
      },
      "message": "-Improved handling of some more cases of unorthodox, although valid, FileAlignment and SectionAlignment values and combinations of those\n-Added a method to peutils to scan for PEiD signatures in user-provided raw data as opposed to only allowing pefile.PE() instances, it comes handy when feeding data from other tools like IDA\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@95 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "dac33293bd796578458053aa7d764fe234f7bf40",
      "tree": "bb5f0b97be3a829547c55978fc134a9efaf5273a",
      "parents": [
        "fa0f8368ad6459e2ef9f887b110695d89c2caf48"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Jan 28 12:45:55 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Jan 28 12:45:55 2011"
      },
      "message": "-Improved handling of cases of unorthodox, although valid, FileAlignment and SectionAlignment values and combinations of those. It turns out that they have to be in certain relation for some value ranges\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@94 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "fa0f8368ad6459e2ef9f887b110695d89c2caf48",
      "tree": "ff2fe1511b035ee77cb00d8156596578094a5f2e",
      "parents": [
        "adfe50c9c45df208f3ec0060fab3871d9002b40a"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Jan 25 18:37:25 2011"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Jan 25 18:37:25 2011"
      },
      "message": "-Added Ange Albertini\u0027s concept code to parse the strings contained in the resources directory. They will now be displayed when calling the dump_info() method. If an entry in the resources directory contains strings they will be accessible through entry.directory.strings. Also it\u0027s possible to retrieve at once all strings found by calling the PE instance\u0027s method get_resources_strings() which will return a list with all strings found or an empty string if none are found or the file has no resources directory\n-Added Ange Albertini\u0027s patch to fix some crashes parsing the resources\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@93 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "adfe50c9c45df208f3ec0060fab3871d9002b40a",
      "tree": "7fc74f5a4983b2d01f431ac0764bbaf65b0cb760",
      "parents": [
        "218af299afbe787a25c7aa1c95f08fee1b2ec76f"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Dec 13 15:55:22 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Dec 13 15:55:22 2010"
      },
      "message": "-Fixed a bug parsing small invalid PE files where the proper exception (PEFormatError) would not be raised and instead pefile would crash\n-Fixed Issue 22. Some PE files reconstructed from memory dumps contained invalid export entries that led to a crash. Invalid entries are not properly ignored.\n-Added a new method \"get_overlay_data_start_offset()\". It will return the offset where data starts that it is not described by the PE headers. Commonly referred to as overlay data. If there\u0027s no overlay data the method will simply return EOF offset.\n-Added a new method \"get_overlay()\" which will return the data appended to the file and not contained within the area described in the headers\n-Added a new method \"trim()\" which will return the just data defined by the PE headers, removing any overlay data\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@91 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "218af299afbe787a25c7aa1c95f08fee1b2ec76f",
      "tree": "a4852978a2f97989c42e863b879cdabf68c27511",
      "parents": [
        "4d64bb189d947290077b0d4a3a5200d34f37a521"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Nov 08 17:25:26 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Nov 08 17:25:26 2010"
      },
      "message": "-Small fix to be able to retrieve strings outside section boundaries i.e., when a packer keeps strings overlapping headers or in overlays\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@89 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "4d64bb189d947290077b0d4a3a5200d34f37a521",
      "tree": "66e3c60826c9040bfa8ea2dcad2265678ee85470",
      "parents": [
        "b95b9166078155986b638c40271facebd63e2070"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Nov 08 16:58:48 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Nov 08 16:58:48 2010"
      },
      "message": "-Implemented fixes for sections at unaligned raw offsets. As pointed out by Ange Albertini if those offsets are smaller than the FileAlignment they are rounded to 0 by the Windows loader. pefile now emulates such behavior\n-Miscellaneous other fixes and tweaks\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@88 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "b95b9166078155986b638c40271facebd63e2070",
      "tree": "6a133c3d1e2455a146ac1cffd8e3b8b43681b199",
      "parents": [
        "f6cb74f7c923695fec58c1c1f2c8be7f793a1d0a"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sat Nov 06 22:02:28 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sat Nov 06 22:02:28 2010"
      },
      "message": "- Minor changes\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@87 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "f6cb74f7c923695fec58c1c1f2c8be7f793a1d0a",
      "tree": "ee2eb1b09248578a03736f50adc1cd82670af39a",
      "parents": [
        "14bb3662178bc6cf9ec097078bd0b46a4b4d76a8"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sat Nov 06 21:48:34 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sat Nov 06 21:48:34 2010"
      },
      "message": "- mmap is now used to not load into memory the whole file unless working with it requires it. This should enable pefile to parse much larger images in systems with limited memory\n- Thanks to the patch provided by the user mzibricky, pefile should now run in Python 2.2\n- Improved handling of flags. Now section flags can be set by directly assigning to the convenience attributes, i.e. (pe.sections[0].IMAGE_SCN_MEM_EXECUTE \u003d True) and the changes will be propagated to the section Characteristics field\n- Minor improvements in string handling\n- Minor improvements to the peutils module\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@85 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "14bb3662178bc6cf9ec097078bd0b46a4b4d76a8",
      "tree": "02ffd63f5ef6a4fd89df695ab89b420ce504a2a8",
      "parents": [
        "2a277416e8324f2858d2d7b61f39e59287af5f93"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Aug 17 04:45:47 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Aug 17 04:45:47 2010"
      },
      "message": " - Small tweak to correctly generate memory mapped images ( through get_memory_mapped_image() ) of files with no sections or with data in the gap after the header and before the first section\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@83 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "2a277416e8324f2858d2d7b61f39e59287af5f93",
      "tree": "62f79777286d462341b1c7a5b57596ed242207d1",
      "parents": [
        "e8f64b762c4fe479d6a3b0e186b07fce886c6ed0"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Aug 17 02:05:05 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Aug 17 02:05:05 2010"
      },
      "message": " - Improved the fetching of overlay raw data from the file. In some cases data might lay beyond the areas described by the sections, or sections might be missing altogether, and still be a valid PE file. If the data lies within the file\u0027s whole length it will now be fetched regardless of whether it is within a section\u0027s boundaries\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@82 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "e8f64b762c4fe479d6a3b0e186b07fce886c6ed0",
      "tree": "39ad2ed7f1e95baf656b263e19e3fd4a65c94a1e",
      "parents": [
        "feceb78c2ccc2332dfb78a5cb9eea0bada7da9ff"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Aug 17 01:19:07 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Aug 17 01:19:07 2010"
      },
      "message": " - Added small patch contributed by nriva to store the thunk\u0027s offset and RVA as thunk_offset and thunk_rva in each of the import thunks\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@81 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "feceb78c2ccc2332dfb78a5cb9eea0bada7da9ff",
      "tree": "6fbaff4810a44f0374fa3c20c67bb7c3179e7b85",
      "parents": [
        "e58d0a30252a884a6276570a0e7e1664ca0aeb34"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Aug 17 00:38:28 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Aug 17 00:38:28 2010"
      },
      "message": " - Long due! but finally merged Ange Albertini\u0027s patch to parse the Rich header \n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@80 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "e58d0a30252a884a6276570a0e7e1664ca0aeb34",
      "tree": "e412d0d72bef64596cca697f84bf95eff906eae1",
      "parents": [
        "7493480c7b4320594460aaa9375e741de9aa4d84"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Aug 16 23:12:50 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Aug 16 23:12:50 2010"
      },
      "message": " - Minor additional improvements to the parsing of language IDs. Added handling of incorrect IDs, now reported as \"*unknown*\"\n - (bugfix) Fixed problems reported in issue 14 (http://code.google.com/p/pefile/issues/detail?id\u003d14). The file should now be successfully parsed\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@78 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "7493480c7b4320594460aaa9375e741de9aa4d84",
      "tree": "411791802967721bd2d54ba4e324499d2f5fc8fd",
      "parents": [
        "9ce04b4cc880a0efe5524c330b64fa18a6c47879"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Aug 16 22:54:05 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Aug 16 22:54:05 2010"
      },
      "message": " - Improved parsing of language IDs in the resource strings. Language pairs (LANG, SUBLANG) are now reported when dumping a PE\u0027s information\n - Added heuristics to aid deciding which DLL filenames and imported symbols are valid. Discarding those that do not conform to valid character sets. Also help dealing with issue 17 (http://code.google.com/p/pefile/issues/detail?id\u003d17). The parsing of imports is aborted when certain malformed entries are detected, no longer leading to the subsequent high memory consumption\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@77 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "9ce04b4cc880a0efe5524c330b64fa18a6c47879",
      "tree": "9bbb0d31915754689ae3d0971806224aaaab8734",
      "parents": [
        "c41079e286ed512549ccfe96c71ee5db55d87b39"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Jun 03 00:02:50 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Jun 03 00:02:50 2010"
      },
      "message": "-Added an upper bound on the number of export entries that will be handled. If there are more entries than what would fit in what\u0027s left until the end of the file we don\u0027t attempt to process any more\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@76 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "c41079e286ed512549ccfe96c71ee5db55d87b39",
      "tree": "55b182dd56d132ad76ebd677df1e521e5b3fbf49",
      "parents": [
        "374d11f06714ade5a63ab795392ac92d89ee514f"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Jun 02 18:14:10 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Jun 02 18:14:10 2010"
      },
      "message": "-Added a warning message when entries typical of packed files are found in the import table\n-Offsets are now shown when printing out information about a PE\u0027s headers/contents. Both absolute within the file and relative to the structure\u0027s start\n-Fixed a bug parsing import table entries\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@75 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "374d11f06714ade5a63ab795392ac92d89ee514f",
      "tree": "542e20d2ff09555e55af108b172db00a0d9b67a9",
      "parents": [
        "0cbdb053d57baa931f99ca8579764b97fd5d8020"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Apr 26 16:04:36 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Apr 26 16:04:36 2010"
      },
      "message": " - bugfix: if found, trailing wildcards are removed from signatures at load time. They don\u0027t make much sense and, if present, led to the signature not matching byte sequences that should. Any sequence of \u0027??\u0027 after the last non-\u0027??\u0027 byte in the signature is ignored.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@74 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "0cbdb053d57baa931f99ca8579764b97fd5d8020",
      "tree": "e30c1770337ff25965196732640b225d28c7202d",
      "parents": [
        "d964ba64f3efa93149a965ca0f427d09f3ea4ccd"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Apr 04 01:53:52 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Apr 04 01:53:52 2010"
      },
      "message": " - Added support for writing back to the PE file any modifications made to the entries in the imports table. Beware that adding name strings longer than the existing one will probably lead to trouble\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@73 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "d964ba64f3efa93149a965ca0f427d09f3ea4ccd",
      "tree": "66682d64f0158b233af271f27260bdccb51595d1",
      "parents": [
        "7869ac9df591b140c5be56be8b66dd9fdc29e49e"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sat Apr 03 23:07:44 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sat Apr 03 23:07:44 2010"
      },
      "message": " - Added support for writing back to the PE file any modifications made to the entries in the exports table. Beware that adding name strings longer than the existing one will probably lead to trouble\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@72 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "7869ac9df591b140c5be56be8b66dd9fdc29e49e",
      "tree": "e10c1f6dbc9631cb945ef16ba7bfc24226c50b51",
      "parents": [
        "0f56eee2727b064f0d7497f81f20489ef2ebf5c4"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sat Apr 03 22:10:38 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sat Apr 03 22:10:38 2010"
      },
      "message": " - Added support for writing back to the PE file any modifications made to the entries in the relocations table. If the RVA of an entry is modified outside the ranges where it can be applied it\u0027s automatically readjusted to fit\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@71 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "0f56eee2727b064f0d7497f81f20489ef2ebf5c4",
      "tree": "a061673faaba12a58077a5e8d89ff1045e173b65",
      "parents": [
        "919c9e86e5e374c07ee15fbd919a9cea50cbe543"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sat Apr 03 20:53:31 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sat Apr 03 20:53:31 2010"
      },
      "message": "\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@70 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "919c9e86e5e374c07ee15fbd919a9cea50cbe543",
      "tree": "d4cfa4276b000b85427e3c3a22858ce0d355d8dd",
      "parents": [
        "0c03a54f9698ef85273ca77880aa4255379ed306"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sat Apr 03 20:52:41 2010"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sat Apr 03 20:52:41 2010"
      },
      "message": " - Aesthetic fixes for some warning messages\n - Additional checks for invalid export directory entries\u0027 address\n - Additional checks for invalid import tables and imported symbols\n - Improved the check to tell whether a PE file might be a driver\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@69 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "0c03a54f9698ef85273ca77880aa4255379ed306",
      "tree": "ddd7af8d1cf64ad9cb760af46180ddd36bfee413",
      "parents": [
        "daf6bbaea3b6495e9c8f58651137f1561fd963ed"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Jun 16 13:59:32 2009"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Jun 16 13:59:32 2009"
      },
      "message": "-Added convenience methods to identify DLLs, standard EXEs and Windows drivers\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@68 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "daf6bbaea3b6495e9c8f58651137f1561fd963ed",
      "tree": "128abba0e35d815e8328c7074ef7efb88b29cf22",
      "parents": [
        "0a7ed9835cba29d810307f216fcc27235512a9eb"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Apr 15 11:33:52 2009"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Apr 15 11:33:52 2009"
      },
      "message": "More spelling errors fixed by Ange Albertini\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@67 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "0a7ed9835cba29d810307f216fcc27235512a9eb",
      "tree": "65da258da862c76bfd8c8cac11a0a89f3f7160e9",
      "parents": [
        "12b0ecb473d574251837b7163bf0939007b1661e"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Apr 15 08:53:17 2009"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Apr 15 08:53:17 2009"
      },
      "message": "Lots of spelling errors fixed by Ange Albertini\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@66 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "12b0ecb473d574251837b7163bf0939007b1661e",
      "tree": "d4ed5487b07e69a01b893d6ad0d26a4ea3c8bba9",
      "parents": [
        "d0ca75794f69f1d09fd6d31d40ba2f1e9b3b7fb4"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Mar 27 11:57:03 2009"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Mar 27 11:57:03 2009"
      },
      "message": "Fixed bug reported by clita at  bitdefender.com when calculating the checksum of files that were not dword-aligned. It was necessary to zero-pad them for the checksum to be correctly calculated\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@65 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "d0ca75794f69f1d09fd6d31d40ba2f1e9b3b7fb4",
      "tree": "b64dd71a2b70872dac74841322ac7c743d53d867",
      "parents": [
        "2d9ae5118e76681e72e598e9f96b21327af000ac"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Mar 02 01:33:04 2009"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Mar 02 01:33:04 2009"
      },
      "message": "-Fixed an \"index out of range\" problem when parsing some unusual import tables\n-Fixed struct module\u0027s types to work properly on 64bit architectures. As it was reported by James on the pefile googlegroup, the \u0027L\u0027 type tried to decode 8 bytes into a 64bit long instead of the expected 4 bytes for a dword. \u0027I\u0027 behaves as expected decoding 4 bytes when pefile runs in both 32bit and 64bit architectures\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@63 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "2d9ae5118e76681e72e598e9f96b21327af000ac",
      "tree": "394fa107f46c2e2f1d1d20515a83379610812b90",
      "parents": [
        "cbd888b11a707e7907dc27773ef8749540da9be2"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Feb 03 10:19:18 2009"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Feb 03 10:19:18 2009"
      },
      "message": "Fixed infinite loop parsing version information triggered by a sample\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@62 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "cbd888b11a707e7907dc27773ef8749540da9be2",
      "tree": "389750f73e419eec63f0821f26c208a658e5711e",
      "parents": [
        "f4ebf49b661da06aabb0bde760f8cc270684bc17"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Jan 23 00:12:12 2009"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Jan 23 00:12:12 2009"
      },
      "message": "-Some improvements made to unicode string processing. When random data was added where unicode strings should be in a standard PE file, the data wasn\u0027t being re-assembled correctly\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@60 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "f4ebf49b661da06aabb0bde760f8cc270684bc17",
      "tree": "05a12f8cd706671768d8adf5e4ee880092b04564",
      "parents": [
        "3ea8f2a8d6b9ef2afd407dcc089e3084b4e24061"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Jan 22 16:57:37 2009"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Jan 22 16:57:37 2009"
      },
      "message": "-Added processing of the LOAD_CONFIG data directory\n-Improved error handling of parsing errors when handling the TLS data directory, a warning is now added to the warnings list if it can\u0027t be parsed\n-Improved setup script to avoid bundling OSX\u0027s resource forks\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@59 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "3ea8f2a8d6b9ef2afd407dcc089e3084b4e24061",
      "tree": "20ad8c270d9dd572afda1d26d2efe6026b444606",
      "parents": [
        "a75f4e72a095cbb10e6947fcbd0c3f6b7ffbcfce"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Jan 07 16:05:57 2009"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Jan 07 16:05:57 2009"
      },
      "message": "Updated copyright string and set version to 1.2.10-REVISION#\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@56 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "a75f4e72a095cbb10e6947fcbd0c3f6b7ffbcfce",
      "tree": "c422a7f274fea128eebdd0369b699e5a90199c37",
      "parents": [
        "15dd9e4bf62e444596336b8932545b1b9cd64f8c"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Jan 02 13:49:18 2009"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Jan 02 13:49:18 2009"
      },
      "message": "-Fixed bug in contains_offset(). The end of the section\u0027s data on disk was being calculated as VirtualAddress + SizeOfRawData instead of the correct: PointerToRawData + SizeOfRawData\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@55 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "15dd9e4bf62e444596336b8932545b1b9cd64f8c",
      "tree": "3e6cc7d40f99cdc23bfc59a7813a0ae2322bc251",
      "parents": [
        "ac4af941adf4c8d87c20a6c746d33c60c52201ea"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Jan 02 00:49:30 2009"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Jan 02 00:49:30 2009"
      },
      "message": "-Started using the subversion revision keyword\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@54 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "ac4af941adf4c8d87c20a6c746d33c60c52201ea",
      "tree": "37ed15240c5edf1009dae06f5860e0c573aed081",
      "parents": [
        "1d5b4f161f415406d1d384dc2319874979bcdef8"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Jan 02 00:46:53 2009"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Jan 02 00:46:53 2009"
      },
      "message": "-Started using the subversion revision keyword\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@53 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "1d5b4f161f415406d1d384dc2319874979bcdef8",
      "tree": "1f9a2407dc1e5287ba79ffd83149073beacda75b",
      "parents": [
        "42536dee958288bec2ef13482a81d14cda5c76e9"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Jan 02 00:38:17 2009"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Jan 02 00:38:17 2009"
      },
      "message": "-Upped version to 1.2.9.3\n-Improved the redering when dumping the file\u0027s contents in textual form. The performance of the operation has greatly improved\n-get_data() calls now use a fixed size argument when possible. Improves the speed of those calls in large files. Fix suggested by Paul, barnabas79 (http://groups.google.com/group/pefile/browse_thread/thread/4b289227042d3f14?hl\u003den)\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@52 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "42536dee958288bec2ef13482a81d14cda5c76e9",
      "tree": "4ffb25d7e115a895007f3575533bc4fffb520657",
      "parents": [
        "c5f52b55175174ee63a3971e4df15526bc9938c4"
      ],
      "author": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Sep 29 23:35:44 2008"
      },
      "committer": {
        "name": "ero.carrera@gmail.com",
        "email": "ero.carrera@gmail.com@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Mon Sep 29 23:35:44 2008"
      },
      "message": "-Whitespace clean-up\n-Version number set to 1.2.9.2\n-get_memory_mapped_image() can now properly return rebased images. The rebased image data is temporary and will be discarded (won\u0027t be saved in the instance). To achieve this one should call relocate_image() which will make the changes permanent\n-Improved parsing of import table for PEI-format DLLs (http://www.google.com/codesearch?q\u003dshow:Wtes7TbvpLo:co7CX9I5Z0E:YjjyzLSVues)\n-Added methods to handle the updating of the section\u0027s data upon modification of values in the image\u0027s data. (Section\u0027s and image\u0027s data are kept separately)\n-generate_checksum() now makes sure it processes the image with all modifications made to it\n-The write() method now only returns the file data if no filename is provided, which is a more intuitive behavior\n-\u0027parse_data_directories()\u0027 now supports an optional argument to specify with directories to parse. For instance:\n\n# \u0027fast_load\u0027 makes pefile to not load any directory\n#\npe \u003d pefile.PE(filepath, fast_load\u003dTrue)\n\n# the following line will tell pefile to only process the\n# resource directory, where the version information is located\n#\npe.parse_data_directories( directories\u003d[ DIRECTORY_ENTRY[\u0027IMAGE_DIRECTORY_ENTRY_RESOURCE\u0027] ] )\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@50 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "c5f52b55175174ee63a3971e4df15526bc9938c4",
      "tree": "06330dcad71ae6a4697302c2287ca57e771e474a",
      "parents": [
        "1c8e4214e09244f0c160d3028b93ce7cf0f55542"
      ],
      "author": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Mar 07 15:19:17 2008"
      },
      "committer": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Fri Mar 07 15:19:17 2008"
      },
      "message": "\n-Fixed parsing problem on files specifying a FileAligment of zero\n-Fixed problem parsing the Bound Imports directory when it contained invalid data. In some instances pefile would get caught up trying to make sense of arbitrary data. Now when empty strings are found as module names in the Bound Import structures, the parsing is aborted\n\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@48 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "1c8e4214e09244f0c160d3028b93ce7cf0f55542",
      "tree": "883b86f7f638f3b22b0dc2b525b2e7bcc238c3a7",
      "parents": [
        "a38674ea31c70f4a89887ef707f2af440623f654"
      ],
      "author": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Feb 28 21:54:20 2008"
      },
      "committer": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Feb 28 21:54:20 2008"
      },
      "message": "\n-Version bumped up to: 1.2.9\n-Now it\u0027s possible to modify the version information by directly assigning new values to the keys, for instance\npe.FileInfo[0].StringTable[0].entries[\u0027OriginalFilename\u0027] \u003d \u0027NewName.exe\u0027\nThe other common keys are: LegalCopyright, InternalName, FileVersion, CompanyName, ProductName, ProductVersion, FileDescription, OriginalFilename\n\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@46 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "a38674ea31c70f4a89887ef707f2af440623f654",
      "tree": "221bfb25604be341c0ea1c694fd597653c638acf",
      "parents": [
        "916b8866236238a4ccd57f98a963a01131edd787"
      ],
      "author": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Feb 17 02:09:21 2008"
      },
      "committer": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Feb 17 02:09:21 2008"
      },
      "message": "\n-Added support for setuptools\n\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@45 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "916b8866236238a4ccd57f98a963a01131edd787",
      "tree": "29df21303623fa0883a0e3b1cd800d2a9e37cd21",
      "parents": [
        "40881eb27109b93a0d2d315f2c9f09adde277e31"
      ],
      "author": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Feb 17 02:08:49 2008"
      },
      "committer": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Feb 17 02:08:49 2008"
      },
      "message": "\n-Added __str__() and __repr__() methods to pefile\u0027s structures. Now it\u0027s possible to navigate through the contents much more comfortably from an interactive Python command line. Just typing the name of a structure or doing a print on it will return all the fields and their contents.\n-Bugs fixed when parsing the resource information\n-Improved parsing of imported symbols. Import by ordinal and name is much more clear now. The ImportData instances have a new attribute, \u0027import_by_ordinal\u0027, indicating whether a symbol is imported by name, in that case the \u0027ordinal\u0027 attributes will contain the ordinal. Otherwise the attribute \u0027name\u0027 will contain the name of the imported symbol.\n-Added CheckSum verification and generation methods. verify_checksum() will return True/False indicating whether the value in the file\u0027s OptionalHeader CheckSum field contains the real CheckSum of the file. generate_checksum() will calculate the checksum over the file\u0027s data. If one modifies fields and writes the changes to disk it\u0027s possible to update the checksum by reloading the modified field and setting the CheckSum field to generate_checksum()\u0027s result.\n-Other minor fixes\n\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@44 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "40881eb27109b93a0d2d315f2c9f09adde277e31",
      "tree": "d986dcecfe0594f996b81ec01e8b4855caacf3dd",
      "parents": [
        "a6475e393d478a39160459259211021a69629179"
      ],
      "author": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Dec 11 15:34:55 2007"
      },
      "committer": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Dec 11 15:34:55 2007"
      },
      "message": "\n-Bumped version to 1.2.9a\n-Added missing information when parsing import directory entries. Now the RVA of the Hint/Name entries is reported as an attribute named \"hint_name_table_rva\"; as well the hint, if present, will be exposed as the atribute \"hint\"\n-Fixed a minor bug retrieving the relative virtual address of the Hint/Name entries. Only the lower 16 bits where being fetched as opposed to the 31 that had to be read. It seldom was the case that the entries where farther then 64KiB, but it could have happened. Thanks to Halvar for spotting this one.\n\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@42 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "a6475e393d478a39160459259211021a69629179",
      "tree": "905cbd75afc0d89b1de0c0afd3ec35ef65cc2426",
      "parents": [
        "c7ae14b1fdbcdefbe177529494cd33bf5db7140d"
      ],
      "author": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Nov 25 22:39:50 2007"
      },
      "committer": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Sun Nov 25 22:39:50 2007"
      },
      "message": "\nAdded computation of MD5, SHA-1, SHA-256 and SHA-512 on a per-section basis. The results are always reported when invoking the dump_info() method in the PE instance.\nSHA-256 and SHA-512 are calculated only in Python 2.5 onwards which includes them in the hashlib module.\nThe SectionStructure instances now sport the following methods: get_hash_sha1(), get_hash_sha256(), get_hash_sha512(), get_hash_md5()\n\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@39 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "c7ae14b1fdbcdefbe177529494cd33bf5db7140d",
      "tree": "a15bb75e05de8f521174c101319a3476a72fb730",
      "parents": [
        "21cbdaf9ea57ad8ceb3b39cbd606211597c127d9"
      ],
      "author": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Nov 22 15:37:52 2007"
      },
      "committer": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Nov 22 15:37:52 2007"
      },
      "message": "\n-Changed defaults in ep_only keyword argument so it will do entry point only checks by default. Those are the fastest and more reliable ones, so it makes sense for them to be the default.\n\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@35 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "21cbdaf9ea57ad8ceb3b39cbd606211597c127d9",
      "tree": "f649acd849215cfabecdcf5bb210768db6460844",
      "parents": [
        "8a25be7aa0ffd0317f3c190f17285770188953fd"
      ],
      "author": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Nov 22 15:37:32 2007"
      },
      "committer": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Nov 22 15:37:32 2007"
      },
      "message": "\n-Bumped version number to 1.2.8\n-Faster entropy calculation by Gergely Erdelyi\n-Added some intelligence handling unicode strings in the resources information. Strings in the resources seem to always be Pascal style, added support for those\n-Changed some loops iterating using range() to use xrange() instead. It will make the code more robust/faster whenever invalid large numbers of elements are specified in different arrays\n-As per c1de0x suggestion, added set_data() method to SectionStructure\n-Added get_entropy() method to SectionStructure. Now it\u0027s only calculated on demand or when doing a dump_info()\n-c1de0x pointed out a redundant length check in __unpack_data__ and __unpack__. Now the exception raised by the latter is caught by the former and a warning added if a structure can\u0027t be parsed because of missing data\n-Fixed bug parsing export directory. Warning messages are added if it\u0027s found to be invalid\n-Fixed bug parsing the IAT. Some broken samples could crash pefile. The invalid IAT is now reported in the warnings\n-New method: relocate_image(new_ImageBase) will apply the relocation information, if any, to the image\n-get_memory_mapped_image() now supports and additional keyword argument, \"ImageBase\". By specifying an address it will return a data relocated (if the PE contains relocation information) as if it had been relocated to the new ImageBase\n-Added full family of bytes/word/dword/qword manipulation methods (used by the relocation functionality): \n-get_data_from_dword(dword), get_dword_from_data(data, offset), get_dword_at_rva(rva), get_dword_from_offset(offset), set_dword_at_rva(rva, dword), set_dword_at_offset(offset, dword)\n-get_data_from_word(word), get_word_from_data(data, offset), get_word_at_rva(rva), get_word_from_offset(offset), set_word_at_rva(rva, word), set_word_at_offset(offset, word)\n-get_data_from_qword(qword), get_qword_from_data(data, offset), get_qword_at_rva(rva), get_qword_from_offset(offset), set_qword_at_rva(rva, qword), set_qword_at_offset(offset, qword)\n-set_bytes_at_rva(rva, data), set_bytes_at_offset(offset, data)\n\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@34 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "8a25be7aa0ffd0317f3c190f17285770188953fd",
      "tree": "774c9181c70ff7a025c46eeb23563cf372bee557",
      "parents": [
        "b040e8d51cd22c8356e36ef517418b0d29613f21"
      ],
      "author": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Aug 21 23:14:35 2007"
      },
      "committer": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Tue Aug 21 23:14:35 2007"
      },
      "message": "\n-Version bumped to 1.2.7\n-Added additional IMAGE_SUBSYSTEM_* flags\n-Added processing of the Optional Header\u0027s DllCharacteristics\n-Time/date fileds are now reported as UTC times\n-Added warning message for suspicious entry point addresses\n-Several minor parsing bugs fixed\n-The URLs in the setup.py file now point to the Google Core project website\n\n\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@27 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "b040e8d51cd22c8356e36ef517418b0d29613f21",
      "tree": "d4eb48d96bf73b198f8627c51c6e32f77a91bc76",
      "parents": [
        "4b50b00253c10a9f91e9063c748bd52a7e2b08c7"
      ],
      "author": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Aug 09 00:10:06 2007"
      },
      "committer": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Aug 09 00:10:06 2007"
      },
      "message": "Added changes prior to moving to Google Code\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@3 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "4b50b00253c10a9f91e9063c748bd52a7e2b08c7",
      "tree": "13e2b4e99352d317719ff0771e183e5a2f7d991c",
      "parents": [
        "842dbf0c76ef81fa05665b8850b8acedf7834657"
      ],
      "author": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Aug 09 00:01:34 2007"
      },
      "committer": {
        "name": "ero.carrera",
        "email": "ero.carrera@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Thu Aug 09 00:01:34 2007"
      },
      "message": "Initial import\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@2 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    },
    {
      "commit": "842dbf0c76ef81fa05665b8850b8acedf7834657",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "(no author)",
        "email": "(no author)@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Jul 04 14:59:23 2007"
      },
      "committer": {
        "name": "(no author)",
        "email": "(no author)@8842bc4e-7134-0410-8230-5dc5194fb5c1",
        "time": "Wed Jul 04 14:59:23 2007"
      },
      "message": "Initial directory structure.\n\ngit-svn-id: http://pefile.googlecode.com/svn/trunk@1 8842bc4e-7134-0410-8230-5dc5194fb5c1\n"
    }
  ]
}
