wpf 防止DLL劫持Core .NET Framework库

e5njpo68  于 2023-08-07  发布在  .NET
关注(0)|答案(2)|浏览(122)

有一个核心.NET Framework库(mscorjit.dll)在用户的计算机上丢失,我的.NET应用程序试图加载库,但什么也没有发生(应用程序没有崩溃),即使它丢失了。我相信这可能会导致DLL劫持。有没有一种方法可以避免对这个库的依赖,以便在加载应用程序时不查找这个库?
我希望在这个问题上得到任何提示或指导。
我已经尝试从应用程序中删除许多依赖项,但应用程序仍然试图在加载过程中找到这个库。

n9vozmp4

n9vozmp41#

mscorjit.dll包含.NET 2.0或更低版本中JIT编译器的实现。在后来的版本中,它被称为clrjit.dll
不,你不能消除这种依赖。它是. NET的一部分。

taor4pac

taor4pac2#

简而言之-不。如果您可以从.NET Framework迁移到.NET Core,那么您可以尝试将应用程序发布为自包含的single-file应用程序。或者甚至使用native AOT(即编译为本地代码)。
P.S.
如果.NET Framework Library(mscorjit.dll)在用户机器上被劫持,那么不仅仅是一些应用程序,整个系统都会受到损害。如果你担心用户扰乱你的应用程序,那么核心dll劫持也不应该在高优先级列表上(.NET反编译将是更容易的方法)。

相关问题