mscorwks.dll在.net中的地位以及在.net代码保护方面的应...

DNGuard_HVM_脱壳工具.zip 不会用不要乱弄 专去HVM壳10和11运行不了 打开没反应记得换xp系统或在VM下操作 立即下载

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

今回到这里,下回介绍mscorjit。dll。
 

3DGS 2025实战指南:从安装到训练全流程解析 本文提供了3D Gaussian Splatting (3DGS) 从零开始的完整实战指南。详细解析了使用gsplat库进行环境配置、依赖安装(包括pycolmap和fused-ssim)、数据准备与COLMAP处理、核心训练流程及参数调优,并探讨了2025年3DGS在动态场景、可控编辑等领域的最新进展,帮助开发者快速掌握这一前沿3D重建技术。 阅读详情

相关推荐

直流有刷电机H桥控制实战:从原理图到PWM调速(附DR70x驱动芯片详解)

本文详细解析了直流有刷电机H桥控制的核心技术,从原理图设计到PWM调速实现,特别针对DR70x驱动芯片的应用进行了深入探讨。文章涵盖了H桥电路的电流路径分析、PWM调速的工程细节、DR70x驱动芯片的工作原理及典型应用电路设计,并提供了实测波形分析和故障排查方法,为工程师提供了一套完整的解决方案。

weixin_29215815的博客 149

mscorwks.dll在DotNet中的地位以及在.Net代码保护方面的应用

 mscorwks.dll是dotNet的核心文件,尤其是在net2.0中,以前分散的功能都集中到了这个dll中。net1.1中,还有一个文件mscorsvr.dll 和 mscorwks.dll 是同等地位的。它们分别对应于 windows service程序以及 desktop 程序。在net2.0中,它们都统一到了 mscorwks。dll中。同时在net2.0中mscorsn.dll

冷枫@优快云 1737

【论文导读】ICDM2018|SASRec---基于自注意力机制的序列推荐(召回)

前言本次分享2018年发表在ICDM上的论文----「Self-Attentive Sequential Recommendation」。主要是应用self-attention机制来做一...

Blank_Space 8035

mscorwks.dll文件丢失导致程序无法运行问题

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个mscorwks.dll文件(挑选合适的版本文件)把它放入到程序或系统目录中,当我们执行某一个.exe程序时,相应的DLL文件就会被调用,因此将缺失的文件放回到原目录之后就能打开你的软件或游戏了.那么出现mscorwks.dll丢失要怎么解决?

2301_76755223的博客 881

别再死记硬背了!用51单片机的AD/DA和PWM,亲手做个简易示波器信号发生器

本文详细介绍了如何利用51单片机的PWM和AD/DA功能制作简易示波器信号发生器。通过PWM模拟DAC输出波形,结合XPT2046 ADC进行信号测量,实现方波、三角波和正弦波的生成与显示。项目不仅成本低廉,还能帮助电子爱好者深入理解51单片机的核心功能,是理论与实践结合的绝佳案例。

weixin_28675839的博客 265

UE5.5 PCGFrameWork程序化内容生成实战指南

本文是UE5.5 PCGFrameWork程序化内容生成的实战指南。详细介绍了从点云采样、DynamicMesh几何生成到子图与蓝图扩展的核心工作流。通过实战案例演示如何利用该框架高效构建丰富的程序化场景,为技术美术、独立开发者及爱好者提供从入门到进阶的系统性指引。

tea88的博客 921

mscorwks.dll没有被指定在Windows上运行,或者它包含错误...

每次电脑开机后都会出现一个弹窗,弹窗的内容为: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll 没有被指定在Windows上运行,或者它包含错误。请尝试使用原始安装媒体重新安装程序,或者联系您的系统管理员或者软件供应商以获取支持。 下面提供一些解决方法: 文章目录一、问题截图二、解决方法方法1:替换.dll文件方法2:重新注册文件方法3:重新安装ASP.NET 2.0 版方法4:注册.dll类文件小结: 一、问题截图 这台电脑版本.

斜键仙的博客 7168

