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