2017-11-07 18:33:17 +07:00
#!/usr/bin/python
import os
import sys
import zipfile
import hashlib
import subprocess
OUTPUT_FOLDER = " OUTPUT "
def _help ( ) :
print ( " Please run with ' %s filename ' . " % sys . argv [ 0 ] )
return
def _Do ( file_path ) :
if not os . path . isfile ( file_path ) :
_help ( )
print ( " Seems like ' %s ' is not a file. " % file_path )
sys . exit ( 1 )
try :
os . mkdir ( OUTPUT_FOLDER )
except OSError :
print ( " Folder exists. Please remove it before continuing. " )
sys . exit ( 1 )
if " \\ " in file_path :
filename = file_path . split ( " \\ " ) [ : - 1 ]
elif " / " in file_path :
filename = file_path . split ( " / " ) [ : - 1 ]
else :
filename = file_path
# Create ZIP Archive:
try :
rc = subprocess . call ( [ ' 7z ' , ' a ' , ' -pinfected ' , ' -y ' , ' %s / %s .zip ' % ( OUTPUT_FOLDER , filename ) ] + [ file_path ] )
except :
print ( " Seems like you don ' t have 7z in your path. Please install or add with: \n \t brew install 7zip #(OSX) \n \t sudo apt-get install p7zip-full #(Linux) " )
sys . exit ( 1 )
compressed_path = ' %s / %s .zip ' % ( OUTPUT_FOLDER , filename )
print ( " Created ZIP Archive. " )
md5sum = hashlib . md5 ( open ( compressed_path , ' rb ' ) . read ( ) ) . hexdigest ( )
sha1sum = hashlib . sha1 ( open ( compressed_path , ' rb ' ) . read ( ) ) . hexdigest ( )
open ( " %s / %s .md5 " % ( OUTPUT_FOLDER , filename ) , ' w ' ) . write ( md5sum )
open ( " %s / %s .sha " % ( OUTPUT_FOLDER , filename ) , ' w ' ) . write ( sha1sum )
open ( " %s / %s .pass " % ( OUTPUT_FOLDER , filename ) , ' w ' ) . write ( " infected " )
return True
if __name__ == " __main__ " :
if len ( sys . argv ) != 2 :
_help ( )
sys . exit ( 1 )
2017-11-08 17:04:34 +07:00
_Do ( sys . argv [ 1 ] )
2017-11-07 18:33:17 +07:00
print ( " Please don ' t forget to add details to ' conf/maldb.db ' . " )
print ( " Thanks for helping us get this accessible to everyone. " )
print ( " " )