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