Автор темы
На форуме всплыла знакомая ситуация. Человек составил себе длинный учебный план: книги по ассемблеру, потом C, потом формат ELF, потом ядро. Классический путь "снизу вверх". Всё логично, всё последовательно.
Собеседник задал один вопрос: "А зачем тебе это?" Не в смысле "зачем учиться", а конкретнее: ты хочешь писать эксплойты? Патчить ядро? Реверсить малварь? Или просто разобраться, как работает машина?
Вопрос не праздный. Если цель: реверс, то половину книг из списка можно отложить, а вместо них взять crackme и дизассемблер. Если цель: разработка ядерных модулей, порядок чтения будет другой. Без цели план превращается в бесконечную подготовку к подготовке.
С другой стороны, есть аргумент и за "книжный" подход. Кто сел за ассемблер без понимания адресации и стека, тот знает: пробелы в базе потом бьют больно. Каждый баг в эксплойте, который ты не можешь объяснить, возвращает тебя к тем же страницам, которые ты пропустил.
Лично я видел оба сценария: люди, которые читали два года и не написали ни одного шеллкода, и люди, которые ломали CTF-таски, но не могли объяснить, почему их пейлоад работает.
Ты бы сначала прошёл книжную базу до конца или сразу взял конкретную задачу и подтягивал теорию по ходу?
Последнее редактирование модератором: