Учу ассемблер x86-64 для реверса — нужен ли вообще, если есть декомпилятор?

Теги: #CTF
Рейтинг: 70.2% · 15 голосов
Capture The Flag, реверс бинарных файлов, разработка эксплойтов, ассемблер, форензика, крэкми и задачи по информационной безопасности.
Ответить
Аватара пользователя
ruslan_web57
Сообщения: 6
Зарегистрирован: Вс май 10, 2026 9:17 pm

Учу ассемблер x86-64 для реверса — нужен ли вообще, если есть декомпилятор?

Сообщение ruslan_web57 »

Провокационный вопрос: в 2026, когда Ghidra/IDA выдают читаемый псевдокод на C, есть ли смысл реально учить asm? Или достаточно понимать вывод декомпилятора?
👍 ❤️ 🔥 😄 🤔
✔ Лучший ответ сформирован автоматически — kotik2000
Плюс целые классы задач без asm нерешаемы: shellcode, ROP-цепочки, патчинг байтов, анти-дебаг трюки на флагах. Декомпилятор это ускоритель для того кто и так понимает что под капотом, а не замена понимания.
Перейти к ответу →
Аватара пользователя
olga_code
Сообщения: 19
Зарегистрирован: Вс май 10, 2026 11:28 pm

Re: Учу ассемблер x86-64 для реверса — нужен ли вообще, если есть декомпилятор?

Сообщение olga_code »

Декомпилятор врёт. Регулярно. Особенно на оптимизированном коде, SIMD, нестандартных calling conventions и обфускации он генерит чушь, которую без знания asm ты не отловишь. Так что да, учить надо, хотя бы чтобы не доверять F5 слепо.
👍4 ❤️4 🔥6 😄1 🤔1
Аватара пользователя
kotik2000
Сообщения: 5
Зарегистрирован: Ср май 13, 2026 2:05 am
Репутация: 68

Re: Учу ассемблер x86-64 для реверса — нужен ли вообще, если есть декомпилятор?

Сообщение kotik2000 »

✔ Лучший ответ — сформирован автоматически
Плюс целые классы задач без asm нерешаемы: shellcode, ROP-цепочки, патчинг байтов, анти-дебаг трюки на флагах. Декомпилятор это ускоритель для того кто и так понимает что под капотом, а не замена понимания.
👍 ❤️ 🔥 😄1 🤔
Аватара пользователя
vectortcp6491
Сообщения: 4
Зарегистрирован: Пт май 15, 2026 4:30 am

Re: Учу ассемблер x86-64 для реверса — нужен ли вообще, если есть декомпилятор?

Сообщение vectortcp6491 »

Убедили. С чего учить именно под реверс, а не под написание с нуля? Книжки по asm обычно про то как писать программы, а мне читать чужое надо.
👍7 ❤️4 🔥 😄3 🤔1
Аватара пользователя
vika_official
Сообщения: 5
Зарегистрирован: Вт май 26, 2026 3:29 am

Re: Учу ассемблер x86-64 для реверса — нужен ли вообще, если есть декомпилятор?

Сообщение vika_official »

Не читай толстые книги про написание. Бери дизасм маленьких функций и руками переводи в C, потом сверяй с декомпилятором. OpenSecurityTraining2 'Architecture 1001: x86-64' бесплатный и заточен ровно под чтение, а не написание.
👍4 ❤️2 🔥 😄1 🤔
Аватара пользователя
julia_vue24
Сообщения: 9
Зарегистрирован: Вт май 12, 2026 3:36 am

Re: Учу ассемблер x86-64 для реверса — нужен ли вообще, если есть декомпилятор?

Сообщение julia_vue24 »

И поставь себе godbolt (compiler explorer): пишешь C слева — видишь asm справа. Лучший способ прочувствовать как конструкции языка ложатся в инструкции, циклы, switch через jump table и т.д.
👍1 ❤️ 🔥1 😄 🤔
Аватара пользователя
german_linux62
Сообщения: 3
Зарегистрирован: Вт май 12, 2026 6:41 pm

Re: Учу ассемблер x86-64 для реверса — нужен ли вообще, если есть декомпилятор?

Сообщение german_linux62 »

Godbolt это лучший совет в треде. Я так за неделю наконец понял почему компилятор разворачивает циклы и куда деваются мои переменные. Раньше декомпилятор был магией, теперь читается как книга.
👍1 ❤️ 🔥1 😄 🤔1
Аватара пользователя
lev1814
Сообщения: 7
Зарегистрирован: Вт май 12, 2026 12:30 am

Re: Учу ассемблер x86-64 для реверса — нужен ли вообще, если есть декомпилятор?

Сообщение lev1814 »

Asm нужен в реверсе в конкретных ситуациях, которые декомпилятор ломает: обфусцированный код с VM-протекторами (VMP, Themida), ручные оптимизации компилятора где Ghidra теряет структуру, shellcode без символов, pack-ed бинари. Ghidra выдаёт псевдокод C, но он генерируется из BNOT-EXPR и прочих промежуточных форм — если ты не понимаешь что происходит на уровне MOV/LEA/XOR, ты не можешь оценить правильно ли декомпилятор интерпретировал кусок. Особенно это больно с calling conventions и стек-фреймами.
👍2 ❤️2 🔥1 😄 🤔
Аватара пользователя
vera_loop
Сообщения: 3
Зарегистрирован: Пт май 22, 2026 6:51 am

Re: Учу ассемблер x86-64 для реверса — нужен ли вообще, если есть декомпилятор?

Сообщение vera_loop »

Практически: достаточно читать asm, не писать. Нужно уверенно понимать соглашения вызовов (System V AMD64 ABI — rdi, rsi, rdx, rcx, r8, r9 для аргументов), уметь читать пролог/эпилог функций, понимать как компилятор оптимизирует петли (loop unrolling, autovectorization через XMM). Для этого хватит книги Криса Игла 'The IDA Pro Book' + практики на crackme.one на уровне easy/medium. Неделя-две и базовый словарный запас будет.
👍1 ❤️1 🔥1 😄1 🤔
Аватара пользователя
tanya_sigma31
Сообщения: 20
Зарегистрирован: Чт май 14, 2026 10:41 pm

Re: Учу ассемблер x86-64 для реверса — нужен ли вообще, если есть декомпилятор?

Сообщение tanya_sigma31 »

Конкретный пример где декомпилятор не поможет: анализ антиотладочных трюков через RDTSC или IsDebuggerPresent через inline asm — Ghidra их часто просто выбрасывает как dead code или неправильно поднимает в псевдокод. Если занимаешься малварь-анализом, без базового asm будешь постоянно промахиваться мимо ключевых артефактов.
👍 ❤️ 🔥 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK
Похожие запросы: ghidra или ida pro для реверса

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость