Существует основная библиотека .NET Framework (mscorjit.dll), которая отсутствует на компьютере пользователя, мое приложение .NET пытается загрузить библиотеку, но ничего не происходит (приложение не аварийно завершает работу), даже если она отсутствует. Я считаю, что это может привести к захвату DLL. Есть ли способ избежать зависимости от этой библиотеки, чтобы она не искала эту библиотеку при загрузке приложения?
Я был бы признателен за любые указатели или рекомендации по этому вопросу.
Я пытался удалить многие зависимости из приложения, но приложение все равно пытается найти эту библиотеку во время загрузки.
Эта сборка должна быть загружена из глобального кэша сборок, а не из простого системного каталога. Даже если что-то будет найдено в папке с программами, оно не будет загружено. Версия в GAC будет предпочтительнее. Вектор атаки, удаляющий его из GAC, добавляющий что-то в вашу папку с правильной подписью кода для этой вещи, маловероятен. И если бы он мог сделать все это, атаковать ваше приложение напрямую было бы намного проще.





mscorjit.dll содержит реализацию JIT-компилятора в .NET 2.0 или ниже. В более поздних версиях это называется clrjit.dll.
И нет, вы не можете удалить эту зависимость. Это часть .NET.
Короче - нет. Если вы можете перейти с .NET Framework на .NET Core, вы можете попытаться опубликовать свое приложение как автономное однофайловое приложение. Или даже используя нативный AOT (то есть скомпилированный в нативный код).
P.S.
Если библиотека .NET Framework (mscorjit.dll) захвачена на компьютере пользователя, возникает гораздо больше проблем, чем просто какое-то приложение, скомпрометирована вся система. Если вы беспокоитесь о том, что пользователь возится с вашим приложением, то захват основной dll также не должен быть в списке с высоким приоритетом (декомпиляция .NET будет намного проще).
Он загружает DLL из непредусмотренных мест вместо загрузки из каталога Sys32, и я думаю, что это связано не с моим приложением, а с тем, как .NET Framework загружает DLL, поэтому я хочу знать, есть ли способ предотвратить это.