def get_downloaded_list(): while True: paths = os.listdir(TMP_FOLDER) for i in paths: sha256_list = [] sha256 = i.split('sha256=')[1].lower() if sha256 == get_sha256(TMP_FOLDER + i): if os.path.exists(get_benign_dir(sha256) + sha256): os.remove(get_benign_dir(sha256) + sha256) shutil.move(TMP_FOLDER + i, get_benign_dir(sha256) + sha256) os.system('echo "' + i + '" >>' + CURRENT_DOWNLOADED)
def get_vt_list(string): list_todo = [] path_m = get_malware_dir(string) path_b = get_benign_dir(string) df_b = pd.read_csv(path_b + 'reports.csv', sep=',') df_m = pd.read_csv(path_m + 'reports.csv', sep=',') list_m = list(df_m['sha256']) list_b = list(df_b['sha256']) paths = os.listdir(path_m) for m in paths: if len(m) == 64: if m in list_b: if os.path.exists(path_b + m): continue # os.remove(path_b+m) shutil.move(path_m + m, path_b) if m + '.data' in paths: shutil.move(path_m + m + '.data', path_b) if m + '.xml' in paths: shutil.move(path_m + m + '.xml', path_b) continue elif m not in list_m: list_todo.append(m) return list(set(list_todo))
def write_benign(list_dict): for dict_csv in list_dict: try: prex = dict_csv['sha256'][0][:3] file_path = get_benign_dir(prex) + 'vt_report.csv' except Exception, e: # print str(e) + '读sha256失败' pass try: df = pd.DataFrame(dict_csv, columns=columns) if os.path.exists(file_path): if check(file_path, dict_csv['sha256'][0]): df.to_csv(file_path, index=False, sep=',', mode='a', header=False, columns=columns) else: df.to_csv(file_path, index=False, sep=',', mode='a', columns=columns) except Exception, e: pass
def __name__ == '__main__': path_list = [] for i in string: for j in string: for k in string: path_list.append(get_malware_dir(i+j+k)) path_list.append(get_benign_dir(i+j+k)) GetApkData(psutil.cpu_count(), path_list)
import pandas as pd from core.settings import get_malware_dir from core.settings import get_benign_dir STRPATH = '0123456789abcdef' count_malware = 0 count_benign = 0 count_data_m = 0 count_data_b = 0 count_vt_m = 0 count_vt_b = 0 for i in list(STRPATH): for j in list(STRPATH): for k in list(STRPATH): malware_file = get_malware_dir(i+j+k) benign_file = get_benign_dir(i+j+k) malwares = os.listdir(malware_file) benigns = os.listdir(benign_file) count_vt_m = count_vt_m+int(os.popen('cat '+malware_file+'vt_report.csv|wc -l').read()[:-1]) count_vt_b = count_vt_b+int(os.popen('cat '+benign_file+'vt_report.csv|wc -l').read()[:-1]) for l in malwares: if 'xml' == l[-3:] continue if 'data' == l[-4:]: count_data_m = count_data_m + 1 continue if '.' in l: continue count_malware = count_malware + 1 for l in benigns: if 'xml' == l[-3:]: