Вопрос ошибка сегментирования vmprotect linux

Статус
В этой теме нельзя размещать новые ответы.
  • 10
  • 14
Контакты для связи отсутствуют.
имеется модуль накрытый vmprotect'ом, нужно пропатчить один адрес
мпротект возращает 0 ( значит успешно )
C++:
bool callMProtect(unsigned int addr, size_t size)
{
    return mprotect((void*)(((int)addr / 4096) * 4096), size, PROT_WRITE | PROT_READ | PROT_EXEC);
}
но при замене байта через memset, получаю ошибку сегментации
есть люди которые работали с таким? :blob-party:
 
  • 28
  • 3
  • 42
Не знаю как в линуксе, но в винде VMProtect ставит хук на NtProtectVirtualMemory, скорее всего в линуксе он делает тоже самое с mprotect. Пробуй протектить память удалённо из другого процесса.
 
  • 10
  • 14
Контакты для связи отсутствуют.
Проблема решена, неправильно складывался адрес модуля и оффсет. Можно закрывать тему.
Для тех кто будет патчить что-то под линукс накрытым вмпротектом, проблем не будет, хук на mprotect не ставится.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу