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