下载之家是安全的绿色软件免费下载网站,整理最新的QQ软件和QQ资讯内容!

QQ下载|QQ资讯|QQ分类|下载排行|最近更新

软件
软件
文章
当前位置:首页系统工具驱动文件 → mscorwks.dll下载
mscorwks.dll下载

mscorwks.dll下载

评分:10.0
下载地址
  • 软件大小:1.3M
  • 软件语言:中文
  • 更新时间:2024-04-23 04:39:19
  • 软件类别:免费/驱动文件
  • 软件性质:PC软件
  • 软件厂商:
  • 运行环境:WinAll
  • 软件等级:
  • 官方网址:
  • 软件介绍
  • 软件截图
  • 猜你喜欢
  • 同类推荐
  • 相关文章

软件Tags: mscorwks.dlldll

如果某些程序运行不了,弹出缺失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简体中文版】。

应用名称: Mircosoft.Net.Framework4.0
下载地址: http://www.qqtn.com/down/47855.html

mscorwks.dll是什么?mscorwks.dll作用

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代码的加解密 ”时已经进行过测试了

展开内容

软件截图

同类推荐

推荐文章

用户评论

关于下载之家 | 联系方式 | 发展历程 | 版权声明 | 下载帮助(?) | 广告联系 | 网站地图 | 友情链接

Copyright 2019-2029 AZQQW.COM 【下载之家】 版权所有 粤ICP备8888888号 | 粤公网安备 42011102000245号

声明: 本站非腾讯QQ官方网站 所有软件和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告