Когда-то мы обсуждали, почему все функции Windows начинаются с бессмысленной инструкции
MOV EDI, EDI
. Ответ заключался в том, что эта инструкция использовалась как двухбайтовый NOP
, что позволяло безопасно заменить её на инструкцию перехода JMP $-5
, что позволяло применять различные исправления к работающей системе (такой метод не подходит для тех исправлений, которые изменяют структуры данных или включают взаимодействие между процессами).Но вы могли заметить, что в 64-битной Windows эти бессмысленные инструкции исчезли. Значит ли это, что метод мёртв?