36 lines
1.8 KiB
Python
36 lines
1.8 KiB
Python
import pandas as pd
|
|
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
|
|
#path à modifier en fonction de qui execute
|
|
pathASLR = "/Users/nahombelay/Documents/GitINSA/PIR/outputASLR.csv"
|
|
pathWithoutASLR = "/Users/nahombelay/Documents/GitINSA/PIR/outputWithoutASLR.csv"
|
|
df_ASLR = pd.read_csv(pathASLR)
|
|
#df_ASLR = df_ASLR.head()
|
|
df_WithoutASLR = pd.read_csv(pathWithoutASLR)
|
|
#df_WithoutASLR = df_WithoutASLR.head()
|
|
|
|
#convert hex strings to integers (not hex because takes too long)
|
|
for column in df_ASLR.columns:
|
|
df_ASLR[column] = df_ASLR[column].apply(lambda x: int(x, 16))
|
|
df_WithoutASLR[column] = df_WithoutASLR[column].apply(lambda x: str(x))
|
|
df_WithoutASLR[column] = df_WithoutASLR[column].apply(lambda x: int(x, 16))
|
|
|
|
df_ASLR["offsetCodeAddr"] = df_ASLR["startStackAddr"] - df_ASLR["startCodeAddr"]
|
|
df_ASLR["offsetLibAddr"] = df_ASLR["startStackAddr"] - df_ASLR["startLibAddr"]
|
|
|
|
df_WithoutASLR["offsetCodeAddr"] = df_WithoutASLR["startStackAddr"] - df_WithoutASLR["startCodeAddr"]
|
|
df_WithoutASLR["offsetLibAddr"] = df_WithoutASLR["startStackAddr"] - df_WithoutASLR["startLibAddr"]
|
|
|
|
if __name__ == '__main__':
|
|
fig, axs = plt.subplots(3, 2)
|
|
|
|
df_ASLR["startStackAddr"].value_counts().value_counts().plot(kind='bar', ax=axs[0, 0], grid=False, rot=0)
|
|
df_ASLR["offsetCodeAddr"].value_counts().value_counts().plot(kind='bar', ax=axs[1, 0], grid=False, rot=0)
|
|
df_ASLR["offsetLibAddr"].value_counts().value_counts().plot(kind='bar', ax=axs[2, 0], grid=False, rot=0)
|
|
df_WithoutASLR["startStackAddr"].value_counts().value_counts().plot(kind='bar', ax=axs[0, 1], grid=False, rot=0)
|
|
df_WithoutASLR["offsetCodeAddr"].value_counts().value_counts().plot(kind='bar', ax=axs[1, 1], grid=False, rot=0)
|
|
df_WithoutASLR["offsetLibAddr"].value_counts().value_counts().plot(kind='bar', ax=axs[2, 1], grid=False, rot=0)
|
|
|
|
plt.show()
|
|
|