Здесь со вчерашнего дня я смотрю, как определить, активирована ли защита "ПИРОГ".Для этого я проанализировал вывод записей о перемещении, чтобы увидеть, присутствует ли _ITM_deregisterTMClone или нет.Есть ли лучший способ обнаружить PIE без прохождения вывода readelf?
Вот что у меня сейчас есть:
def display_pie(counter):
if (counter == 1):
print("Pie : Enable")
else:
print("Pie: No PIE")
def check_file_pie(data_file):
data = []
data2 = []
result = []
ctn = 0
check = subprocess.Popen(["readelf", "-r", data_file],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
result = check.stdout.readlines()
for x in result:
data.append(list(x))
for lines in data:
data2.append("".join(map(chr, lines)))
for new_lines in data2:
if "_ITM_deregisterTMClone" in new_lines:
ctn += 1
display_pie(ctn)
Спасибо, это довольно технически, так что если кто-то может объяснить мне лучшеспособ проверить исполняемую независимую позицию, мне интересно!