Доступ к системным кодам ошибок - PullRequest
0 голосов
/ 08 июня 2018

Как часть шелл-кода в сборке Linux, я создал шелл-код egghunter, который использует системный вызов Access для поиска шелл-кода в памяти и его выполнения.Это прекрасно работало на виртуальной машине с Ubuntu 12.04, но при использовании ее на моей «нормальной» Ubuntu 18.04 она не работает.

Это основано на том факте, что системный вызов доступа должен возвращать ошибку EFAULT, когда не можетчтобы получить доступ к части памяти.Обычно это возвращает 0x2f в регистр al (rax установлен в 0xfff ...... 2f).Это работало на виртуальной машине с Ubuntu, но на моей обычной машине он возвращает 0xea (rax установлен на 0xfff .... ea).

Я предполагаю, что это еще одна ошибка, и если я знаю, что это за ошибка, я смогу исправить свой шелл-код.Но я не могу найти то, что это обозначает.Я прочитал unistd.h и связанные файлы, но ничего не нашел.

...