标签:
如果某些程序运行不了,弹出缺失mscorwks.dll文件。首先建议大家下载mscorwks.dll文件。如果还是无法运行,就重新安装.NET 4.0吧。
mscorwks.dll是dotNet的核心文件,不可或缺,缺少mscorwks.dll文件可能会造成某些软件或游戏不能正常运行。
1、解压缩下载的文件。
2、复制文件“mscorwks.dll”到系统目录下。
3、系统目录一般为:C:\WINNT\System32 64位系统为C:\Windows\SysWOW64。
4、最后点击开始菜单-->运行-->输入regsvr32 mscorwks.dll,回车即可解决错误提示。
5、以上方法还不行,请重新下载安装【.NET Framework4.0简体中文版】。
mscorwks.dll是dotNet的核心文件,尤其是在net2.0中,以前分散的功能都集中到了这个dll中。
net1.1中,还有一个文件mscorsvr.dll 和 mscorwks.dll 是同等地位的。
它们分别对应于 windows service程序以及 desktop 程序。
在net2.0中,它们都统一到了 mscorwks。dll中。
同时在net2.0中mscorsn.dll 的功能也合并到了 mscorwks.dll中。
它就是dotnet运行库的核心。
DotNet的执行引擎(ee),内部对象的实现都在这个dll里面。
在我们用reflector查看dotnet类库源代码时经常会遇到一些函数看不到源代码,只是标记成内部实现。这些函数基本上实际实现的代码就在这个dll里面,是native实现的。如反射功能的相关对象以及实现就是这里面。
net程序的执行主要由它来完成,还有另外一个重要的文件mscorjit.dll 被它所调用。
现在我们把 mscorwks.dll 分成两个区 A 和 B,
A 是主要执行引擎(ee)和native 实现。
B 是ee调用jit的处理部分。
net2.0的反射功能是在A区实现的。加密壳如果要实现完美的兼容性(即不破坏DotNet本身的任何功能和特性)就应该在 A 区挂入其内核。
在A区有一个函数实现获取方法体的内容,ee层需要取得方法体内容是通过这个函数来获得的。因此完美的方法就是 替换这个函数,用加密壳的内核实现这个函数。
这样的最大缺点就是反射漏洞,因为反射也是调用这个函数取得方法体的。
在这个基础上要要破坏反射有什么办法呢?
在反射是需要调用Method的成员函数GetMethodBody,这个函数是native实现的,就在mscorwks。dll中,因此加密壳可以hook这个函数做一些预防处理。
但是效果不理想,破解者可以恢复这个函数的原始实现。
还有一个方法,不是完美,但是有效,即不直接替换获取方法体的函数,
而是只替换编译前获取方法体的地方。这样只在要编译方法时才提供内核解密服务。
效果如何?也不太理想,破解这可以修改反射的实现函数,直接jmp到加密壳的内核服务。
这种方式就是DNGuard v1.0采用的方法,似乎也是某壳目前版本的方法。
当然,DNGuard 1.0还简单的加入了放内存修改,不过这个效果也能太乐观,破解者也能够把这部分屏蔽掉。
因为反射在A区实现,如果壳的内核也挂接A区,反射就比较容易修复。
在我做DNGuard 2.0之前,我曾想过一种方法,能使反射无效,甚至难于修复。
即同时在内核挂接在 A 区,和 B区。
先来介绍一下一个函数要被执行是是怎么个流程。
首先,EE会检查函数是否编译?编译了就直接调用了。没有编译就进行编译。由一个prestub实现。
然后EE取得方法体,对方法头和SEH TAble进行简单解析,转换成结构。
(这些在A区完成),进入B区调用Jit进行编译。
在A区ee只关系方法头和sehtable,而B区调用jit时 il字节码才有实际意义。
所以可以将内核分别挂接这两个区,A区中只提供header和seh,B区中提供il字节码。
不过在我开始做DNGuard v2.0后就放弃了这个想法,因为这样还是不安全。
参考这里:深入Jit,实现dotNet代码的加解密
不管内核是在A区还是B区,如果一个加密壳的内核只限于在mscorwks.dll进行挂接实现。那么都无法脱逃 jit层脱壳机的脱壳。我在写文章“深入Jit,实现dotNet代码的加解密 ”时已经进行过测试了
厂商名称:
keyhookdll.dll下载21KB116人在玩腾牛网提供的这款keyhookdll.dll文件,是windows中一个必不可缺的dll文件。如果系统提示“丢失keyhookdll.dll”或者“keyhookdll.dll错误”等提示,大家可以到这里下载keyhookdll.dll文件进行修复。
下载COMNT5.INF文件下载11KB833人在玩COMNT5.INF文件下载就到腾牛网。我们在这里提供了COMNT5.INF驱动程序,如果缺少该文件,可在百度上搜索COMNT5.INF腾牛网下载,即可找到它了。
下载Razer Synapse3(雷蛇云驱动3)5.7M9566人在玩RazerSynapse3是针对雷蛇用户推出的一款功能非常强大的外设驱动。它可以在云端储存雷蛇外设配置信息,支持宏编程,可以自定义键盘/鼠标灯光颜色,给你带来全新的用户体验。有需要的朋友快来下载体验吧。
下载ASIO驱动跳线工具(ASIO Link Pro)1.6M1024人在玩ASIO驱动跳线工具(ASIOLinkPro)是一款经过绿色汉化的虚拟跳线软件,使用该软件,可以让一些没有内录功能的声卡实现网络K歌或闪避功能,而且不会导致延迟的问题,感兴趣的朋友快来下载使用吧。
下载ASIO驱动自定义多通道版1021KB134人在玩ASIO驱动(多通道)一款绿色小巧,功能实用的板载声卡模拟ASIO输出的小工具,在安装的时候,可随意自定义虚拟的播放通道数量和录音通道数量,只要你喜欢,也可以随意定义ASIO通道数量执行安装,同时配合专用机架宿主软件,实现多通道的DIY输入和输出处理!
下载水星mw150uh无线网卡32.0M68人在玩超小型150M无线USB网卡MW150US,给你最快速最便捷的无线网上体验。使用该网卡需要下载水星mw150uh无线网卡驱动,这样才能启动mercury150uh,帮助你在电脑上建立无线网络,管理无线网络。
下载PdfFactory pro11.6M9人在玩PdfFactorypro是一款能将单页或多页东西直接打印为PDF格式的优质软件,并且能进行文件的预览,页面的插入和删除,还能够把PDF文件使用E-mail客户端发送。
下载炽魂10.4M8人在玩炽魂客户端,是为炽魂旗下鼠标专门打造的驱动客户端程序,能够在电脑上配置您的炽魂系列产品的客户端,使用这款炽魂客户端可以一键帮您安装对应设备的驱动已经调节设备的使用频率功能效果等,马上下载这款炽魂客户端使用吧。
下载setpoint77.6M21人在玩setpoint是Logitech罗技全系列鼠标键盘最新驱动。这款罗技鼠标LogitechSetpoint驱动,是一款几乎包含了当下所有罗技鼠标的驱动程序,有需要的用户赶快下载吧!
下载扫描仪增强工具20189M47人在玩扫描仪增强工具2018,最受大家喜欢的第三方底片万用扫描仪驱动程序,不但支持市面上的底片扫描仪,而且还添加了对“首选项|查看器”使用脚本的支持,让你们能够在Windows上使用.bat文件。
下载