Minor bug fixes and a new logo :)

This commit is contained in:
Sheksa
2014-12-14 18:39:45 +02:00
parent 0e96c3c169
commit 211c4fa3cc
8 changed files with 52 additions and 40 deletions

View File

@@ -26,7 +26,10 @@ class DBHandler:
def query(self, query, param=''):
try:
return self.cur.execute(query, param).fetchall()
if param is not '':
return self.cur.execute(query, param if type(param) is list else [param]).fetchall()
else:
return self.cur.execute(query).fetchall()
except lite.Error as e:
print "An error occurred:", e.args[0]
sys.exit()

View File

@@ -16,7 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import sys
import os
class init:
@@ -55,12 +55,20 @@ class init:
class bcolors:
PURPLE = '\033[95m'
BLUE = '\033[94m'
GREEN = '\033[92m'
YELLOW = '\033[93m'
RED = '\033[91m'
WHITE = '\033[0m'
PURPLE = ''
BLUE = ''
GREEN = ''
YELLOW = ''
RED = ''
WHITE = ''
if os.name is not 'nt':
PURPLE = '\033[95m'
BLUE = '\033[94m'
GREEN = '\033[92m'
YELLOW = '\033[93m'
RED = '\033[91m'
WHITE = '\033[0m'
class vars:
@@ -99,22 +107,26 @@ class vars:
eula_file = conf_folder + '/eula_run.conf'
maldb_ver_file = conf_folder + '/db.ver'
db_path = conf_folder + "/maldb.db"
giturl = 'https://raw.github.com/ytisf/theZoo/master/'
giturl_dl = 'https://github.com/ytisf/theZoo/raw/master/malwares/'
giturl = 'https://github.com/ytisf/theZoo'
with file(maldb_ver_file) as f:
db_ver = f.read()
maldb_banner = "\n"
maldb_banner += " sMMs oMMy \n"
maldb_banner += " :ooooo/ /ooooo: \n"
maldb_banner += " ```+MMd````````hMMo``` \n"
maldb_banner += " oNNNMMMNNNNNNNNMMMNNNs \n"
maldb_banner += " /oodMMdooyMMMMMMMMyoodMMdoo/ \ttheZoo " + version + " beta\n"
maldb_banner += " `..dMMMMMy. :MMMMMMMM/ sMMMMMm..`\t DB ver. " + db_ver + "\n"
maldb_banner += " dmmMMMMMMNmmNMMMMMMMMNmmNMMMMMMmmm\n"
maldb_banner += " NMMyoodMMMMMMMMMMMMMMMMMMMMdoosMMM\t" + giturl + "\n"
maldb_banner += " NMM- sMMMNNNNNNNNNNNNNNNMMy .MMM\n"
maldb_banner += " NMM- sMMy``````````````sMMy .MMM\n"
maldb_banner += " ooo. :ooooooo+ +ooooooo/ `ooo\n"
maldb_banner += " /MMMMN mMMMM+ \n"
maldb_banner += " Authors: " + authors + "\n"
maldb_banner = " __ ___ __ ____ ____\n"
maldb_banner += " / |/ /___ _/ / ______ _________ / __ \/ __ )\n"
maldb_banner += " / /|_/ / __ `/ / | /| / / __ `/ ___/ _ \______/ / / / __ |\n"
maldb_banner += " / / / / /_/ / /| |/ |/ / /_/ / / / __/_____/ /_/ / /_/ /\n"
maldb_banner += " /_/ /_/\__,_/_/ |__/|__/\__,_/_/ \___/ /_____/_____/\n\n"
maldb_banner += " version: " + \
version + "\n"
maldb_banner += " db_version: " + \
db_ver + "\n"
maldb_banner += " built by: " + \
authors + "\n\n"
addrs = ['reverce_tcp/', 'crazy_mal/', 'mal/', 'show malwares']
addrs = ['list', 'search', 'get', 'exit']

View File

@@ -62,13 +62,11 @@ class Controller:
if re.match('^search', cmd):
manySearch = manysearches.MuchSearch()
num_args = len(cmd.rsplit(' '))
if num_args > 1:
try:
args = cmd.rsplit(' ')[1:]
num_args = len(args)
if num_args > 0:
manySearch.sort(args)
else:
print "Uh oh, Invalid search query"
manySearch.sort(args)
except:
print 'Uh oh, Invalid query.'
self.MainMenu()
if cmd == 'exit':
@@ -121,11 +119,9 @@ class Controller:
updateHandler = Updater()
try:
updateHandler.get_malware(self.currentmodule)
self.MainMenu()
except:
print globals.bcolors.RED + '[-]' + globals.bcolors.WHITE + 'Error getting malware.'
self.MainMenu()
print globals.bcolors.RED + '[-] ' + globals.bcolors.WHITE + 'Error getting malware.'
self.MainMenu()
# If used the 'use' command
if re.match('^use', cmd):
try:

View File

@@ -15,6 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import sys
import urllib2
from imports import globals
@@ -50,7 +51,7 @@ class Updater:
curr_maldb_ver = f
response = urllib2.urlopen(
globals.vars.giturl + globals.vars.maldb_ver_file)
globals.vars.giturl_dl_dl + globals.vars.maldb_ver_file)
new_maldb_ver = response.read()
if new_maldb_ver == curr_maldb_ver:
print globals.bcolors.GREEN + '[+]' + globals.bcolors.WHITE + " No need for an update.\n" + globals.bcolors.GREEN + '[+]' + globals.bcolors.WHITE + " You are at " + new_maldb_ver + " which is the latest version."
@@ -62,7 +63,7 @@ class Updater:
f.close()
# Get the new CSV and update it
csvurl = globals.vars.giturl + globals.vars.main_csv_file
csvurl = globals.vars.giturl_dl_dl + globals.vars.main_csv_file
u = urllib2.urlopen(csvurl)
f = open(globals.vars.main_csv_file, 'wb')
meta = u.info()
@@ -88,9 +89,8 @@ class Updater:
loc = db.query("SELECT LOCATION FROM MALWARES WHERE ID=?", id)[0][0]
name = loc.rsplit('/')[-1]
# concat with location
ziploc = globals.vars.giturl + 'malwares/' + loc + '/' + name + '.zip'
passloc = globals.vars.giturl + 'malwares/' + loc + '/' + name + '.pass'
print ziploc + '\n' + passloc
ziploc = globals.vars.giturl_dl + loc + '/' + name + '.zip'
passloc = globals.vars.giturl_dl + loc + '/' + name + '.pass'
# get from git
u = urllib2.urlopen(ziploc)
f = open(name + '.zip', 'wb')
@@ -108,9 +108,10 @@ class Updater:
status = r"%10d [%3.2f%%]" % (
file_size_dl, file_size_dl * 100. / file_size)
status = status + chr(8) * (len(status) + 1)
print status,
sys.stdout.write('\r' + status)
print "\n"
f.close()
# get pass from git
u = urllib2.urlopen(passloc)
f = open(name + '.pass', 'wb')
@@ -128,6 +129,6 @@ class Updater:
status = r"%10d [%3.2f%%]" % (
file_size_dl, file_size_dl * 100. / file_size)
status = status + chr(8) * (len(status) + 1)
print status,
f.close()
# alert ready
sys.stdout.write('\r' + status)
print "\n"
f.close()