PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?
Рейтинг: 51% · 4 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
- redis_guru
- Сообщения: 21
- Зарегистрирован: 12 май 2026, 02:07
✔ Лучший ответ сформирован автоматически — grpcsre
coder_vasya писал(а):Возьмите frida и хукните ptrace на уровне ABI, ей вообще пофиг raw syscall это или libc frida Interceptor цепляется за адрес функции. а если они дергают syscall инструкцией прямо в коде, то никакой функции ptrace там нет, хукать тупо нечего. тебе тогда Stalker с перехватом svc, а это уже не 5 строк жс. так что 'пофиг raw syscall' это слишком оптимистично
- coder_vlad
- Сообщения: 72
- Зарегистрирован: 11 май 2026, 01:57
Re: PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?
В итоге сделал так: открыл в radare2, нашёл все три места (два ptrace через syscall и один open на status), запатчил переходы на безусловные. Флаг выпал. Спасибо, проблема была именно в raw syscall мимо LD_PRELOAD.
- weekendghost
- Сообщения: 10
- Зарегистрирован: 12 май 2026, 10:38
Re: PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?
Идея простая: меряешь rdtsc до и после куска кода, под отладкой со степпингом разница в тысячи раз больше. Лечится хуком rdtsc или просто не степпишь, а ставишь хардварные брейки и пролетаешь блок целиком.
Re: PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?
✔ Лучший ответ — сформирован автоматически
frida Interceptor цепляется за адрес функции. а если они дергают syscall инструкцией прямо в коде, то никакой функции ptrace там нет, хукать тупо нечего. тебе тогда Stalker с перехватом svc, а это уже не 5 строк жс. так что 'пофиг raw syscall' это слишком оптимистичноcoder_vasya писал(а):Возьмите frida и хукните ptrace на уровне ABI, ей вообще пофиг raw syscall это или libc
Re: PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?
@matguyvr, Unicorn ради крякми с тремя флагами это из пушки по воробьям. ОП уже все три проверки нашел, ему пять минут в радаре переходы заnopить, а ты предлагаешь поднимать эмулятор и писать хуки на сисколлы. redis_guru ниже верно про rdtsc сказал, ровно такие штуки и превращают unicorn в недельный проект на пустом месте
Re: PTRACE_TRACEME в челлендже не убивается ни патчем, ни LD_PRELOAD — что я упускаю?
а зачем вообще патчить три места по очереди. поставь бряк на самый первый ptrace, дойди в gdb и глянь куда он реально пишет результат. часто все три проверки сходятся в один флажок в памяти, дернул его один раз и готово, без выковыривания каждой ветки
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
- Чем хостить Next.js в РФ в 2026? VPS за 400р убивается OOM, Vercel недоступен
8 ответов · 8 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость