diff --git a/Softwares/chrome.exe b/Softwares/chrome.exe deleted file mode 100644 index eed0dba..0000000 Binary files a/Softwares/chrome.exe and /dev/null differ diff --git a/mainProject/SFAnalytics/DataBase/Softwares/ImageGlass.exe b/mainProject/SFAnalytics/DataBase/Analysis/ImageGlass.exe similarity index 100% rename from mainProject/SFAnalytics/DataBase/Softwares/ImageGlass.exe rename to mainProject/SFAnalytics/DataBase/Analysis/ImageGlass.exe diff --git a/mainProject/SFAnalytics/DataBase/Malwares/7zFM.exe b/mainProject/SFAnalytics/DataBase/Malwares/7zFM.exe deleted file mode 100644 index a2f8e7a..0000000 Binary files a/mainProject/SFAnalytics/DataBase/Malwares/7zFM.exe and /dev/null differ diff --git a/mainProject/SFAnalytics/DataBase/Uploads/7zFM.exe b/mainProject/SFAnalytics/DataBase/Uploads/7zFM.exe deleted file mode 100644 index a2f8e7a..0000000 Binary files a/mainProject/SFAnalytics/DataBase/Uploads/7zFM.exe and /dev/null differ diff --git a/mainProject/SFAnalytics/__pycache__/views.cpython-36.pyc b/mainProject/SFAnalytics/__pycache__/views.cpython-36.pyc index 41f7c26..8768286 100644 Binary files a/mainProject/SFAnalytics/__pycache__/views.cpython-36.pyc and b/mainProject/SFAnalytics/__pycache__/views.cpython-36.pyc differ diff --git a/mainProject/SFAnalytics/templates/SFAnalytics/malwareResultTemplate.html b/mainProject/SFAnalytics/templates/SFAnalytics/malwareResultTemplate.html index d3138c0..b145e04 100644 --- a/mainProject/SFAnalytics/templates/SFAnalytics/malwareResultTemplate.html +++ b/mainProject/SFAnalytics/templates/SFAnalytics/malwareResultTemplate.html @@ -107,17 +107,17 @@

{{fileAnalysed.name}}

diff --git a/mainProject/SFAnalytics/views.py b/mainProject/SFAnalytics/views.py index b2cd882..d5f4f1a 100644 --- a/mainProject/SFAnalytics/views.py +++ b/mainProject/SFAnalytics/views.py @@ -1,4 +1,5 @@ import os +import math from django.shortcuts import render from django.http import HttpResponseRedirect from .forms import * @@ -24,7 +25,7 @@ def __init__(self, path): for singleOpcode in opcodeList: name = singleOpcode.op porcentage = (singleOpcode.num / self.opcodeCount) * 100 - porcentage = float('{0:.2f}'.format(porcentage)) + porcentage = float('{0:.4f}'.format(porcentage)) index = self.__opcodeFeature(singleOpcode.op) self.opcodeListView.append(OpCodeViewLine(name, porcentage, index)) @@ -51,10 +52,9 @@ def __init__(self, string, index): #class for showing strings as features class StringView(object): def __init__(self, path): - #500 randomly picked strings strings = Strings(path) - stringList = strings.getRandStrings() - self.stringCount = strings.getCount() + self.stringCount = round(strings.getCount() * 0.1) + stringList = strings.getStrings()[:self.stringCount] self.stringFeatures = StringList.objects.all() self.stringListView = [] for string in stringList: @@ -131,10 +131,18 @@ def uploadView(request): #view from malwareResult template def malwareResultView(request): # Retrieves the first file of the upload folder - filesList = os.listdir('./SFAnalytics/DataBase/Uploads/') + analysisPath = './SFAnalytics/DataBase/Analysis/' + uploadPath = './SFAnalytics/DataBase/Uploads/' + #removing files from temp path + analysisList = os.listdir(analysisPath) + for f in analysisList: + os.remove('{}{}'.format(analysisPath, f)) # Retriaving file uploaded + filesList = os.listdir(uploadPath) uploadedFile = filesList[0] - path = './SFAnalytics/DataBase/Uploads/{}'.format(uploadedFile) + #moving file + os.rename('{}{}'.format(uploadPath, uploadedFile), '{}{}'.format(analysisPath, uploadedFile)) + path = '{}{}'.format(analysisPath, uploadedFile) #This is to hold in the future the value of the classification isMalware = False handlePE = DllView(path) @@ -143,7 +151,6 @@ def malwareResultView(request): fileAnalysed = AnalysedFile(uploadedFile, handlePE.getDataSectionEntropy(), handlePE.getTextSectionEntropy(), isMalware) opcodes = OpCodeView(path).getOpcodeListView() strings = StringView(path).getStringListView() - #os.remove(path) return render(request, 'SFAnalytics/malwareResultTemplate.html', {'opcodes' : opcodes, 'strings' : strings, 'dlls' : dlls, 'fileAnalysed' : fileAnalysed}) def uploadDataBaseView(request): @@ -192,8 +199,9 @@ def nonRepeat(hashFile, hashList): def handleStrings(strings): # Getting strings from DataBase, this makes things faster dataBaseStrings = StringList.objects.all() - fileStrings = strings.getRandStrings() - i = len(fileStrings) - 1 + count = round(strings.getCount() * 0.1) + fileStrings = strings.getStrings()[:count] + i = count - 1 idNumber = len(dataBaseStrings) while i >= 0: if len(fileStrings[i]) > 250: diff --git a/mainProject/db.sqlite3 b/mainProject/db.sqlite3 index a3471b2..5bc8ad0 100644 Binary files a/mainProject/db.sqlite3 and b/mainProject/db.sqlite3 differ