Проблема Вопрос про дампы

Tasga

One Level
21.12.2024
4
3
Недавно на нейкой CTF площадке мне надо было в сыром дампе стековой памяти процесса найти канарейку (просто дамп, а-ля px @ rsp, т.е в дебаггере не открыть, просто байты). Сам быдлоскрипт, конечно, правильно определил, но существуют ли какие-то человеческие способы для такой нестандартной задачи ?

Скрипт прилагаю, можете поржать над моими потугами :D
Python:
from collections import Counter
from pwn import u64

adrs = []
with open("pid-4018-7ffc1efb8000-7ffc1efd9000", "rb") as file:
    dmp = file.read()

for i in range(0, len(dmp), 8):
    sub = dmp[i:i+8]
    if (u64(sub) != 0) and ('0x7FF' not in str(hex(u64(sub))))  and (len(str(hex(u64(sub)))) == 18) and ( str(hex(u64(sub)))[-2:] == '00' ):
        adrs.append(u64(sub))

counts = Counter(adrs)
print(hex(max(counts, key=counts.get)))
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab