Ну, там довольно все просто, первые 512 байтов MBR обычно содержат код загрузчика операционной системы, который и будет подвержен изменениям. Если первоначальная цель разработчика — финансовая выгода, он может перезаписать байт-код своим (содержащий всякие просьбы закинуть ему лавэху, а он тебе в ответ ключ для декрипта данных), который скомпилирован в условном NASM (там есть поддержка 16-битного асм). Если же цель разработчика — нанести вред пользователю, он может занулить все 512 байт
Способов восстановления MBR куча, с помощью того же BootRec, который является частью инструментов среды восстановления операционной системы и может перезаписывать MBR, восстанавливая загрузчик