Chapter 4 Ripple-Based Control Technique Part I

本文介绍了DC-DC转换器的纹波控制技术,重点分析了迟滞控制、恒定开通时间控制、恒定关断时间控制等方案的工作原理及优缺点。纹波控制无需补偿网络,具有快速瞬态响应和结构简单的优势,特别适合电池供电应用。其中,恒定开通时间控制在轻载时能自动延长关断时间,实现伪定频工作;而恒定关断时间控制轻载效率较低。文章还讨论了纹波注入技术解决Boost转换器右半平面零点问题,并比较了不同控制方案在负载瞬态下的性能表现。最后指出基于纹波的控制技术在提高调节精度和降低EMI方面的改进方向。

2304_76736886的博客 1303

【亲测免费】 解决Windows系统中的mscorwks.dll错误:一个简单有效的解决方案

解决Windows系统中的mscorwks.dll错误:一个简单有效的解决方案 【下载地址】mscorwks.dll错误修复资源文件 本资源文件旨在帮助解决 Windows 系统中出现的 `mscorwks.dll` 文件错误问题。当您在运行某些应用程序或游戏时,可能会遇到以下错误提示:```C:\Windows\Mic...

gitblog_06536的博客 802

微波传感器 - 从原理到实战,解锁非接触感知新维度

本文深入解析微波传感器的工作原理,重点阐述了其基于多普勒效应的非接触感知机制,并对比了红外、超声波等技术的优劣。通过树莓派Pico与RCWL-0516模块的实战案例,展示了如何构建区域入侵检测器,并探讨了微波传感器在智能家居、工业自动化及汽车电子等领域的广阔应用前景。

weixin_29306571的博客 225

RTT Studio和Cubemx联合开发

1. RTT studio创建工程 创建工程 ## 创建完成以后的目录结构 2. 配置CubuMx 双击cubumx的图标打开CubeMx 配置时钟 生成代码 构建后的代码结构 编译代码满屏错误:不要慌 3. 新增脚本 新建scons脚本文件 SConscript 脚本内容如下 import os from building import * cwd = GetCurrentDir() src = Glob('*.c') # add cubemx drivers src = Split('''

Car12 1566

未能加载 mscorwks.dll错误解决方法

提示:未能加载c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorwks.dll网上的几种说法:卸载老版本net framework装新的试。如果是.NET framework 2.0和.NET framework 3.5共存,建议直接在安装卸载中修复.NET framework 3.5安装,重新恢复.NET framework 3.5

paoyufen99的专栏 6107

一、OpenSM 架构部署及原理详解

OpenSM 是 InfiniBand 网络的核心组件,通过自动化的拓扑发现、路由计算和状态维护,确保网络的高效运行。部署时需关注配置文件参数、路由算法选择和高可用性设计,调试时可借助日志和诊断工具快速定位问题。

jundao1997的专栏 1131

mscorwks.dll在.Net中的地位

mscorwks.dll是dotNet的核心文件,尤其是在net2.0中,以前分散的功能都集中到了这个dll中。   net1.1中,还有一个文件mscorsvr.dll 和 mscorwks.dll 是同等地位的。   它们分别对应于 windows service程序以及 desktop 程序。   在net2.0中,它们都统一到了 mscorwks。dll中。   同时在net2.0

shunyue0的专栏 456

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

mscorwks.dll在.Net中的地位以及在.Net代码保护方面的应用

mscorwks.dll是dotNet的核心文件,尤其是在net2.0中,以前分散的功能都集中到了这个dll中。net1.1中,还有一个文件mscorsvr.dll 和 mscorwks.dll 是同等地位的。它们分别对应于 windows service程序以及 desktop 程序。在net2.0中,它们都统一到了 mscorwks。dll中。同时在net2.0中mscorsn.dll 的功能...

weixin_33860737的博客 133

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

mscorwks.dll在.Net中的地位及代码保护应用

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 516

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: 分析:微软.net框架终迈向开源 移植仍有难度
下一篇: .net多线程编程(3):线程同步
Labber
博客等级 码龄19年 26粉丝 1976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值