Добрый вечер.
Мы используем VMProtect 3.8.0 под Linux.
У проекта в опциях есть защита памяти, которая защищает и память, и файл на диске. Возможно ли отключить контроль целостности файла на диске и оставить включённой защиту памяти?
Нужно это в связи с тем, что мы дописываем в elf файл дополнительные секции, что приводит к срабатыванию контроля целостности.
Отключение контроля целостности файла на диске при сохранении защиты памяти
Re: Отключение контроля целостности файла на диске при сохранении защиты памяти
Вы являетесь зарегистрированным пользователем VMProtect?
Re: Отключение контроля целостности файла на диске при сохранении защиты памяти
Да, он у нас приобретён на компанию, где я работаю.
Re: Отключение контроля целостности файла на диске при сохранении защиты памяти
Вы планируете подписывать файл с помощью bsign?
Re: Отключение контроля целостности файла на диске при сохранении защиты памяти
Да, мы планируем использовать bsign, плюс у нас есть своя утилита, которая прописывает информацию о версии файла и продукте в секции note. Секции наша утилита добавляет с использованием утилиты objcopy из binutils. Проблема при подписывании и нашей утилиты и bsign одинаковая - нарушается контроль целостности. Свою утилиту мы допилим при необходимости, нужно только понимать, как можно решить проблему. Если это можно сделать без снижения уровня защиты, то вообще отлично.
Re: Отключение контроля целостности файла на диске при сохранении защиты памяти
Можно убрать из контроля целостности все поля, которые относятся к ELF секциям в Elf_Ehdr: e_shoff, e_shentsize, e_shnum, e_shstrndx. Такой вариант устроит?
Re: Отключение контроля целостности файла на диске при сохранении защиты памяти
Если после этого у нас всё заработает, то конечно устроит. Надо попробовать. Что для этого нужно сделать?
Re: Отключение контроля целостности файла на диске при сохранении защиты памяти
С bsign мы разобрались, почитал тему здесь о проблемах с bsign для подписей под АстраЛинукс. Вариант с двойной подписью до и после перемешивания у нас сработал. Но осталась проблема с нашей утилитой.
Поэтому вариант с убиранием из контроля целостности полей, относящихся к ELF секциям по прежнему актуален.
Как это сделать?
Поэтому вариант с убиранием из контроля целостности полей, относящихся к ELF секциям по прежнему актуален.
Как это сделать?
Re: Отключение контроля целостности файла на диске при сохранении защиты памяти
С нашими дописываемыми секциями с данными о ревизии мы разобрались - VMProtect удаляет секции .note, но если создать секцию с другим кастомным именем (например .revision), то всё нормально, эти секции не удаляются/
Re: Отключение контроля целостности файла на диске при сохранении защиты памяти
А вот при подписи обработанных VMProtect'ом файлов в АстраЛинукс с помощью bsign у нас возникла проблема: при двойном подписывании до и после обработки VMProtect'ом исполняемого файла всё хорошо, а вот при загрузке обработанной таким образом библиотеки (.so) срабатывает защита целостности файла.
Может ли это быть ошибка в VMProtect или какая-то особенность обработки им библиотек?
Может ли это быть ошибка в VMProtect или какая-то особенность обработки им библиотек?