Автор темы
Два подхода к изучению низкоуровневых тем (ELF, ABI, линковка, загрузчик) спорят друг с другом годами.
Позиция 1: сначала база. Берёшь книги, выстраиваешь последовательность, разбираешь формат ELF по полям, читаешь про ABI до того, как откроешь дизассемблер. Логика простая: без фундамента ты будешь угадывать, а не понимать. Инструменты меняются, а знание формата остаётся.
Позиция 2: сначала цель. Определи конкретную задачу: написать линкер для учебного проекта, разобрать crackme, пропатчить бинарь. Теория подтягивается по мере необходимости. Без цели ты прочитаешь 600 страниц, запомнишь 10% и не сможешь применить ни одну.
У обеих сторон есть уязвимое место. "Фундаменталисты" рискуют застрять в чтении и никогда не перейти к делу. "Практики" рискуют собрать лоскутное знание с дырами, которые выстрелят в неожиданный момент.
Лично я замечал, что люди, начавшие с задачи, быстрее выходят на результат. Но те, кто сел за спецификацию, потом объясняют вещи, которые "практики" просто принимают на веру. Оба пути работают, вопрос в цене.
Ты за фундамент сначала или за задачу, которая тянет теорию за собой? Объясни, почему у тебя сработало именно так.
Последнее редактирование модератором: