Initial commit!
This commit is contained in:
commit
026d463153
1118
ASM_Model_Generator.py
Normal file
1118
ASM_Model_Generator.py
Normal file
File diff suppressed because it is too large
Load Diff
1109
Bytes_Model_Generator.py
Normal file
1109
Bytes_Model_Generator.py
Normal file
File diff suppressed because it is too large
Load Diff
577
Final_Malware.py
Normal file
577
Final_Malware.py
Normal file
@ -0,0 +1,577 @@
|
||||
import os
|
||||
import time
|
||||
import logging
|
||||
import subprocess
|
||||
import tkinter as tk
|
||||
from tkinter import filedialog, messagebox, ttk
|
||||
from watchdog.observers import Observer
|
||||
from watchdog.events import FileSystemEventHandler
|
||||
import threading
|
||||
import pandas as pd
|
||||
import pickle
|
||||
import numpy as np
|
||||
from sklearn.preprocessing import MinMaxScaler
|
||||
import sys
|
||||
import os
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
import codecs
|
||||
import pickle
|
||||
import requests
|
||||
|
||||
|
||||
|
||||
isMonitoring = False
|
||||
|
||||
output_directory = "outputs"
|
||||
bytes_output_directory = "outputs/bytes_output"
|
||||
asm_output_directory = "outputs/asm_output"
|
||||
result_folder = "results"
|
||||
bytes_result_directory = "results/bytes_result"
|
||||
asm_result_directory = "results/asm_result"
|
||||
bytes_model_directory = "bytes_models"
|
||||
asm_model_directory = "asm_models"
|
||||
|
||||
if not os.path.exists(asm_model_directory) or not os.path.exists(bytes_model_directory):
|
||||
messagebox.showinfo("Error", "Models Not Found for Prediction")
|
||||
exit(-1)
|
||||
|
||||
if not os.path.exists(output_directory):
|
||||
os.makedirs(output_directory)
|
||||
|
||||
if not os.path.exists(asm_output_directory):
|
||||
os.makedirs(asm_output_directory)
|
||||
|
||||
if not os.path.exists(bytes_output_directory):
|
||||
os.makedirs(bytes_output_directory)
|
||||
|
||||
if not os.path.exists(result_folder):
|
||||
os.makedirs(result_folder)
|
||||
|
||||
if not os.path.exists(asm_result_directory):
|
||||
os.makedirs(asm_result_directory)
|
||||
|
||||
if not os.path.exists(bytes_result_directory):
|
||||
os.makedirs(bytes_result_directory)
|
||||
|
||||
logging.basicConfig(filename= "/home/tech4biz/Desktop/malware.logs", level=logging.INFO)
|
||||
|
||||
|
||||
|
||||
|
||||
def send_predictions_to_api(file_path):
|
||||
url = "http://142.93.221.85:8000/predict-malware/"
|
||||
with open(file_path, 'rb') as f:
|
||||
files = {'file': f}
|
||||
response = requests.post(url, files=files)
|
||||
if response.status_code == 200:
|
||||
print(f"Successfully sent {file_path} to API.")
|
||||
else:
|
||||
print(f"Failed to send {file_path} to API. Status code: {response.status_code}")
|
||||
|
||||
|
||||
def send_asm_predictions_to_api(file_path):
|
||||
url = "http://142.93.221.85:8000/predict-malware/"
|
||||
with open(file_path, 'rb') as f:
|
||||
files = {'file': f}
|
||||
response = requests.post(url, files=files)
|
||||
if response.status_code == 200:
|
||||
print(f"Successfully sent {file_path} to API.")
|
||||
else:
|
||||
print(f"Failed to send {file_path} to API. Status code: {response.status_code}")
|
||||
|
||||
|
||||
|
||||
def format_bytes_to_hex(data):
|
||||
hex_dump = ""
|
||||
for i in range(0, len(data), 16):
|
||||
chunk = data[i:i+16]
|
||||
hex_values = " ".join(f"{byte:02X}" for byte in chunk)
|
||||
address = f"{i:08X}"
|
||||
hex_dump += f"{address} {hex_values}\n"
|
||||
return hex_dump
|
||||
|
||||
def convert_file_to_hex(input_file, output_file):
|
||||
try:
|
||||
with open(input_file, 'rb') as f:
|
||||
data = f.read()
|
||||
|
||||
hex_dump = format_bytes_to_hex(data)
|
||||
|
||||
with open(output_file, 'w') as f:
|
||||
f.write(hex_dump)
|
||||
|
||||
logging.info(f"Converted '{input_file}' to hex dump and saved to '{output_file}'")
|
||||
except Exception as e:
|
||||
logging.error(f"Error converting '{input_file}': {e}")
|
||||
|
||||
def scan_and_convert_directory(directory, output_dir):
|
||||
for root, _, files in os.walk(directory, followlinks=True):
|
||||
for filename in files:
|
||||
input_file = os.path.join(root, filename)
|
||||
if not filename.endswith(".bytes"):
|
||||
output_file = os.path.join(output_dir, f"{filename}.bytes")
|
||||
if not os.path.exists(output_file):
|
||||
convert_file_to_hex(input_file, output_file)
|
||||
|
||||
class FileChangeHandler(FileSystemEventHandler):
|
||||
def __init__(self, output_dir, hex_dirs, disasm_dirs):
|
||||
self.output_dir = output_dir
|
||||
self.hex_dirs = hex_dirs
|
||||
self.disasm_dirs = disasm_dirs
|
||||
super().__init__()
|
||||
|
||||
def on_created(self, event):
|
||||
if not event.is_directory:
|
||||
input_file = event.src_path
|
||||
output_file_hex = os.path.join(bytes_output_directory, f"{os.path.basename(input_file)}.bytes")
|
||||
if not os.path.exists(output_file_hex):
|
||||
# Convert to hex in a new thread
|
||||
threading.Thread(target=self.run_hex_conversion, args=(input_file, output_file_hex)).start()
|
||||
threading.Thread(target=self.run_disassembly, args=(input_file,)).start()
|
||||
|
||||
# Disassemble in a new thread
|
||||
|
||||
def run_hex_conversion(self, input_file, output_file):
|
||||
convert_file_to_hex(input_file, output_file)
|
||||
run_malware_ai_analysis_bytes()
|
||||
def run_disassembly(self, file_path):
|
||||
try:
|
||||
print(f"Disassembling {file_path}")
|
||||
result = subprocess.run(['objdump', '-d', file_path], capture_output=True, text=True, check=True)
|
||||
assembly_code = result.stdout
|
||||
|
||||
base_name = os.path.basename(file_path)
|
||||
if not file_path.endswith(".asm"):
|
||||
asm_file_name = f"{base_name}.asm"
|
||||
asm_file_path = os.path.join(asm_output_directory, asm_file_name)
|
||||
|
||||
with open(asm_file_path, "w") as asm_file:
|
||||
asm_file.write(assembly_code)
|
||||
|
||||
print(f"Disassembly complete. Assembly code saved to {asm_file_path}")
|
||||
run_malware_analysis_asm()
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(f"Error disassembling file {file_path}: {e}", file=sys.stderr)
|
||||
|
||||
def monitor_directories(directories, output_dir):
|
||||
event_handler = FileChangeHandler(output_dir, hex_dirs=directories, disasm_dirs=directories)
|
||||
observer = Observer()
|
||||
for directory in directories:
|
||||
observer.schedule(event_handler, path=directory, recursive=True)
|
||||
logging.info(f"Monitoring directory: {directory}")
|
||||
|
||||
observer.start()
|
||||
try:
|
||||
while True:
|
||||
time.sleep(1)
|
||||
except KeyboardInterrupt:
|
||||
observer.stop()
|
||||
observer.join()
|
||||
|
||||
|
||||
def start_observer(directories, output_dir):
|
||||
|
||||
observer = Observer()
|
||||
event_handler = FileChangeHandler(output_dir, hex_dirs=directories, disasm_dirs=directories)
|
||||
for directory in directories:
|
||||
observer.schedule(event_handler, path=directory, recursive=True)
|
||||
logging.info(f"Monitoring directory: {directory}")
|
||||
|
||||
observer.start()
|
||||
return observer
|
||||
|
||||
|
||||
|
||||
def disassemble_elf(file_path, output_dir):
|
||||
try:
|
||||
print(f"Disassembling {file_path}")
|
||||
result = subprocess.run(['objdump', '-d', file_path], capture_output=True, text=True, check=True)
|
||||
assembly_code = result.stdout
|
||||
|
||||
base_name = os.path.basename(file_path)
|
||||
if not file_path.endswith(".asm"):
|
||||
asm_file_name = f"{base_name}.asm"
|
||||
asm_file_path = os.path.join(output_dir, asm_file_name)
|
||||
|
||||
with open(asm_file_path, "w") as asm_file:
|
||||
asm_file.write(assembly_code)
|
||||
|
||||
print(f"Disassembly complete. Assembly code saved to {asm_file_path}")
|
||||
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(f"Error disassembling file {file_path}: {e}", file=sys.stderr)
|
||||
|
||||
def find_elf_files(start_dirs):
|
||||
elf_files = []
|
||||
for start_dir in start_dirs:
|
||||
if not os.path.isdir(start_dir):
|
||||
continue
|
||||
|
||||
try:
|
||||
find_command = ['find', start_dir, '-path', '/proc', '-prune', '-o', '-path', '/sys', '-prune', '-o', '-path', '/run', '-prune', '-o', '-type', 'f', '-print']
|
||||
find_result = subprocess.run(find_command, capture_output=True, text=True, check=False)
|
||||
# print("Result: ",find_result)
|
||||
if find_result.returncode != 0:
|
||||
print(f"Error running find command: {find_result.stderr}", file=sys.stderr)
|
||||
continue
|
||||
|
||||
file_paths = find_result.stdout.splitlines()
|
||||
print(f"Found files in {start_dir}:")
|
||||
|
||||
for file_path in file_paths:
|
||||
try:
|
||||
file_command = ['file', '--mime-type', file_path]
|
||||
file_result = subprocess.run(file_command, capture_output=True, text=True, check=True)
|
||||
|
||||
if 'application/x-executable' in file_result.stdout or 'application/x-sharedlib' in file_result.stdout:
|
||||
elf_files.append(file_path)
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(f"Error running file command on {file_path}: {e}", file=sys.stderr)
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error processing directory {start_dir}: {e}", file=sys.stderr)
|
||||
|
||||
print(f"Found ELF files: {elf_files} ")
|
||||
return elf_files
|
||||
|
||||
def process_files(output_dir, start_dirs):
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
elf_files = find_elf_files(start_dirs)
|
||||
|
||||
if not elf_files:
|
||||
print("No ELF files found.")
|
||||
return
|
||||
|
||||
for elf_file in elf_files:
|
||||
disassemble_elf(elf_file, output_dir)
|
||||
|
||||
print("Disassembly complete. Assembly files are saved in the output directory.")
|
||||
|
||||
def process_files_malware(folder_path, files_to_process):
|
||||
feature_matrix = np.zeros((len(files_to_process), 258), dtype=int) # Adjusted to 258 columns
|
||||
|
||||
for k, file in enumerate(files_to_process):
|
||||
if file.endswith("bytes"):
|
||||
try:
|
||||
with open(os.path.join(folder_path, file), "r") as byte_file:
|
||||
for lines in byte_file:
|
||||
line = lines.rstrip().split(" ")
|
||||
for hex_code in line:
|
||||
if hex_code != '??':
|
||||
index = int(hex_code, 16)
|
||||
if index < 257: # Keep the bounds check for 257
|
||||
feature_matrix[k][index] += 1
|
||||
else:
|
||||
feature_matrix[k][257] += 1 # This now references the 258th feature
|
||||
except:
|
||||
continue
|
||||
# Normalize the features
|
||||
scaler = MinMaxScaler()
|
||||
feature_matrix = scaler.fit_transform(feature_matrix)
|
||||
|
||||
return feature_matrix
|
||||
|
||||
def test_files(folder_path, model_path, output_csv):
|
||||
files = os.listdir(folder_path)
|
||||
|
||||
# Check if the CSV file already exists
|
||||
if os.path.exists(output_csv):
|
||||
existing_results = pd.read_csv(output_csv)
|
||||
already_scanned_files = set(existing_results['File'].tolist())
|
||||
else:
|
||||
already_scanned_files = set()
|
||||
|
||||
# Filter out files that have already been scanned
|
||||
files_to_process = [file for file in files if file not in already_scanned_files]
|
||||
|
||||
if not files_to_process:
|
||||
print("All files have already been scanned.")
|
||||
return
|
||||
|
||||
# Process only the files that haven't been scanned yet
|
||||
feature_matrix = process_files_malware(folder_path, files_to_process)
|
||||
|
||||
# Load the trained model
|
||||
with open(model_path, 'rb') as model_file:
|
||||
model = pickle.load(model_file)
|
||||
|
||||
# Make predictions
|
||||
predictions = model.predict(feature_matrix)
|
||||
prediction_probs = model.predict_proba(feature_matrix)
|
||||
|
||||
# Create a DataFrame for the new results
|
||||
new_results = pd.DataFrame({
|
||||
'File': files_to_process,
|
||||
'Predicted Class': predictions,
|
||||
'Prediction Probability': [max(probs) for probs in prediction_probs]
|
||||
})
|
||||
|
||||
# Append new results to the existing CSV file or create a new one
|
||||
if os.path.exists(output_csv):
|
||||
new_results.to_csv(output_csv, mode='a', header=False, index=False)
|
||||
else:
|
||||
new_results.to_csv(output_csv, index=False)
|
||||
|
||||
print(f"New predictions appended to {output_csv}")
|
||||
|
||||
def run_malware_ai_analysis_bytes():
|
||||
print("bytes malware analysis started")
|
||||
directory = bytes_output_directory
|
||||
model_files = bytes_model_directory
|
||||
|
||||
model_folder = model_files # Folder containing the .pkl files
|
||||
model_files = [f for f in os.listdir(model_folder) if f.endswith('.pkl')]
|
||||
|
||||
for model_file in model_files:
|
||||
model_path = os.path.join(model_folder, model_file)
|
||||
output_csv = os.path.join(bytes_result_directory, f"bytes_predictions_{os.path.splitext(model_file)[0]}.csv")
|
||||
test_files(directory, model_path, output_csv)
|
||||
try:
|
||||
send_predictions_to_api(output_csv)
|
||||
except:
|
||||
print("Connection Failed")
|
||||
|
||||
|
||||
|
||||
|
||||
def preprocess_asm_file(file_path):
|
||||
prefixes = ['.text:', '.Pav:', '.idata:', '.data:', '.bss:', '.rdata:', '.edata:', '.rsrc:', '.tls:', '.reloc:', '.BSS:', '.CODE']
|
||||
opcodes = ['jmp', 'mov', 'retf', 'push', 'pop', 'xor', 'retn', 'nop', 'sub', 'inc', 'dec', 'add', 'imul', 'xchg', 'or', 'shr', 'cmp', 'call', 'shl', 'ror', 'rol', 'jnb', 'jz', 'rtn', 'lea', 'movzx']
|
||||
keywords = ['.dll', 'std::', ':dword']
|
||||
registers = ['edx', 'esi', 'eax', 'ebx', 'ecx', 'edi', 'ebp', 'esp', 'eip']
|
||||
|
||||
# Initialize counts
|
||||
prefix_counts = np.zeros(len(prefixes), dtype=int)
|
||||
opcode_counts = np.zeros(len(opcodes), dtype=int)
|
||||
keyword_counts = np.zeros(len(keywords), dtype=int)
|
||||
register_counts = np.zeros(len(registers), dtype=int)
|
||||
|
||||
# Process file
|
||||
with open(file_path, 'r', encoding='cp1252', errors='replace') as f:
|
||||
for line in f:
|
||||
line = line.rstrip().split()
|
||||
if not line:
|
||||
continue
|
||||
l = line[0]
|
||||
for i, prefix in enumerate(prefixes):
|
||||
if prefix in l:
|
||||
prefix_counts[i] += 1
|
||||
line = line[1:]
|
||||
for i, opcode in enumerate(opcodes):
|
||||
if any(opcode == li for li in line):
|
||||
opcode_counts[i] += 1
|
||||
for i, register in enumerate(registers):
|
||||
if any(register in li and ('text' in l or 'CODE' in l) for li in line):
|
||||
register_counts[i] += 1
|
||||
for i, keyword in enumerate(keywords):
|
||||
if any(keyword in li for li in line):
|
||||
keyword_counts[i] += 1
|
||||
|
||||
# Create feature vector
|
||||
feature_vector = np.concatenate([prefix_counts, opcode_counts, register_counts, keyword_counts])
|
||||
|
||||
return feature_vector
|
||||
|
||||
|
||||
# Main function to load models and make predictions
|
||||
def run_malware_analysis_asm(asm_folder_path=asm_output_directory, models_folder=asm_model_directory):
|
||||
print("Starting analysis...")
|
||||
|
||||
# Get all .asm files in the folder
|
||||
asm_files = [f for f in os.listdir(asm_folder_path) if f.endswith('.asm')]
|
||||
|
||||
# Load all .pkl models from the models folder
|
||||
model_files = [f for f in os.listdir(models_folder) if f.endswith('.pkl')]
|
||||
|
||||
models = {}
|
||||
for model_file in model_files:
|
||||
model_name = os.path.splitext(model_file)[0]
|
||||
with open(os.path.join(models_folder, model_file), 'rb') as f:
|
||||
model_clf = pickle.load(f)
|
||||
models[model_name] = model_clf
|
||||
|
||||
# Prediction and saving results
|
||||
for model_name, model_clf in models.items():
|
||||
print(f"Making asm predictions with {model_name}...")
|
||||
|
||||
# Generate the correct class mapping
|
||||
def get_class_mapping(model_name):
|
||||
if model_name == 'XGBClassifier':
|
||||
return {i: i for i in range(9)} # XGB uses 0-8
|
||||
else:
|
||||
return {i: i+1 for i in range(9)} # Other models use 1-9
|
||||
|
||||
class_mapping = get_class_mapping(model_name)
|
||||
|
||||
# Check if result file for the model already exists
|
||||
results_file_path = f'{asm_result_directory}/asm_prediction_{model_name}.csv'
|
||||
if os.path.exists(results_file_path):
|
||||
results_df = pd.read_csv(results_file_path)
|
||||
else:
|
||||
results_df = pd.DataFrame(columns=['file_name', 'prediction', 'probability'])
|
||||
|
||||
new_predictions = []
|
||||
|
||||
for asm_file in asm_files:
|
||||
if asm_file not in results_df['file_name'].values:
|
||||
file_path = os.path.join(asm_folder_path, asm_file)
|
||||
feature_vector = preprocess_asm_file(file_path)
|
||||
feature_vector = feature_vector.reshape(1, -1)
|
||||
|
||||
# Predict using the current model
|
||||
prediction = model_clf.predict(feature_vector)
|
||||
probability = model_clf.predict_proba(feature_vector)
|
||||
|
||||
mapped_prediction = class_mapping[prediction[0]]
|
||||
predicted_prob = probability[0][prediction[0]]
|
||||
|
||||
|
||||
if "XGB" in model_name.upper():
|
||||
new_predictions.append({
|
||||
'file_name': asm_file,
|
||||
'prediction': mapped_prediction+1,
|
||||
'probability': predicted_prob
|
||||
})
|
||||
else:
|
||||
new_predictions.append({
|
||||
'file_name': asm_file,
|
||||
'prediction': mapped_prediction,
|
||||
'probability': predicted_prob
|
||||
})
|
||||
|
||||
# Append new predictions to results DataFrame
|
||||
if new_predictions:
|
||||
new_predictions_df = pd.DataFrame(new_predictions)
|
||||
results_df = pd.concat([results_df, new_predictions_df], ignore_index=True)
|
||||
results_df.to_csv(results_file_path, index=False)
|
||||
|
||||
print(f"Predictions saved to {results_file_path}.")
|
||||
try:
|
||||
send_asm_predictions_to_api(results_file_path)
|
||||
except:
|
||||
print("Connection Failed")
|
||||
|
||||
|
||||
def run_hex_conversion():
|
||||
hex_dirs = [d.strip() for d in hex_files_entry.get().split(',')]
|
||||
hex_output_dir =bytes_output_directory
|
||||
|
||||
if not hex_dirs or not hex_output_dir:
|
||||
messagebox.showwarning("Warning", "Please specify both directories and output directory.")
|
||||
return
|
||||
|
||||
def hex_conversion_task():
|
||||
for hex_dir in hex_dirs:
|
||||
hex_dir = hex_dir.strip()
|
||||
if os.path.isdir(hex_dir):
|
||||
scan_and_convert_directory(hex_dir, hex_output_dir)
|
||||
else:
|
||||
messagebox.showwarning("Warning", f"{hex_dir} is not a directory.")
|
||||
|
||||
print("Hex conversion complete.")
|
||||
run_malware_ai_analysis_bytes()
|
||||
global isMonitoring
|
||||
if(not isMonitoring):
|
||||
isMonitoring = True
|
||||
start_monitoring()
|
||||
# hex_conversion_task()
|
||||
threading.Thread(target=hex_conversion_task).start()
|
||||
|
||||
def run_disassembly():
|
||||
start_dirs = [d.strip() for d in start_dirs_entry.get().split(',')]
|
||||
output_dir = asm_output_directory
|
||||
|
||||
if not start_dirs or not output_dir:
|
||||
messagebox.showwarning("Warning", "Please specify both directories and output directory.")
|
||||
return
|
||||
|
||||
def disassembly_task():
|
||||
|
||||
process_files(output_dir, start_dirs)
|
||||
run_malware_analysis_asm()
|
||||
|
||||
global isMonitoring
|
||||
if(not isMonitoring):
|
||||
isMonitoring = True
|
||||
start_monitoring()
|
||||
# disassembly_task()
|
||||
threading.Thread(target=disassembly_task).start()
|
||||
|
||||
def start_monitoring():
|
||||
|
||||
directories = [d.strip() for d in hex_files_entry.get().split(',')]
|
||||
directories += [d.strip() for d in start_dirs_entry.get().split(',')]
|
||||
output_dir = output_directory
|
||||
|
||||
def monitoring_task():
|
||||
monitor_directories(directories, output_dir)
|
||||
|
||||
# Start monitoring in a new thread
|
||||
threading.Thread(target=monitoring_task, daemon=True).start()
|
||||
print("Started monitoring directories.")
|
||||
|
||||
def on_closing():
|
||||
|
||||
root.destroy()
|
||||
|
||||
def browse_hex_directories():
|
||||
directories = []
|
||||
while True:
|
||||
directory = filedialog.askdirectory(title="Select a Directory")
|
||||
if not directory:
|
||||
break # Stop if no more directories are selected
|
||||
directories.append(directory)
|
||||
|
||||
if directories:
|
||||
hex_files_entry.delete(0, tk.END)
|
||||
hex_files_entry.insert(0, ', '.join(directories))
|
||||
|
||||
def browse_start_dirs():
|
||||
directories = []
|
||||
while True:
|
||||
directory = filedialog.askdirectory(title="Select a Directory")
|
||||
if not directory:
|
||||
break # Stop if no more directories are selected
|
||||
directories.append(directory)
|
||||
|
||||
if directories:
|
||||
start_dirs_entry.delete(0, tk.END)
|
||||
start_dirs_entry.insert(0, ', '.join(directories))
|
||||
|
||||
|
||||
def show_frame(frame):
|
||||
frame.tkraise()
|
||||
|
||||
|
||||
# Create the main window
|
||||
root = tk.Tk()
|
||||
root.title("File Conversion and Disassembly Wizard")
|
||||
|
||||
|
||||
root.protocol("WM_DELETE_WINDOW", on_closing)
|
||||
|
||||
|
||||
notebook = ttk.Notebook(root)
|
||||
notebook.pack(fill='both', expand=True)
|
||||
|
||||
hex_frame = ttk.Frame(notebook)
|
||||
asm_frame = ttk.Frame(notebook)
|
||||
malware_frame = ttk.Frame(notebook)
|
||||
notebook.add(hex_frame, text='Hex Conversion')
|
||||
notebook.add(asm_frame, text='ELF Disassembly')
|
||||
|
||||
tk.Label(hex_frame, text="Select Directories to Convert to Hex:").pack(pady=5)
|
||||
hex_files_entry = tk.Entry(hex_frame, width=80)
|
||||
hex_files_entry.pack(pady=5)
|
||||
tk.Button(hex_frame, text="Browse...", command=browse_hex_directories).pack(pady=5)
|
||||
tk.Button(hex_frame, text="Convert to Hex", command=run_hex_conversion).pack(pady=10)
|
||||
|
||||
tk.Label(asm_frame, text="Select Directories to Scan for ELF Files:").pack(pady=5)
|
||||
start_dirs_entry = tk.Entry(asm_frame, width=80)
|
||||
start_dirs_entry.pack(pady=5)
|
||||
tk.Button(asm_frame, text="Browse...", command=browse_start_dirs).pack(pady=5)
|
||||
|
||||
tk.Button(asm_frame, text="Disassemble ELF Files", command=run_disassembly).pack(pady=10)
|
||||
show_frame(hex_frame)
|
||||
root.mainloop()
|
||||
BIN
asm_models/KNeighborsClassifier.pkl
Normal file
BIN
asm_models/KNeighborsClassifier.pkl
Normal file
Binary file not shown.
BIN
asm_models/LogisticRegression.pkl
Normal file
BIN
asm_models/LogisticRegression.pkl
Normal file
Binary file not shown.
BIN
asm_models/RandomForestClassifier.pkl
Normal file
BIN
asm_models/RandomForestClassifier.pkl
Normal file
Binary file not shown.
BIN
asm_models/XGBClassifier.pkl
Normal file
BIN
asm_models/XGBClassifier.pkl
Normal file
Binary file not shown.
9556
asmoutputfile.csv
Normal file
9556
asmoutputfile.csv
Normal file
File diff suppressed because it is too large
Load Diff
0
asmsmallfile.txt
Normal file
0
asmsmallfile.txt
Normal file
1
hugeasmfile.txt
Normal file
1
hugeasmfile.txt
Normal file
@ -0,0 +1 @@
|
||||
sampleSubmission,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
9555
large_asmfile.txt
Normal file
9555
large_asmfile.txt
Normal file
File diff suppressed because it is too large
Load Diff
81
largeasmfile.txt
Normal file
81
largeasmfile.txt
Normal file
@ -0,0 +1,81 @@
|
||||
0ACDbR5M3ZhBJajygTuf,17,23917,0,241,417,0,250376,0,3,0,3,0,0,85,818,0,25,14,105,4,0,1,1,2,9,0,0,51,1,355,9,0,0,0,0,264,0,70,0,329,297,337,310,324,279,623,10,0,0,0,91,
|
||||
0gcZkSFr7VnEmLPbTxUe,18,69453,0,298,123,0,1430,0,0,0,0,0,0,0,28,1,427,197,122,24,0,215,0,0,133,0,0,37,0,118,98,0,0,0,0,8,0,250,0,788,5,958,6,798,5,402,48,0,27,0,115,
|
||||
0fxgjYEClPL1BDbcshzJ,17,1444,0,0,1057,0,1497,0,3,0,0,0,0,1,133,0,275,107,7,36,0,40,1,1,75,0,1,7,0,4,108,0,0,0,0,1,0,29,0,101,78,94,51,95,126,117,145,0,4,0,0,
|
||||
0EL7OGZKozbiNCVP61gk,17,0,0,251,0,0,0,0,3,0,3,0,0,1156,743,389,395,193,138,441,12,130,141,133,480,37,137,114,10,119,81,12,11,19,6,9,0,28,0,473,517,1097,517,516,599,760,215,0,10,0,99,
|
||||
0fGuCWgTraQ6nEmLPN8q,17,2043,0,143,1036,0,221,0,3,0,0,0,0,17,152,0,372,183,30,46,0,55,1,2,95,0,1,9,0,4,154,0,0,0,0,2,0,41,0,85,94,130,63,167,256,148,200,0,12,0,39,
|
||||
0fvnGU7dkbr8iEhZuMcP,0,124869,0,334,26663,0,56858,0,0,0,0,0,0,248,5405,0,1371,748,670,407,40,493,269,111,827,107,1,203,218,647,611,130,0,0,51,395,0,412,37,2649,2847,4359,1047,3227,1524,1529,1196,0,7,17,127,
|
||||
0czUXKSCiGY2j5mxLdWa,20,11350,0,423,140569,0,526,0,0,0,0,0,0,313,2289,0,1527,376,274,150,0,445,5,4,445,491,0,178,3,445,377,71,0,0,0,232,0,168,0,502,1269,2328,678,983,858,814,167,0,10,2,106,
|
||||
0DM3hS6Gg2QVKb1fZydv,0,111888,0,595,24979,0,24402,0,0,0,0,0,0,57,620,0,216,110,69,141,1,111,64,41,210,22,0,76,19,111,71,45,0,3,8,48,0,104,4,414,271,693,183,417,201,482,71,0,19,0,206,
|
||||
0evDQX7AVfC1ZTJEKltg,17,1355,0,183,1019,0,217,0,3,0,0,0,0,1,93,0,212,124,46,26,0,34,0,2,104,0,0,5,0,5,157,0,0,0,0,2,0,19,0,82,44,63,55,167,200,84,151,0,12,0,39,
|
||||
0glscKoNakWL84EpunPe,19,2153,0,0,1039,0,1500,0,3,0,0,0,0,0,190,0,424,165,10,54,0,69,0,2,122,0,0,7,0,3,168,0,0,0,0,0,0,47,0,138,116,107,85,154,182,186,224,0,4,0,0,
|
||||
0Eo9qT6idXHDMebwmvPA,17,2007,0,142,1042,0,219,0,3,0,0,0,0,0,158,0,373,175,9,46,0,56,0,2,186,0,1,4,0,9,169,0,0,0,0,2,0,39,0,122,79,105,74,115,239,154,272,0,12,0,39,
|
||||
0b5LqcWix3J4fGIEhXQu,17,1134,0,145,1039,0,252,0,3,0,0,0,0,32,71,0,239,81,3,40,0,2,0,0,3,0,0,0,0,1,119,0,0,0,0,2,0,4,0,44,34,38,38,41,169,81,1,0,12,0,46,
|
||||
0aVxkvmflEizUBG2rMT4,18,10189,0,206,4595,92,0,0,3,0,0,0,0,73,2532,7,379,24,14,27,0,363,9,5,417,2,5,17,0,181,176,31,1,2,15,77,0,16,23,1101,8,1197,20,1206,11,1546,98,0,15,0,76,
|
||||
0gSm7QZu5x6MBvVzUncH,19,1785,0,125,1066,0,218,0,3,0,0,0,0,1,250,0,349,138,11,46,1,57,1,1,101,0,0,3,0,6,137,0,0,0,0,2,0,37,0,99,64,287,71,159,172,146,182,0,12,0,39,
|
||||
0aKlH1MRxLmv34QGhEJP,18,3269,0,269,32811,0,25608,0,3,0,3,0,0,41,406,0,78,13,22,15,0,51,31,31,86,16,0,34,0,107,29,4,0,0,63,18,0,11,56,128,15,96,14,242,6,603,58,0,35,0,101,
|
||||
0cH8YeO15ZywEhPrJvmj,19,10668,0,139,43,50,659,3,3,0,3,0,0,282,3104,0,198,267,144,106,11,200,106,42,244,63,3,61,29,300,285,31,0,0,18,234,0,246,25,1139,785,2124,771,844,595,793,2102,0,5,0,60,
|
||||
0df4cbsTBCn1VGW8lQRv,17,1955,0,180,122583,0,451,0,0,0,0,0,0,14,300,0,391,62,44,20,0,28,0,0,71,0,0,0,1,61,155,1,0,0,1,48,0,101,4,100,187,337,150,147,135,152,261,0,35,0,54,
|
||||
0BZQIJak6Pu2tyAXfrzR,17,0,0,248,0,0,0,0,3,0,3,0,0,31,204,107,192,67,72,118,3,68,27,34,76,8,27,56,5,48,38,10,7,7,4,6,0,22,0,131,126,241,122,147,113,426,76,0,9,0,99,
|
||||
0DTp59Av1RLifoKlUdm7,0,13831,0,453,30496,0,880278,0,0,0,0,0,0,357,1906,0,974,471,405,297,1,277,154,75,192,6,0,180,35,484,415,84,0,0,41,409,0,364,328,925,1817,3108,453,1397,742,1352,344,0,5,30,113,
|
||||
0D9IedmC1viTPugLRWX6,17,1985,0,141,1033,0,219,0,3,0,0,0,0,1,168,0,359,169,8,46,0,57,0,2,187,0,1,3,0,4,171,0,0,0,0,2,0,33,0,142,99,129,72,85,219,148,272,0,12,0,39,
|
||||
0B2RwKm6dq9fjUWDNIOa,18,63242,0,274,140,0,1225,0,0,0,0,0,0,1,35,0,578,221,588,31,0,184,0,0,186,0,0,103,0,149,179,0,0,0,0,109,0,312,190,1088,4,1367,5,1086,7,829,62,0,21,0,107,
|
||||
0A32eTdBKayjCWhZqDOQ,0,13801,0,455,842632,0,39622,0,0,0,0,0,0,361,1923,0,971,471,412,300,1,283,154,75,194,10,0,181,41,483,411,84,0,0,41,413,0,367,328,956,1830,3140,447,1425,754,1352,347,0,5,31,114,
|
||||
0cGWK6VvCkm7O2AxDjtw,17,2554,0,123,783896,0,658,0,0,0,0,0,0,21,66,0,80,51,5,10,1813,17,1,1,27,0,0,0,1,2,53,0,0,0,0,1,0,10,0,28,38,104,21,42,35,32,44,0,12,0,39,
|
||||
0C4aVbN58O1nAigFJt9z,20,16549,0,153,20517,0,22687,0,3,0,3,0,0,246,2779,3,2635,499,159,173,23,78,135,77,116,18,13,62,2,843,889,7,3,0,78,534,0,271,94,465,1535,3088,845,1261,1190,2233,244,0,17,0,57,
|
||||
0BY2iPso3bEmudlUzpfq,20,5830,0,154,2933,0,0,0,3,0,3,0,0,32,1592,0,168,49,412,22,0,283,34,19,399,33,2,124,11,127,41,0,1,0,15,32,0,44,30,543,248,1252,353,867,267,1129,105,0,9,0,842,
|
||||
0GKp9ZJclxTABMunIOD2,0,14184,0,384,838527,0,39603,0,0,0,0,0,0,343,1999,0,993,488,424,317,1,295,154,82,199,6,0,220,43,485,418,84,3,14,41,426,0,379,328,992,1887,3207,473,1511,775,1358,382,0,5,30,93,
|
||||
0CPaAXtyswrBq83D6VEg,18,25171,0,1179,1458178,0,1773,0,0,0,0,0,0,877,6096,0,3334,525,511,300,0,841,7,5,745,92,0,233,2,893,1437,155,0,0,0,541,0,408,1,1982,1950,4767,1052,2883,1474,744,978,0,18,12,450,
|
||||
0co46B8IkPt2UN3HSaw7,18,5061,0,395,51213,17,0,0,0,0,0,0,0,7,991,0,837,103,37,106,0,48,12,17,158,0,4,34,5,65,339,4,3,1,7,40,0,99,28,385,44,638,61,654,59,1135,290,0,7,0,186,
|
||||
0gkj92oIleU4SYiCWpaM,17,4282,0,227,535,0,4272,0,3,0,3,0,0,68,680,0,801,107,56,48,1,20,6,2,239,1,0,3,1,122,377,1,0,0,3,120,0,58,7,178,305,758,143,297,194,177,626,0,7,0,86,
|
||||
0cfIE39ihRNo2rkZOw5H,17,1690,0,127,1068,0,213,0,3,0,0,0,0,0,142,0,355,142,10,46,1,55,1,2,101,0,0,7,0,4,137,0,0,0,0,0,0,48,0,122,73,143,94,121,148,149,182,0,12,0,39,
|
||||
0Dk7Wd8MERu3b5rmQzCK,17,973,0,189,1022,0,218,0,3,0,0,0,0,1,55,0,128,94,45,16,0,20,0,2,64,0,0,7,0,2,123,0,0,0,0,2,0,14,0,32,34,63,17,144,160,50,91,0,12,0,39,
|
||||
0dauMIK4ATfybzqUgNLc,18,12889,0,965,167971,0,1501,0,0,0,3,0,0,609,1867,0,2115,533,258,199,0,375,3,10,376,121,2,157,2,672,763,18,0,0,0,279,0,110,0,318,1007,1942,546,613,685,928,146,0,21,12,369,
|
||||
0dnTixlMYzDUpsvEVrGc,0,7166,0,452,4361,0,7149,0,0,0,0,0,0,96,1708,0,527,226,145,116,3,178,68,40,183,26,0,98,19,209,304,55,3,1,24,67,0,181,86,730,847,1169,324,1098,403,603,281,0,16,22,119,
|
||||
0FdOaDWrfBU6TqwCRYxA,19,3279,0,126,783881,0,636,0,3,0,0,0,0,1,213,0,538,270,12,164,1,66,0,2,121,0,1,8,0,4,277,0,0,0,0,1,0,41,0,129,91,403,98,106,213,180,225,0,12,0,39,
|
||||
0FKerJl18xOc3jdoyg4A,0,5351,0,561,4388,0,2476133,0,0,0,0,0,0,81,1108,0,443,171,99,76,2,103,58,36,127,14,0,68,18,158,200,49,5,4,16,63,0,147,6,434,589,831,256,656,306,560,249,0,22,16,179,
|
||||
0G2RV1chBlIbkt6JqA5Q,0,5135,0,301,3763,0,2253608,0,0,0,0,0,0,53,1333,0,383,181,75,96,2,124,10,8,159,34,0,47,7,125,237,8,3,3,18,46,0,124,74,403,678,907,212,748,292,333,234,0,10,22,71,
|
||||
0GKzFQ81IYXqUWkmfv26,19,1984,0,139,1002,0,219,0,3,0,0,0,0,0,142,0,362,182,9,46,0,53,1,1,188,0,1,9,0,6,172,0,0,0,0,1,0,46,0,140,74,126,60,93,253,148,273,0,12,0,39,
|
||||
0dkuzUXLTEFwW71vP5bS,17,1005,0,195,1028,0,219,0,3,0,0,0,0,0,60,0,131,97,44,16,0,22,0,2,65,0,1,3,0,4,125,0,0,0,0,0,0,13,0,23,30,37,30,179,175,49,92,0,12,0,39,
|
||||
0CzL6rfwaTqGOu9eghBt,19,3310,0,128,783897,0,636,0,3,0,0,0,0,0,193,0,541,284,7,164,1,69,0,2,122,0,0,7,0,9,277,0,0,0,0,1,0,44,0,101,75,358,80,201,207,185,224,0,12,0,39,
|
||||
0aU7XWsr8RtN94jvo3lG,17,3428,0,126,783912,0,598,0,0,0,0,0,0,120,195,0,461,295,8,60,0,71,4,1,127,0,1,10,0,4,302,0,0,0,0,3,0,57,0,136,96,384,112,122,233,207,245,0,12,0,39,
|
||||
0GbMkYlNyt72OzBjIcVh,0,124198,0,516,6550,0,21264,0,0,0,0,0,0,389,40907,0,2261,792,282,123,0,235,275,95,438,22825,0,112,90,584,834,115,0,0,29,224,0,431,375,19614,12202,31517,11975,26870,19901,6078,301,0,47,17,213,
|
||||
0cTu2bkefOAJqIhYUWFK,20,5855,0,159,4105,0,26222,0,3,0,3,0,0,102,927,0,713,128,64,69,14,47,44,31,114,11,6,13,3,172,264,2,0,0,57,120,0,107,29,100,393,788,174,367,327,1040,149,0,26,0,49,
|
||||
0BEsCP7NAUy8XmkenHWG,0,5156,0,334,3600,0,1841766,0,0,0,0,0,0,50,1303,0,437,193,80,101,13,97,7,2,136,73,0,15,6,155,236,10,1,0,19,39,0,106,3,362,715,789,221,655,406,375,245,0,10,22,81,
|
||||
0fHVZKeTE6iRb1PIQ4au,19,110370,0,825,27978,0,21193,0,3,0,3,0,0,2695,15990,0,14218,3910,1222,1631,0,696,729,290,1696,46,3,709,159,3290,8499,154,0,0,144,2562,0,5649,190,1800,10078,18486,4866,13029,6039,15329,2573,0,43,0,199,
|
||||
0Cq4wfhLrKBJiut1lYAZ,17,0,0,110,0,0,511,0,3,19,3,0,0,175,727,86,540,172,110,130,1,81,58,31,257,9,51,85,1,119,122,2,3,3,23,32,0,58,0,351,289,558,320,344,305,940,248,0,5,0,38,
|
||||
0eN9lyQfwmTVk7C2ZoYp,17,1118,0,0,1039,0,1457,0,3,0,0,0,0,32,70,0,236,81,1,40,0,3,0,0,2,0,0,0,0,2,119,0,0,0,0,2,0,7,0,33,33,63,86,33,121,81,1,0,4,0,0,
|
||||
0daTri9PSkeEsVHu5Dhw,17,3512,0,124,783915,0,663,0,0,0,0,0,0,120,205,0,455,286,130,60,1,80,4,1,128,0,0,9,0,8,302,0,0,0,0,4,0,46,0,124,123,746,101,118,216,199,244,0,12,0,39,
|
||||
0DNVFKwYlcjO7bTfJ5p1,19,43908,0,460,4368,0,8320,0,3,0,3,0,0,964,7408,0,4465,1432,761,639,0,508,323,113,861,32,1,255,67,1557,2380,64,0,0,83,1263,0,1071,463,2431,3695,7272,1679,4595,2150,6878,1282,0,30,0,123,
|
||||
0AguvpOCcaf2myVDYFGb,18,2257,0,409,3058,0,20718,0,3,0,3,0,0,50,289,1,72,14,23,14,0,43,19,24,62,0,3,19,0,71,25,0,0,1,37,11,0,16,9,187,17,123,12,43,11,480,55,0,35,0,167,
|
||||
0DTs2PhZfCwEv7q8349K,17,1658,0,128,1020,0,212,0,3,0,0,0,0,0,150,0,334,128,6,46,1,51,1,1,96,0,1,5,0,9,136,0,0,0,0,2,0,37,0,95,84,132,72,83,162,148,183,0,12,0,39,
|
||||
0F4qIHaR7xOrm19Set3o,0,5432,0,274,3802,0,2100449,0,0,0,0,0,0,54,1483,0,394,193,84,99,1,126,13,2,177,24,0,59,7,133,239,12,0,0,18,44,0,123,91,400,754,839,251,868,317,341,261,0,7,22,66,
|
||||
0eaNKwluUmkYdIvZ923c,19,137290,0,208,49356,0,38103,0,3,0,3,0,0,1023,29817,0,12528,4289,7293,2335,36,1557,54,53,9229,47,1,1167,1720,2619,3936,417,987,509,95,2549,0,2782,4030,17686,16243,28120,14711,17711,13893,11018,18159,0,14,0,614,
|
||||
0giIqhw6e4mrHYzKFl8T,18,8949,0,206,4595,92,0,0,3,0,0,0,0,72,2528,3,381,28,11,24,1,362,4,11,420,2,4,13,0,180,203,30,1,0,15,78,0,16,23,1101,8,1193,11,1209,9,1545,98,0,15,0,76,
|
||||
0akIgwhWHYm1dzsNqBFx,0,96799,0,401,33792,0,324089,0,0,0,0,0,0,1054,12874,7,4526,2005,1251,1225,2,1000,752,337,2138,125,28,520,337,1856,1677,337,0,3,229,1396,0,1108,511,4995,7347,12095,2755,7743,3517,3577,4661,0,4,33,147,
|
||||
0bN6ODYWw2xeCQBn3tEg,0,133986,0,329,26710,0,57204,0,0,0,0,0,0,226,4338,0,1158,523,489,337,12,400,201,118,773,54,1,174,94,594,558,144,0,4,86,281,0,367,55,1897,2149,3551,969,2458,1046,1462,1175,0,7,18,124,
|
||||
0dhL8Jvcswa7U1qHiDS5,18,11419,0,1561,163269,0,2316,0,0,0,3,0,0,788,1589,0,1717,425,220,146,0,331,4,2,325,96,0,101,2,583,706,30,0,0,0,235,0,82,0,241,839,1593,497,446,582,833,132,0,27,12,595,
|
||||
0cdnSIvN489sFUwYlrMQ,17,1787,0,126,1037,0,218,0,3,0,0,0,0,0,252,0,348,139,11,46,0,55,1,1,96,0,0,3,0,4,138,0,0,0,0,0,0,40,0,130,68,306,74,109,159,152,184,0,12,0,39,
|
||||
0gHs6DEouiCPAcmWFrTX,0,4084,0,321,24911,0,1802258,0,0,0,0,0,0,66,779,0,205,106,149,45,0,113,56,45,90,31,0,117,42,101,75,46,0,0,8,81,0,125,4,556,450,759,175,555,263,516,82,0,13,0,79,
|
||||
0gL3h5G6CszBV7RSinjJ,0,92732,0,420,24903,0,24090,0,0,0,0,0,0,44,602,0,228,95,124,47,0,81,59,54,50,0,1,137,10,92,81,44,0,0,8,44,0,111,7,489,374,561,196,509,270,420,65,0,12,0,124,
|
||||
0G4hwobLuAzvl1PWYfmd,19,246585,0,1534,8774,0,39412,0,3,0,3,0,0,5249,62251,0,27685,3709,2418,3055,1,2341,16,24,5346,256,3,578,146,8369,14058,280,0,0,263,5385,0,3662,1167,23348,1001,43427,524,34122,6164,60005,9801,0,57,0,424,
|
||||
0EAdHtLDypMcwjTFJziC,0,5101,0,274,3610,0,2246304,0,0,0,0,0,0,49,1247,0,392,190,92,104,1,106,26,3,153,23,0,44,8,136,233,10,2,1,18,49,0,117,73,388,636,852,238,730,287,338,233,0,7,22,65,
|
||||
0BIdbVDEgmPwjYF4xzir,17,1280,0,0,1041,0,1470,0,3,33,0,0,0,1,66,0,294,82,2,87,0,2,0,0,3,0,0,0,0,1,119,0,0,0,0,2,0,11,1,39,33,55,89,35,131,81,1,0,4,0,0,
|
||||
0fhnXI9ESr4jgWmkiaTe,18,9702,0,206,4595,92,0,0,3,0,0,0,0,70,2544,4,391,25,16,28,0,365,9,9,424,1,9,12,0,181,137,30,0,0,16,78,0,17,23,1109,17,1205,20,1214,15,1551,99,0,15,0,76,
|
||||
0AV6MPlrTWG4fYI7NBtQ,18,69180,0,267,204,0,520,0,0,0,0,0,0,8,36,6,153,23,156,31,0,195,3,1,75,1,0,146,0,91,61,0,0,1,0,82,0,259,89,675,97,830,118,695,107,360,56,0,21,0,103,
|
||||
0BFIPv1rO83whtpMYyAs,18,8650,0,206,4595,92,0,0,3,0,0,0,0,73,2539,3,390,31,12,24,0,359,6,7,420,1,10,16,0,180,135,32,0,0,15,78,0,17,23,1108,9,1205,16,1205,12,1549,101,0,15,0,76,
|
||||
0AnoOZDNbPXIr2MRBSCJ,19,12773,0,230,3160,0,639,0,3,0,3,0,0,240,2624,1,781,539,254,235,4,221,6,2,532,6,38,103,69,539,462,83,0,0,64,369,0,344,19,1058,1402,2631,930,1558,1250,930,851,0,14,0,66,
|
||||
0FOXjzmnD9CUMVcSlEqh,20,11651,0,396,141187,0,505,0,0,0,0,0,0,320,2385,0,1733,351,304,143,0,452,4,6,456,499,0,166,3,419,437,67,0,0,0,218,0,149,0,364,1333,2411,775,897,943,843,209,0,10,0,99,
|
||||
0DqUX5rkg3IbMY6BLGCE,19,31739,0,412,3166,0,6903,0,3,0,3,0,0,640,4882,0,3140,1305,588,534,1,235,397,182,664,32,3,191,99,1277,1546,54,0,0,48,1052,0,873,106,1145,3035,5864,1693,3232,2039,2542,1963,0,28,0,98,
|
||||
0aSTGBVRXeJhx5OcpsgC,17,2008,0,142,1043,0,219,0,3,0,0,0,0,1,146,1,373,167,9,46,0,58,0,2,187,0,0,3,0,7,171,0,0,0,0,3,0,43,0,96,85,123,77,122,231,153,271,0,12,0,39,
|
||||
0AwWs42SUQ19mI7eDcTC,19,29746,0,511,5544,0,2260,0,3,0,3,0,0,443,5174,0,3623,1370,444,644,0,175,135,72,216,0,1,26,5,561,1957,31,0,0,13,527,0,1139,25,434,3140,5475,1061,3341,1377,3965,747,0,76,0,128,
|
||||
0cfGJLYgE6ROaZH7KT1h,17,0,0,433,337441,0,178081,0,3,0,3,0,0,2,498,2,1255,24,79,9,0,305,1,1,740,0,0,80,1,296,492,0,1,0,0,174,0,4,0,0,0,0,0,0,0,0,0,0,19,0,223,
|
||||
0gCmlyxw2UJvX7SNOGqu,0,8126,0,676,25673,0,26557,0,0,0,0,0,0,128,1567,0,518,233,128,242,9,176,61,40,350,34,0,86,16,244,298,68,4,13,30,83,0,186,20,632,604,1216,302,865,389,890,459,0,27,17,249,
|
||||
0gDsIvrylX5fPbG7cSBn,0,215638,0,508,6387,0,21261,0,0,0,0,0,0,207,38084,0,2085,786,30163,122,58064,211,295,108,398,32097,6112,109,112,490,794,110,0,0,24,231,0,506,139,35420,34098,38014,38991,33321,41354,2440,827,0,38,17,202,
|
||||
0DbLeKSoxu47wjqVHsi9,0,103758,0,512,6550,0,21266,0,0,0,0,0,0,389,38549,0,2261,792,282,123,0,235,275,95,438,12607,0,112,90,584,830,115,0,0,29,224,0,431,375,16470,12988,22084,19049,19010,12827,6078,301,0,47,17,212,
|
||||
0ASH2csN7k8jZyoRaqtn,0,4265,0,297,25279,0,2035195,0,0,0,0,0,0,49,509,0,168,106,55,121,0,79,53,35,113,2,0,62,10,98,125,44,0,0,8,58,0,80,7,308,247,477,130,353,157,398,287,0,10,0,73,
|
||||
0Fu9oETtMW4zlg1ZrUy6,17,1788,0,127,1061,0,218,0,3,0,0,0,0,1,244,0,344,139,5,46,0,53,1,1,98,0,1,8,0,9,138,0,0,0,0,4,0,36,0,94,73,305,63,120,171,147,185,0,12,0,39,
|
||||
0csgzpwdL3FbZEJu6DjO,19,3392,0,126,783903,0,598,0,0,0,0,0,0,1,190,0,522,276,9,164,1,68,2,1,119,0,1,6,0,6,277,0,0,0,0,1,0,47,0,132,79,368,100,133,208,185,225,0,12,0,39,
|
||||
0BLbmzJRkjNynCgQIdtV,17,3322,0,126,783909,0,636,0,3,0,0,0,0,1,189,0,557,289,9,164,1,64,0,2,118,0,0,6,0,8,277,0,0,0,0,3,0,52,0,120,84,417,70,156,190,183,224,0,12,0,39,
|
||||
0aVNj3qFgEZI6Akf4Kuv,18,8296,0,147,9829,7164,0,0,3,0,0,0,0,68,2372,1,397,25,12,22,1,378,4,4,375,1,3,16,0,164,130,15,0,0,16,69,0,17,23,972,9,1211,13,1160,11,1496,90,0,12,0,51,
|
||||
0bjN3Kgw5OATSreRmEdi,18,67749,0,309,536,0,1374,0,0,0,0,0,0,1,27,0,420,78,91,23,0,62,0,0,47,0,0,67,0,81,144,0,0,0,0,81,0,361,228,789,4,863,5,812,5,641,52,0,21,0,126,
|
||||
0BKcmNv4iGY2hsVSaXJ6,17,1432,0,0,1054,0,1497,0,3,0,0,0,0,0,133,0,276,112,8,36,0,40,1,1,77,0,0,3,0,6,108,0,0,0,0,1,0,25,0,79,72,86,63,116,119,116,144,0,4,0,0,
|
||||
81
largeasmfile_Top81.txt
Normal file
81
largeasmfile_Top81.txt
Normal file
@ -0,0 +1,81 @@
|
||||
0ACDbR5M3ZhBJajygTuf,17,23917,0,241,417,0,250376,0,3,0,3,0,0,85,818,0,25,14,105,4,0,1,1,2,9,0,0,51,1,355,9,0,0,0,0,264,0,70,0,329,297,337,310,324,279,623,10,0,0,0,91,
|
||||
0gcZkSFr7VnEmLPbTxUe,18,69453,0,298,123,0,1430,0,0,0,0,0,0,0,28,1,427,197,122,24,0,215,0,0,133,0,0,37,0,118,98,0,0,0,0,8,0,250,0,788,5,958,6,798,5,402,48,0,27,0,115,
|
||||
0fxgjYEClPL1BDbcshzJ,17,1444,0,0,1057,0,1497,0,3,0,0,0,0,1,133,0,275,107,7,36,0,40,1,1,75,0,1,7,0,4,108,0,0,0,0,1,0,29,0,101,78,94,51,95,126,117,145,0,4,0,0,
|
||||
0EL7OGZKozbiNCVP61gk,17,0,0,251,0,0,0,0,3,0,3,0,0,1156,743,389,395,193,138,441,12,130,141,133,480,37,137,114,10,119,81,12,11,19,6,9,0,28,0,473,517,1097,517,516,599,760,215,0,10,0,99,
|
||||
0fGuCWgTraQ6nEmLPN8q,17,2043,0,143,1036,0,221,0,3,0,0,0,0,17,152,0,372,183,30,46,0,55,1,2,95,0,1,9,0,4,154,0,0,0,0,2,0,41,0,85,94,130,63,167,256,148,200,0,12,0,39,
|
||||
0fvnGU7dkbr8iEhZuMcP,0,124869,0,334,26663,0,56858,0,0,0,0,0,0,248,5405,0,1371,748,670,407,40,493,269,111,827,107,1,203,218,647,611,130,0,0,51,395,0,412,37,2649,2847,4359,1047,3227,1524,1529,1196,0,7,17,127,
|
||||
0czUXKSCiGY2j5mxLdWa,20,11350,0,423,140569,0,526,0,0,0,0,0,0,313,2289,0,1527,376,274,150,0,445,5,4,445,491,0,178,3,445,377,71,0,0,0,232,0,168,0,502,1269,2328,678,983,858,814,167,0,10,2,106,
|
||||
0DM3hS6Gg2QVKb1fZydv,0,111888,0,595,24979,0,24402,0,0,0,0,0,0,57,620,0,216,110,69,141,1,111,64,41,210,22,0,76,19,111,71,45,0,3,8,48,0,104,4,414,271,693,183,417,201,482,71,0,19,0,206,
|
||||
0evDQX7AVfC1ZTJEKltg,17,1355,0,183,1019,0,217,0,3,0,0,0,0,1,93,0,212,124,46,26,0,34,0,2,104,0,0,5,0,5,157,0,0,0,0,2,0,19,0,82,44,63,55,167,200,84,151,0,12,0,39,
|
||||
0glscKoNakWL84EpunPe,19,2153,0,0,1039,0,1500,0,3,0,0,0,0,0,190,0,424,165,10,54,0,69,0,2,122,0,0,7,0,3,168,0,0,0,0,0,0,47,0,138,116,107,85,154,182,186,224,0,4,0,0,
|
||||
0Eo9qT6idXHDMebwmvPA,17,2007,0,142,1042,0,219,0,3,0,0,0,0,0,158,0,373,175,9,46,0,56,0,2,186,0,1,4,0,9,169,0,0,0,0,2,0,39,0,122,79,105,74,115,239,154,272,0,12,0,39,
|
||||
0b5LqcWix3J4fGIEhXQu,17,1134,0,145,1039,0,252,0,3,0,0,0,0,32,71,0,239,81,3,40,0,2,0,0,3,0,0,0,0,1,119,0,0,0,0,2,0,4,0,44,34,38,38,41,169,81,1,0,12,0,46,
|
||||
0aVxkvmflEizUBG2rMT4,18,10189,0,206,4595,92,0,0,3,0,0,0,0,73,2532,7,379,24,14,27,0,363,9,5,417,2,5,17,0,181,176,31,1,2,15,77,0,16,23,1101,8,1197,20,1206,11,1546,98,0,15,0,76,
|
||||
0gSm7QZu5x6MBvVzUncH,19,1785,0,125,1066,0,218,0,3,0,0,0,0,1,250,0,349,138,11,46,1,57,1,1,101,0,0,3,0,6,137,0,0,0,0,2,0,37,0,99,64,287,71,159,172,146,182,0,12,0,39,
|
||||
0aKlH1MRxLmv34QGhEJP,18,3269,0,269,32811,0,25608,0,3,0,3,0,0,41,406,0,78,13,22,15,0,51,31,31,86,16,0,34,0,107,29,4,0,0,63,18,0,11,56,128,15,96,14,242,6,603,58,0,35,0,101,
|
||||
0cH8YeO15ZywEhPrJvmj,19,10668,0,139,43,50,659,3,3,0,3,0,0,282,3104,0,198,267,144,106,11,200,106,42,244,63,3,61,29,300,285,31,0,0,18,234,0,246,25,1139,785,2124,771,844,595,793,2102,0,5,0,60,
|
||||
0df4cbsTBCn1VGW8lQRv,17,1955,0,180,122583,0,451,0,0,0,0,0,0,14,300,0,391,62,44,20,0,28,0,0,71,0,0,0,1,61,155,1,0,0,1,48,0,101,4,100,187,337,150,147,135,152,261,0,35,0,54,
|
||||
0BZQIJak6Pu2tyAXfrzR,17,0,0,248,0,0,0,0,3,0,3,0,0,31,204,107,192,67,72,118,3,68,27,34,76,8,27,56,5,48,38,10,7,7,4,6,0,22,0,131,126,241,122,147,113,426,76,0,9,0,99,
|
||||
0DTp59Av1RLifoKlUdm7,0,13831,0,453,30496,0,880278,0,0,0,0,0,0,357,1906,0,974,471,405,297,1,277,154,75,192,6,0,180,35,484,415,84,0,0,41,409,0,364,328,925,1817,3108,453,1397,742,1352,344,0,5,30,113,
|
||||
0D9IedmC1viTPugLRWX6,17,1985,0,141,1033,0,219,0,3,0,0,0,0,1,168,0,359,169,8,46,0,57,0,2,187,0,1,3,0,4,171,0,0,0,0,2,0,33,0,142,99,129,72,85,219,148,272,0,12,0,39,
|
||||
0B2RwKm6dq9fjUWDNIOa,18,63242,0,274,140,0,1225,0,0,0,0,0,0,1,35,0,578,221,588,31,0,184,0,0,186,0,0,103,0,149,179,0,0,0,0,109,0,312,190,1088,4,1367,5,1086,7,829,62,0,21,0,107,
|
||||
0A32eTdBKayjCWhZqDOQ,0,13801,0,455,842632,0,39622,0,0,0,0,0,0,361,1923,0,971,471,412,300,1,283,154,75,194,10,0,181,41,483,411,84,0,0,41,413,0,367,328,956,1830,3140,447,1425,754,1352,347,0,5,31,114,
|
||||
0cGWK6VvCkm7O2AxDjtw,17,2554,0,123,783896,0,658,0,0,0,0,0,0,21,66,0,80,51,5,10,1813,17,1,1,27,0,0,0,1,2,53,0,0,0,0,1,0,10,0,28,38,104,21,42,35,32,44,0,12,0,39,
|
||||
0C4aVbN58O1nAigFJt9z,20,16549,0,153,20517,0,22687,0,3,0,3,0,0,246,2779,3,2635,499,159,173,23,78,135,77,116,18,13,62,2,843,889,7,3,0,78,534,0,271,94,465,1535,3088,845,1261,1190,2233,244,0,17,0,57,
|
||||
0BY2iPso3bEmudlUzpfq,20,5830,0,154,2933,0,0,0,3,0,3,0,0,32,1592,0,168,49,412,22,0,283,34,19,399,33,2,124,11,127,41,0,1,0,15,32,0,44,30,543,248,1252,353,867,267,1129,105,0,9,0,842,
|
||||
0GKp9ZJclxTABMunIOD2,0,14184,0,384,838527,0,39603,0,0,0,0,0,0,343,1999,0,993,488,424,317,1,295,154,82,199,6,0,220,43,485,418,84,3,14,41,426,0,379,328,992,1887,3207,473,1511,775,1358,382,0,5,30,93,
|
||||
0CPaAXtyswrBq83D6VEg,18,25171,0,1179,1458178,0,1773,0,0,0,0,0,0,877,6096,0,3334,525,511,300,0,841,7,5,745,92,0,233,2,893,1437,155,0,0,0,541,0,408,1,1982,1950,4767,1052,2883,1474,744,978,0,18,12,450,
|
||||
0co46B8IkPt2UN3HSaw7,18,5061,0,395,51213,17,0,0,0,0,0,0,0,7,991,0,837,103,37,106,0,48,12,17,158,0,4,34,5,65,339,4,3,1,7,40,0,99,28,385,44,638,61,654,59,1135,290,0,7,0,186,
|
||||
0gkj92oIleU4SYiCWpaM,17,4282,0,227,535,0,4272,0,3,0,3,0,0,68,680,0,801,107,56,48,1,20,6,2,239,1,0,3,1,122,377,1,0,0,3,120,0,58,7,178,305,758,143,297,194,177,626,0,7,0,86,
|
||||
0cfIE39ihRNo2rkZOw5H,17,1690,0,127,1068,0,213,0,3,0,0,0,0,0,142,0,355,142,10,46,1,55,1,2,101,0,0,7,0,4,137,0,0,0,0,0,0,48,0,122,73,143,94,121,148,149,182,0,12,0,39,
|
||||
0Dk7Wd8MERu3b5rmQzCK,17,973,0,189,1022,0,218,0,3,0,0,0,0,1,55,0,128,94,45,16,0,20,0,2,64,0,0,7,0,2,123,0,0,0,0,2,0,14,0,32,34,63,17,144,160,50,91,0,12,0,39,
|
||||
0dauMIK4ATfybzqUgNLc,18,12889,0,965,167971,0,1501,0,0,0,3,0,0,609,1867,0,2115,533,258,199,0,375,3,10,376,121,2,157,2,672,763,18,0,0,0,279,0,110,0,318,1007,1942,546,613,685,928,146,0,21,12,369,
|
||||
0dnTixlMYzDUpsvEVrGc,0,7166,0,452,4361,0,7149,0,0,0,0,0,0,96,1708,0,527,226,145,116,3,178,68,40,183,26,0,98,19,209,304,55,3,1,24,67,0,181,86,730,847,1169,324,1098,403,603,281,0,16,22,119,
|
||||
0FdOaDWrfBU6TqwCRYxA,19,3279,0,126,783881,0,636,0,3,0,0,0,0,1,213,0,538,270,12,164,1,66,0,2,121,0,1,8,0,4,277,0,0,0,0,1,0,41,0,129,91,403,98,106,213,180,225,0,12,0,39,
|
||||
0FKerJl18xOc3jdoyg4A,0,5351,0,561,4388,0,2476133,0,0,0,0,0,0,81,1108,0,443,171,99,76,2,103,58,36,127,14,0,68,18,158,200,49,5,4,16,63,0,147,6,434,589,831,256,656,306,560,249,0,22,16,179,
|
||||
0G2RV1chBlIbkt6JqA5Q,0,5135,0,301,3763,0,2253608,0,0,0,0,0,0,53,1333,0,383,181,75,96,2,124,10,8,159,34,0,47,7,125,237,8,3,3,18,46,0,124,74,403,678,907,212,748,292,333,234,0,10,22,71,
|
||||
0GKzFQ81IYXqUWkmfv26,19,1984,0,139,1002,0,219,0,3,0,0,0,0,0,142,0,362,182,9,46,0,53,1,1,188,0,1,9,0,6,172,0,0,0,0,1,0,46,0,140,74,126,60,93,253,148,273,0,12,0,39,
|
||||
0dkuzUXLTEFwW71vP5bS,17,1005,0,195,1028,0,219,0,3,0,0,0,0,0,60,0,131,97,44,16,0,22,0,2,65,0,1,3,0,4,125,0,0,0,0,0,0,13,0,23,30,37,30,179,175,49,92,0,12,0,39,
|
||||
0CzL6rfwaTqGOu9eghBt,19,3310,0,128,783897,0,636,0,3,0,0,0,0,0,193,0,541,284,7,164,1,69,0,2,122,0,0,7,0,9,277,0,0,0,0,1,0,44,0,101,75,358,80,201,207,185,224,0,12,0,39,
|
||||
0aU7XWsr8RtN94jvo3lG,17,3428,0,126,783912,0,598,0,0,0,0,0,0,120,195,0,461,295,8,60,0,71,4,1,127,0,1,10,0,4,302,0,0,0,0,3,0,57,0,136,96,384,112,122,233,207,245,0,12,0,39,
|
||||
0GbMkYlNyt72OzBjIcVh,0,124198,0,516,6550,0,21264,0,0,0,0,0,0,389,40907,0,2261,792,282,123,0,235,275,95,438,22825,0,112,90,584,834,115,0,0,29,224,0,431,375,19614,12202,31517,11975,26870,19901,6078,301,0,47,17,213,
|
||||
0cTu2bkefOAJqIhYUWFK,20,5855,0,159,4105,0,26222,0,3,0,3,0,0,102,927,0,713,128,64,69,14,47,44,31,114,11,6,13,3,172,264,2,0,0,57,120,0,107,29,100,393,788,174,367,327,1040,149,0,26,0,49,
|
||||
0BEsCP7NAUy8XmkenHWG,0,5156,0,334,3600,0,1841766,0,0,0,0,0,0,50,1303,0,437,193,80,101,13,97,7,2,136,73,0,15,6,155,236,10,1,0,19,39,0,106,3,362,715,789,221,655,406,375,245,0,10,22,81,
|
||||
0fHVZKeTE6iRb1PIQ4au,19,110370,0,825,27978,0,21193,0,3,0,3,0,0,2695,15990,0,14218,3910,1222,1631,0,696,729,290,1696,46,3,709,159,3290,8499,154,0,0,144,2562,0,5649,190,1800,10078,18486,4866,13029,6039,15329,2573,0,43,0,199,
|
||||
0Cq4wfhLrKBJiut1lYAZ,17,0,0,110,0,0,511,0,3,19,3,0,0,175,727,86,540,172,110,130,1,81,58,31,257,9,51,85,1,119,122,2,3,3,23,32,0,58,0,351,289,558,320,344,305,940,248,0,5,0,38,
|
||||
0eN9lyQfwmTVk7C2ZoYp,17,1118,0,0,1039,0,1457,0,3,0,0,0,0,32,70,0,236,81,1,40,0,3,0,0,2,0,0,0,0,2,119,0,0,0,0,2,0,7,0,33,33,63,86,33,121,81,1,0,4,0,0,
|
||||
0daTri9PSkeEsVHu5Dhw,17,3512,0,124,783915,0,663,0,0,0,0,0,0,120,205,0,455,286,130,60,1,80,4,1,128,0,0,9,0,8,302,0,0,0,0,4,0,46,0,124,123,746,101,118,216,199,244,0,12,0,39,
|
||||
0DNVFKwYlcjO7bTfJ5p1,19,43908,0,460,4368,0,8320,0,3,0,3,0,0,964,7408,0,4465,1432,761,639,0,508,323,113,861,32,1,255,67,1557,2380,64,0,0,83,1263,0,1071,463,2431,3695,7272,1679,4595,2150,6878,1282,0,30,0,123,
|
||||
0AguvpOCcaf2myVDYFGb,18,2257,0,409,3058,0,20718,0,3,0,3,0,0,50,289,1,72,14,23,14,0,43,19,24,62,0,3,19,0,71,25,0,0,1,37,11,0,16,9,187,17,123,12,43,11,480,55,0,35,0,167,
|
||||
0DTs2PhZfCwEv7q8349K,17,1658,0,128,1020,0,212,0,3,0,0,0,0,0,150,0,334,128,6,46,1,51,1,1,96,0,1,5,0,9,136,0,0,0,0,2,0,37,0,95,84,132,72,83,162,148,183,0,12,0,39,
|
||||
0F4qIHaR7xOrm19Set3o,0,5432,0,274,3802,0,2100449,0,0,0,0,0,0,54,1483,0,394,193,84,99,1,126,13,2,177,24,0,59,7,133,239,12,0,0,18,44,0,123,91,400,754,839,251,868,317,341,261,0,7,22,66,
|
||||
0eaNKwluUmkYdIvZ923c,19,137290,0,208,49356,0,38103,0,3,0,3,0,0,1023,29817,0,12528,4289,7293,2335,36,1557,54,53,9229,47,1,1167,1720,2619,3936,417,987,509,95,2549,0,2782,4030,17686,16243,28120,14711,17711,13893,11018,18159,0,14,0,614,
|
||||
0giIqhw6e4mrHYzKFl8T,18,8949,0,206,4595,92,0,0,3,0,0,0,0,72,2528,3,381,28,11,24,1,362,4,11,420,2,4,13,0,180,203,30,1,0,15,78,0,16,23,1101,8,1193,11,1209,9,1545,98,0,15,0,76,
|
||||
0akIgwhWHYm1dzsNqBFx,0,96799,0,401,33792,0,324089,0,0,0,0,0,0,1054,12874,7,4526,2005,1251,1225,2,1000,752,337,2138,125,28,520,337,1856,1677,337,0,3,229,1396,0,1108,511,4995,7347,12095,2755,7743,3517,3577,4661,0,4,33,147,
|
||||
0bN6ODYWw2xeCQBn3tEg,0,133986,0,329,26710,0,57204,0,0,0,0,0,0,226,4338,0,1158,523,489,337,12,400,201,118,773,54,1,174,94,594,558,144,0,4,86,281,0,367,55,1897,2149,3551,969,2458,1046,1462,1175,0,7,18,124,
|
||||
0dhL8Jvcswa7U1qHiDS5,18,11419,0,1561,163269,0,2316,0,0,0,3,0,0,788,1589,0,1717,425,220,146,0,331,4,2,325,96,0,101,2,583,706,30,0,0,0,235,0,82,0,241,839,1593,497,446,582,833,132,0,27,12,595,
|
||||
0cdnSIvN489sFUwYlrMQ,17,1787,0,126,1037,0,218,0,3,0,0,0,0,0,252,0,348,139,11,46,0,55,1,1,96,0,0,3,0,4,138,0,0,0,0,0,0,40,0,130,68,306,74,109,159,152,184,0,12,0,39,
|
||||
0gHs6DEouiCPAcmWFrTX,0,4084,0,321,24911,0,1802258,0,0,0,0,0,0,66,779,0,205,106,149,45,0,113,56,45,90,31,0,117,42,101,75,46,0,0,8,81,0,125,4,556,450,759,175,555,263,516,82,0,13,0,79,
|
||||
0gL3h5G6CszBV7RSinjJ,0,92732,0,420,24903,0,24090,0,0,0,0,0,0,44,602,0,228,95,124,47,0,81,59,54,50,0,1,137,10,92,81,44,0,0,8,44,0,111,7,489,374,561,196,509,270,420,65,0,12,0,124,
|
||||
0G4hwobLuAzvl1PWYfmd,19,246585,0,1534,8774,0,39412,0,3,0,3,0,0,5249,62251,0,27685,3709,2418,3055,1,2341,16,24,5346,256,3,578,146,8369,14058,280,0,0,263,5385,0,3662,1167,23348,1001,43427,524,34122,6164,60005,9801,0,57,0,424,
|
||||
0EAdHtLDypMcwjTFJziC,0,5101,0,274,3610,0,2246304,0,0,0,0,0,0,49,1247,0,392,190,92,104,1,106,26,3,153,23,0,44,8,136,233,10,2,1,18,49,0,117,73,388,636,852,238,730,287,338,233,0,7,22,65,
|
||||
0BIdbVDEgmPwjYF4xzir,17,1280,0,0,1041,0,1470,0,3,33,0,0,0,1,66,0,294,82,2,87,0,2,0,0,3,0,0,0,0,1,119,0,0,0,0,2,0,11,1,39,33,55,89,35,131,81,1,0,4,0,0,
|
||||
0fhnXI9ESr4jgWmkiaTe,18,9702,0,206,4595,92,0,0,3,0,0,0,0,70,2544,4,391,25,16,28,0,365,9,9,424,1,9,12,0,181,137,30,0,0,16,78,0,17,23,1109,17,1205,20,1214,15,1551,99,0,15,0,76,
|
||||
0AV6MPlrTWG4fYI7NBtQ,18,69180,0,267,204,0,520,0,0,0,0,0,0,8,36,6,153,23,156,31,0,195,3,1,75,1,0,146,0,91,61,0,0,1,0,82,0,259,89,675,97,830,118,695,107,360,56,0,21,0,103,
|
||||
0BFIPv1rO83whtpMYyAs,18,8650,0,206,4595,92,0,0,3,0,0,0,0,73,2539,3,390,31,12,24,0,359,6,7,420,1,10,16,0,180,135,32,0,0,15,78,0,17,23,1108,9,1205,16,1205,12,1549,101,0,15,0,76,
|
||||
0AnoOZDNbPXIr2MRBSCJ,19,12773,0,230,3160,0,639,0,3,0,3,0,0,240,2624,1,781,539,254,235,4,221,6,2,532,6,38,103,69,539,462,83,0,0,64,369,0,344,19,1058,1402,2631,930,1558,1250,930,851,0,14,0,66,
|
||||
0FOXjzmnD9CUMVcSlEqh,20,11651,0,396,141187,0,505,0,0,0,0,0,0,320,2385,0,1733,351,304,143,0,452,4,6,456,499,0,166,3,419,437,67,0,0,0,218,0,149,0,364,1333,2411,775,897,943,843,209,0,10,0,99,
|
||||
0DqUX5rkg3IbMY6BLGCE,19,31739,0,412,3166,0,6903,0,3,0,3,0,0,640,4882,0,3140,1305,588,534,1,235,397,182,664,32,3,191,99,1277,1546,54,0,0,48,1052,0,873,106,1145,3035,5864,1693,3232,2039,2542,1963,0,28,0,98,
|
||||
0aSTGBVRXeJhx5OcpsgC,17,2008,0,142,1043,0,219,0,3,0,0,0,0,1,146,1,373,167,9,46,0,58,0,2,187,0,0,3,0,7,171,0,0,0,0,3,0,43,0,96,85,123,77,122,231,153,271,0,12,0,39,
|
||||
0AwWs42SUQ19mI7eDcTC,19,29746,0,511,5544,0,2260,0,3,0,3,0,0,443,5174,0,3623,1370,444,644,0,175,135,72,216,0,1,26,5,561,1957,31,0,0,13,527,0,1139,25,434,3140,5475,1061,3341,1377,3965,747,0,76,0,128,
|
||||
0cfGJLYgE6ROaZH7KT1h,17,0,0,433,337441,0,178081,0,3,0,3,0,0,2,498,2,1255,24,79,9,0,305,1,1,740,0,0,80,1,296,492,0,1,0,0,174,0,4,0,0,0,0,0,0,0,0,0,0,19,0,223,
|
||||
0gCmlyxw2UJvX7SNOGqu,0,8126,0,676,25673,0,26557,0,0,0,0,0,0,128,1567,0,518,233,128,242,9,176,61,40,350,34,0,86,16,244,298,68,4,13,30,83,0,186,20,632,604,1216,302,865,389,890,459,0,27,17,249,
|
||||
0gDsIvrylX5fPbG7cSBn,0,215638,0,508,6387,0,21261,0,0,0,0,0,0,207,38084,0,2085,786,30163,122,58064,211,295,108,398,32097,6112,109,112,490,794,110,0,0,24,231,0,506,139,35420,34098,38014,38991,33321,41354,2440,827,0,38,17,202,
|
||||
0DbLeKSoxu47wjqVHsi9,0,103758,0,512,6550,0,21266,0,0,0,0,0,0,389,38549,0,2261,792,282,123,0,235,275,95,438,12607,0,112,90,584,830,115,0,0,29,224,0,431,375,16470,12988,22084,19049,19010,12827,6078,301,0,47,17,212,
|
||||
0ASH2csN7k8jZyoRaqtn,0,4265,0,297,25279,0,2035195,0,0,0,0,0,0,49,509,0,168,106,55,121,0,79,53,35,113,2,0,62,10,98,125,44,0,0,8,58,0,80,7,308,247,477,130,353,157,398,287,0,10,0,73,
|
||||
0Fu9oETtMW4zlg1ZrUy6,17,1788,0,127,1061,0,218,0,3,0,0,0,0,1,244,0,344,139,5,46,0,53,1,1,98,0,1,8,0,9,138,0,0,0,0,4,0,36,0,94,73,305,63,120,171,147,185,0,12,0,39,
|
||||
0csgzpwdL3FbZEJu6DjO,19,3392,0,126,783903,0,598,0,0,0,0,0,0,1,190,0,522,276,9,164,1,68,2,1,119,0,1,6,0,6,277,0,0,0,0,1,0,47,0,132,79,368,100,133,208,185,225,0,12,0,39,
|
||||
0BLbmzJRkjNynCgQIdtV,17,3322,0,126,783909,0,636,0,3,0,0,0,0,1,189,0,557,289,9,164,1,64,0,2,118,0,0,6,0,8,277,0,0,0,0,3,0,52,0,120,84,417,70,156,190,183,224,0,12,0,39,
|
||||
0aVNj3qFgEZI6Akf4Kuv,18,8296,0,147,9829,7164,0,0,3,0,0,0,0,68,2372,1,397,25,12,22,1,378,4,4,375,1,3,16,0,164,130,15,0,0,16,69,0,17,23,972,9,1211,13,1160,11,1496,90,0,12,0,51,
|
||||
0bjN3Kgw5OATSreRmEdi,18,67749,0,309,536,0,1374,0,0,0,0,0,0,1,27,0,420,78,91,23,0,62,0,0,47,0,0,67,0,81,144,0,0,0,0,81,0,361,228,789,4,863,5,812,5,641,52,0,21,0,126,
|
||||
0BKcmNv4iGY2hsVSaXJ6,17,1432,0,0,1054,0,1497,0,3,0,0,0,0,0,133,0,276,112,8,36,0,40,1,1,77,0,0,3,0,6,108,0,0,0,0,1,0,25,0,79,72,86,63,116,119,116,144,0,4,0,0,
|
||||
1
mediumasmfile.txt
Normal file
1
mediumasmfile.txt
Normal file
@ -0,0 +1 @@
|
||||
trainLabels,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
1
opcodes.txt
Normal file
1
opcodes.txt
Normal file
File diff suppressed because one or more lines are too long
1
readme.txt
Normal file
1
readme.txt
Normal file
@ -0,0 +1 @@
|
||||
You need to download train folder from kaggle data from link https://www.kaggle.com/c/malware-classification/data
|
||||
71
req.txt
Normal file
71
req.txt
Normal file
@ -0,0 +1,71 @@
|
||||
attrs==23.2.0
|
||||
Babel==2.10.3
|
||||
bcc
|
||||
blinker
|
||||
certifi
|
||||
chardet
|
||||
click
|
||||
configobj
|
||||
cryptography
|
||||
cycler
|
||||
dask[dataframe]
|
||||
defer
|
||||
distro
|
||||
distro-info
|
||||
httplib2
|
||||
idna
|
||||
ipykernel
|
||||
ipython
|
||||
Jinja2
|
||||
jsonpatch
|
||||
jsonpointer
|
||||
jsonschema
|
||||
launchpadlib
|
||||
lazr.restfulclient
|
||||
lazr.uri
|
||||
louis
|
||||
kiwisolver
|
||||
markdown-it-py
|
||||
MarkupSafe
|
||||
matplotlib
|
||||
mdurl
|
||||
netaddr
|
||||
nltk
|
||||
oauthlib
|
||||
olefile
|
||||
pandas
|
||||
pexpect
|
||||
pillow
|
||||
pyshark
|
||||
psutil
|
||||
ptyprocess
|
||||
Pygments
|
||||
PyJWT
|
||||
pyparsing
|
||||
pyrsistent
|
||||
pyserial==3.5
|
||||
python-dateutil
|
||||
pytz
|
||||
pyxdg
|
||||
PyYAML
|
||||
requests
|
||||
rich
|
||||
seaborn
|
||||
setuptools
|
||||
six
|
||||
tkinter
|
||||
tornado
|
||||
tqdm
|
||||
urllib3
|
||||
wadllib
|
||||
watchdog
|
||||
wheel
|
||||
xdg
|
||||
xgboost
|
||||
nltk
|
||||
numpy
|
||||
sklearn
|
||||
scikit-learn
|
||||
pandas
|
||||
xgboost
|
||||
|
||||
18
result.csv
Normal file
18
result.csv
Normal file
@ -0,0 +1,18 @@
|
||||
ID,0,1,2,3,4,5,6,7,8,9,0a,0b,0c,0d,0e,0f,10,11,12,13,14,15,16,17,18,19,1a,1b,1c,1d,1e,1f,20,21,22,23,24,25,26,27,28,29,2a,2b,2c,2d,2e,2f,30,31,32,33,34,35,36,37,38,39,3a,3b,3c,3d,3e,3f,40,41,42,43,44,45,46,47,48,49,4a,4b,4c,4d,4e,4f,50,51,52,53,54,55,56,57,58,59,5a,5b,5c,5d,5e,5f,60,61,62,63,64,65,66,67,68,69,6a,6b,6c,6d,6e,6f,70,71,72,73,74,75,76,77,78,79,7a,7b,7c,7d,7e,7f,80,81,82,83,84,85,86,87,88,89,8a,8b,8c,8d,8e,8f,90,91,92,93,94,95,96,97,98,99,9a,9b,9c,9d,9e,9f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,aa,ab,ac,ad,ae,af,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,ba,bb,bc,bd,be,bf,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,ca,cb,cc,cd,ce,cf,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,da,db,dc,dd,de,df,e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,ea,eb,ec,ed,ee,ef,f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,fa,fb,fc,fd,fe,ff,??
|
||||
dist,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
BYTES-train,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
result.csv,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
trainLabels.csv,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
Bytes_Model_Generator.py,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
Final_Malware.py,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
build,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
run.sh,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
venv,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
ASM_Model_Generator.py,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
asm_models,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
run.py,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
bytes_models,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
run.spec,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
run,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
result_with_size.csv,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
results,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
|
1
result_with_size.csv
Normal file
1
result_with_size.csv
Normal file
@ -0,0 +1 @@
|
||||
,ID,0,1,2,3,4,5,6,7,8,9,0a,0b,0c,0d,0e,0f,10,11,12,13,14,15,16,17,18,19,1a,1b,1c,1d,1e,1f,20,21,22,23,24,25,26,27,28,29,2a,2b,2c,2d,2e,2f,30,31,32,33,34,35,36,37,38,39,3a,3b,3c,3d,3e,3f,40,41,42,43,44,45,46,47,48,49,4a,4b,4c,4d,4e,4f,50,51,52,53,54,55,56,57,58,59,5a,5b,5c,5d,5e,5f,60,61,62,63,64,65,66,67,68,69,6a,6b,6c,6d,6e,6f,70,71,72,73,74,75,76,77,78,79,7a,7b,7c,7d,7e,7f,80,81,82,83,84,85,86,87,88,89,8a,8b,8c,8d,8e,8f,90,91,92,93,94,95,96,97,98,99,9a,9b,9c,9d,9e,9f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,aa,ab,ac,ad,ae,af,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,ba,bb,bc,bd,be,bf,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,ca,cb,cc,cd,ce,cf,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,da,db,dc,dd,de,df,e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,ea,eb,ec,ed,ee,ef,f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,fa,fb,fc,fd,fe,ff,??,size,Class
|
||||
|
3002
results/asm_result/Malware_Prediction_Asm.csv
Normal file
3002
results/asm_result/Malware_Prediction_Asm.csv
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,2 @@
|
||||
file_name,prediction,probability
|
||||
run.asm,7,0.004391366878164693
|
||||
|
2
results/asm_result/asm_prediction_LogisticRegression.csv
Normal file
2
results/asm_result/asm_prediction_LogisticRegression.csv
Normal file
@ -0,0 +1,2 @@
|
||||
file_name,prediction,probability
|
||||
run.asm,3,0.0
|
||||
|
@ -0,0 +1,2 @@
|
||||
file_name,prediction,probability
|
||||
run.asm,9,0.033705253953372157
|
||||
|
3002
results/asm_result/asm_prediction_XGBClassifier.csv
Normal file
3002
results/asm_result/asm_prediction_XGBClassifier.csv
Normal file
File diff suppressed because it is too large
Load Diff
2213
results/bytes_result/Malware_Prediction_Bytes.csv
Normal file
2213
results/bytes_result/Malware_Prediction_Bytes.csv
Normal file
File diff suppressed because it is too large
Load Diff
2213
results/bytes_result/bytes_predictions_SGDClassifier.csv
Normal file
2213
results/bytes_result/bytes_predictions_SGDClassifier.csv
Normal file
File diff suppressed because it is too large
Load Diff
71
run.py
Normal file
71
run.py
Normal file
@ -0,0 +1,71 @@
|
||||
import subprocess
|
||||
import threading
|
||||
import tkinter as tk
|
||||
from tkinter import ttk
|
||||
|
||||
# Function to run the bash script and track output for dependency installation
|
||||
def run_bash_script():
|
||||
global process
|
||||
try:
|
||||
# Run the bash script and capture stdout and stderr in real-time
|
||||
process = subprocess.Popen(
|
||||
['bash', './run.sh'],
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
text=True
|
||||
)
|
||||
|
||||
# Read stdout in real-time and track pip install progress
|
||||
for stdout_line in iter(process.stdout.readline, ""):
|
||||
if stdout_line:
|
||||
print(f"Output: {stdout_line.strip()}")
|
||||
if "START_PIP_INSTALL" in stdout_line:
|
||||
print("Pip install started...")
|
||||
elif "END_PIP_INSTALL" in stdout_line:
|
||||
print("Pip install completed. Closing loading window...")
|
||||
close_loading_window() # Close the window when pip install completes
|
||||
|
||||
process.stdout.close()
|
||||
|
||||
# Read stderr at the end
|
||||
stderr = process.stderr.read()
|
||||
if stderr:
|
||||
print(f"Error: {stderr.strip()}")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Exception occurred: {e}")
|
||||
finally:
|
||||
if process.poll() is None: # Check if the process is still running
|
||||
process.wait() # Wait for the Bash script to finish completely
|
||||
|
||||
# Function to show the loading window
|
||||
def show_loading_window():
|
||||
global root
|
||||
root = tk.Tk()
|
||||
root.title("Please Wait")
|
||||
root.geometry("300x100")
|
||||
|
||||
label = ttk.Label(root, text="Downloading dependencies. Please wait...", anchor="center")
|
||||
label.pack(pady=20)
|
||||
|
||||
# Add a progress bar (just for visual purposes)
|
||||
progress = ttk.Progressbar(root, mode="indeterminate")
|
||||
progress.pack(pady=10)
|
||||
progress.start(10) # Start the indeterminate progress bar
|
||||
|
||||
# Prevent closing the window manually
|
||||
root.protocol("WM_DELETE_WINDOW", lambda: None)
|
||||
|
||||
# Start a separate thread to run the bash script
|
||||
threading.Thread(target=run_bash_script).start()
|
||||
|
||||
root.mainloop()
|
||||
|
||||
# Function to close the loading window
|
||||
def close_loading_window():
|
||||
if root:
|
||||
root.withdraw()
|
||||
|
||||
if __name__ == "__main__":
|
||||
show_loading_window()
|
||||
|
||||
34
run.sh
Normal file
34
run.sh
Normal file
@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Exit immediately if a command exits with a non-zero status
|
||||
set -e
|
||||
|
||||
# Step 1: Activate the virtual environment
|
||||
echo "Creating the virtual environment (Could take up to 10 minutes for the first time)..."
|
||||
|
||||
# Check if the virtual environment already exists
|
||||
if [ -d "venv" ]; then
|
||||
echo "Virtual environment already exists. Activating..."
|
||||
source "venv/bin/activate"
|
||||
|
||||
echo "START_PIP_INSTALL" # Add a marker to signal pip install starting
|
||||
|
||||
pip install -r req.txt
|
||||
|
||||
echo "END_PIP_INSTALL" # Add a marker to signal pip install completion
|
||||
else
|
||||
echo "Creating virtual environment..."
|
||||
python3 -m venv "venv"
|
||||
source "venv/bin/activate"
|
||||
|
||||
echo "START_PIP_INSTALL" # Add a marker to signal pip install starting
|
||||
|
||||
pip install -r req.txt
|
||||
|
||||
echo "END_PIP_INSTALL" # Add a marker to signal pip install completion
|
||||
fi
|
||||
|
||||
# Step 2: Run the Python script (this part should run after the popup closes)
|
||||
echo "Running Python script..."
|
||||
python3 Final_Malware.py
|
||||
|
||||
38
run.spec
Normal file
38
run.spec
Normal file
@ -0,0 +1,38 @@
|
||||
# -*- mode: python ; coding: utf-8 -*-
|
||||
|
||||
|
||||
a = Analysis(
|
||||
['run.py'],
|
||||
pathex=[],
|
||||
binaries=[],
|
||||
datas=[],
|
||||
hiddenimports=[],
|
||||
hookspath=[],
|
||||
hooksconfig={},
|
||||
runtime_hooks=[],
|
||||
excludes=[],
|
||||
noarchive=False,
|
||||
optimize=0,
|
||||
)
|
||||
pyz = PYZ(a.pure)
|
||||
|
||||
exe = EXE(
|
||||
pyz,
|
||||
a.scripts,
|
||||
a.binaries,
|
||||
a.datas,
|
||||
[],
|
||||
name='run',
|
||||
debug=False,
|
||||
bootloader_ignore_signals=False,
|
||||
strip=False,
|
||||
upx=True,
|
||||
upx_exclude=[],
|
||||
runtime_tmpdir=None,
|
||||
console=True,
|
||||
disable_windowed_traceback=False,
|
||||
argv_emulation=False,
|
||||
target_arch=None,
|
||||
codesign_identity=None,
|
||||
entitlements_file=None,
|
||||
)
|
||||
1118
tmp_ASM_FileProcessor.py
Normal file
1118
tmp_ASM_FileProcessor.py
Normal file
File diff suppressed because it is too large
Load Diff
10869
trainLabels.csv
Normal file
10869
trainLabels.csv
Normal file
File diff suppressed because it is too large
Load Diff
1
trainasmfile.txt
Normal file
1
trainasmfile.txt
Normal file
@ -0,0 +1 @@
|
||||
dataSample,
|
||||
Loading…
Reference in New Issue
Block a user