Каждый раз, когда я загружаю обновление в firefox и устанавливаю его, Антивирус Касперского сообщает мне, что файл FIREFOX.EXE был изменен. Я хочу знать, как они это делают. Можно ли сделать простую программу для демонстрации этого трюка. Как будто исполняемый файл изначально отображает "Hello, World!" в приглашении, и когда я заменяю / изменяю образец исполняемого файла, он должен отображать «Hello, World! Mod».





Самый простой способ - использовать метод FindFirstChangeNotification. Но я предполагаю, что Антивирус подключается на каком-то более низком уровне, используя системный крючок или какой-то другой механизм.
Я точно не знаю, как Firefox выполняет свои обновления, но есть несколько общих подходов:
В файловой системе, которая позволяет это (например, NTFS), затем переименуйте текущий исполняемый файл .exe, запишите его замену, а затем подключитесь к новому
Имейте небольшую программу запуска, которая выполняет любое обновление основного исполняемого файла перед переключением на него.
Различные трюки, в которых временные бывшие заставляют прыгать к ним и прыгать назад и т. д.
У меня создалось впечатление, что Firefox, когда у него есть обновление, запускает другое приложение и закрывается сам. Затем вспомогательное приложение заменяет .exe. Таким образом, он не модифицируется во время выполнения.
Я ищу самомодифицирующийся код на C++. Я думаю, что программы могут модифицироваться, отсоединяя их от окон
Вы спрашиваете, как Касперский замечает это изменение или как Firefox обновляется?