mscorwks.dll作用:
mscorwks.dll是dotNet的核心文件,尤其是在net2.0中,以前分散的功能都集中到了這個dll中。
net1.1中,還有一個文件mscorsvr.dll 和 mscorwks.dll 是同等地位的。
它們分別對應(yīng)于 windows service程序以及 desktop 程序。
在net2.0中,它們都統(tǒng)一到了 mscorwks。dll中。
同時在net2.0中mscorsn.dll 的功能也合并到了 mscorwks.dll中。
它就是dotnet運行庫的核心。
DotNet的執(zhí)行引擎(ee),內(nèi)部對象的實現(xiàn)都在這個dll里面。
在我們用reflector查看dotnet類庫源代碼時經(jīng)常會遇到一些函數(shù)看不到源代碼,只是標記成內(nèi)部實現(xiàn)。這些函數(shù)基本上實際實現(xiàn)的代碼就在這個dll里面,是native實現(xiàn)的。如反射功能的相關(guān)對象以及實現(xiàn)就是這里面。
net程序的執(zhí)行主要由它來完成,還有另外一個重要的文件mscorjit.dll 被它所調(diào)用。
現(xiàn)在我們把 mscorwks.dll 分成兩個區(qū) A 和 B,
A 是主要執(zhí)行引擎(ee)和native 實現(xiàn)。
B 是ee調(diào)用jit的處理部分。
net2.0的反射功能是在A區(qū)實現(xiàn)的。加密殼如果要實現(xiàn)完美的兼容性(即不破壞DotNet本身的任何功能和特性)就應(yīng)該在 A 區(qū)掛入其內(nèi)核。
在A區(qū)有一個函數(shù)實現(xiàn)獲取方法體的內(nèi)容,ee層需要取得方法體內(nèi)容是通過這個函數(shù)來獲得的。因此完美的方法就是 替換這個函數(shù),用加密殼的內(nèi)核實現(xiàn)這個函數(shù)。
這樣的最大缺點就是反射漏洞,因為反射也是調(diào)用這個函數(shù)取得方法體的。
mscorwks.dll丟失修復(fù)方法:
1、解壓縮下載的文件。
2、復(fù)制文件“mscorwks.dll”到系統(tǒng)目錄下。
3、系統(tǒng)目錄一般為:C:WINNTSystem32 64位系統(tǒng)為C:WindowsSysWOW64。
4、最后點擊開始菜單-->運行-->輸入regsvr32 mscorwks.dll,回車即可解決錯誤提示。
5、以上方法還不行,請重新下載安裝【.NET Framework4.0簡體中文版】。
您的評論需要經(jīng)過審核才能顯示
有用
有用
有用