вместо name, name2 теперь имена экзешников в таблице

main
serr 2025-03-16 19:12:02 +03:00
parent eea3fddb2b
commit 9b45bdf529
1 changed files with 16 additions and 6 deletions

22
comp.py
View File

@ -1,5 +1,3 @@
# ВНИМАНИЕ: Сравнивает 2 бинарника, !!!! скомпилированных под x64 !!!!
import sqlite3
import os, time
import subprocess
@ -7,6 +5,7 @@ import subprocess
# для работы с ida
from i64tosqlite import create_sqlite_from_i64
from exetoi64 import make_i64
#
# для работы с excel
import pandas as pd
@ -19,8 +18,8 @@ def main():
# эти пути необходимо задавать вручную
ida_executable = r"C:\tools\IDA\ida.exe"
diaphora_dir = r"C:\tools\diaphora"
exe_1_path = r"C:\tools\ilya.exe"
exe_2_path = r"C:\tools\my.exe"
exe_1_path = r"C:\tools\my.exe"
exe_2_path = r"C:\tools\ilya.exe"
#
# генерация i64 из exe
@ -56,7 +55,12 @@ def main():
os.remove(sql_output_path)
#
export_to_excel(result_data, excel_output_path, elapsed)
# получаем имена файлов без пути
exe_1_name = os.path.basename(exe_1_path)
exe_2_name = os.path.basename(exe_2_path)
#
export_to_excel(result_data, excel_output_path, elapsed, exe_1_name, exe_2_name)
print(f"\033[92mResults exported to\033[0m {excel_output_path}")
print(f'\033[92mAnalysis time\033[0m {elapsed} sec')
os.startfile(excel_output_path)
@ -82,14 +86,20 @@ def read_results_table(output_path):
conn.close()
return result_list
def export_to_excel(result_data, excel_output_path, elapsed_time):
def export_to_excel(result_data, excel_output_path, elapsed_time, exe_1_name, exe_2_name):
df = pd.DataFrame(result_data)
df = df[['type', 'name', 'name2', 'description']]
# Переименование столбцов
df.rename(columns={'name': exe_1_name, 'name2': exe_2_name}, inplace=True)
df['matches'] = ' '
df['elapsed'] = ' '
df.at[0, 'matches'] = len(result_data)
df.at[0, 'elapsed'] = f'{elapsed_time:.2f} sec'
df.to_excel(excel_output_path, index=False)
# Форматирование Excel
wb = load_workbook(excel_output_path)
ws = wb.active
green_fill = PatternFill(start_color="90EE00", end_color="90EE00", fill_type="solid")