From 4a10d004ba37e97bf0272a87f98789cb10d808cd Mon Sep 17 00:00:00 2001 From: Philippe Lagadec Date: Sat, 29 Nov 2014 22:10:54 +0100 Subject: [PATCH] updated olemeta to use olefile, improved usage display and comments --- oletools/olemeta.py | 70 +++++++++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 39 insertions(+), 31 deletions(-) diff --git a/oletools/olemeta.py b/oletools/olemeta.py index 44b9d51..4710582 100644 --- a/oletools/olemeta.py +++ b/oletools/olemeta.py @@ -11,49 +11,57 @@ olemeta project website: http://www.decalage.info/python/olemeta olemeta is part of the python-oletools package: http://www.decalage.info/python/oletools - -olemeta is copyright (c) 2013, Philippe Lagadec (http://www.decalage.info) -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """ -__version__ = '0.01' +#=== LICENSE ================================================================= + +# olemeta is copyright (c) 2013-2014, Philippe Lagadec (http://www.decalage.info) +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #------------------------------------------------------------------------------ # CHANGELOG: -# 2013-07-24 v0.01 PL +# 2013-07-24 v0.01 PL: - first version +# 2014-11-29 v0.02 PL: - use olefile instead of OleFileIO_PL +# - improved usage display + +__version__ = '0.02' #------------------------------------------------------------------------------ # TODO: # + optparse -# + nicer output -# - CSV output -# - option to only show available properties (by default) +# + nicer output: table with fixed columns, datetime, etc +# + CSV output +# + option to only show available properties (by default) -import sys -from thirdparty.OleFileIO_PL import OleFileIO_PL +#=== IMPORTS ================================================================= +import sys +import thirdparty.olefile as olefile -ole = OleFileIO_PL.OleFileIO(sys.argv[1]) +try: + ole = olefile.OleFileIO(sys.argv[1]) +except IndexError: + sys.exit(__doc__) # parse and display metadata: meta = ole.get_metadata() -- libgit2 0.21.4