этот способ очень хорош тем, что он не испульзует регистры спец-назначения. такие как $cr0
а в разнообразных системах виртуализаций они все хендлятся по разному, и шаблонный mov $cr0, rax выдает кое-где краши или же выдает краши потом, когда дело доходит до перезаписи.
Где-то три дня назад я встетил oracle unbreakable kernel.
Дело в том, что не 1 из известных мне способов не срабатывает на нем для перезаписи памяти ядра, если нету в налиичии $cr0
как только я пытаюсь прочитать или записать память, которую мне возвращает условный оверлап-маппинг - я ловлю Oops