Skip to content

Commit e875964

Browse files
committed
save
1 parent d27df79 commit e875964

File tree

2 files changed

+21
-12
lines changed

2 files changed

+21
-12
lines changed

parse_log.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,13 @@
77
import hashlib
88

99
# Anti-error: https://stackoverflow.com/questions/15063936/csv-error-field-larger-than-field-limit-131072
10-
csv.field_size_limit(sys.maxsize)
10+
#csv.field_size_limit(sys.maxsize)
1111

1212

1313
def cls():
1414
"""Clear console"""
1515
os.system('cls' if os.name=='nt' else 'clear')
1616

17-
1817
def numProcs(reportname):
1918
"""Number of created processes by executable in report"""
2019
with open(reportname, "rb") as f:
@@ -66,7 +65,6 @@ def sort(leg=True, reportsDir = "./reports/"):
6665
print("Filename: ", f)
6766
print("Progress: {0}/{1}. One process files: {2}. Broken: {3}".format(i, len(dirFiles), num, broken))
6867

69-
7068
def dataStats(reportsDir = "./reports/"):
7169
"""Statistics about number of reports"""
7270
legMulti = glob.glob(reportsDir+"/leg/*.json")
@@ -83,7 +81,7 @@ def dataStats(reportsDir = "./reports/"):
8381
print("""Malicious files:
8482
Total: {0}, One-proc: {1}, Multi-proc: {2}, Broken: {3} """
8583
.format(len(malBroken+malMulti+malOne), len(malOne), len(malMulti), len(malBroken)))
86-
print("Woking samples: {0}".format(len(malMulti+malOne+legMulti+legOne)))
84+
print("Working samples: {0}".format(len(malMulti+malOne+legMulti+legOne)))
8785

8886
def parseReport(report, numAPIs=None):
8987
numProcesses = numProcs(report)
@@ -104,7 +102,6 @@ def parseReport(report, numAPIs=None):
104102
#returns = " ".join(returns)
105103
yield apis#, statuses, returns
106104

107-
108105
def collectDataset(saveto='data.csv', reportsDir = "./reports/", append=False, limitNumAPI=None):
109106
csvData = [['Malicious', 'API Calls'],]#, 'Statuses', 'Returns'],]
110107
csvFile = open(saveto, 'w')
@@ -132,7 +129,6 @@ def collectDataset(saveto='data.csv', reportsDir = "./reports/", append=False, l
132129
writer.writerows([["1", apis]])#, statuses, returns]])
133130
csvFile.close()
134131

135-
136132
def countProcesses(reportsDir = "./reports/", printProcNum = 4, skipLegal=False):
137133
"""Count processes in reports and print reports with provided number of processes
138134
Also write to reports/malprocs.json the malicious files and the number of procs to analyze them manually"""
@@ -180,7 +176,6 @@ def countProcesses(reportsDir = "./reports/", printProcNum = 4, skipLegal=False)
180176
print("In Malicious reports: {0}".format(malProcNum))
181177
print("Total: {0}".format({ k: legalProcNum.get(k, 0) + malProcNum.get(k, 0) for k in set(legalProcNum) | set(malProcNum) }))
182178

183-
184179
def hashSortAPI(data, saveto):
185180
csvData = [['Malicious', 'API Calls'],]
186181
saveFile = open(saveto, mode='w+')

reports/sort.py

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,22 @@
11
import os
22
import shutil
33

4-
for f in os.listdir("./"):
5-
if f[:3] == "mal":
6-
shutil.move(f, "./mal/")
7-
elif f[:3] == "leg":
8-
shutil.move(f, "./leg/")
4+
def move():
5+
for f in os.listdir("./out"):
6+
if f[:3] == "mal":
7+
shutil.move(f, "./mal/")
8+
elif f[:3] == "leg":
9+
shutil.move(f, "./leg/")
10+
11+
def count():
12+
leg, mal = 0, 0
13+
for f in os.listdir("reports/out"):
14+
if f[:3] == "mal":
15+
mal += 1
16+
elif f[:3] == "leg":
17+
leg += 1
18+
print("Legal files: ", leg)
19+
print("Malicious files: ", mal)
20+
21+
if __name__ == "__main__":
22+
count()

0 commit comments

Comments
 (0)