当前位置: 首页 > web >正文

Visual Studio 里面的 Help Viewer 提示Error: “.cab未经Microsoft签名” 问题解决

文章目录

  • 一、问题描述
  • 二、准备工作
    • 1、.NET Reflector 下载
    • 2、Reflexil插件下载
    • 3、.NET Reflector 添加 Reflexi 插件
  • 三、开始破解
  • 四、测试
  • 五、总结

一、问题描述

最近在学习 C#,准备装MSDN 文档,接着在安装文档时,提示下面错误:

在这里插入图片描述
经过查资料分析后得知:

Help Viewer 提示 “.cab 未经 Microsoft 签名” 错误,主要是因为证书验证未通过,可通过反编译修改相关 DLL文件来绕过签名验证

即就是证书验证部通过,需要安装相关软件,去反编译dll文件,然后绕过验证。接着往下。

二、准备工作

1、.NET Reflector 下载

可以网上找一下,我这里提供一个地址 :https://www.red-gate.com/products/reflector/

下载后并安装,安装成功图如下:

在这里插入图片描述

2、Reflexil插件下载

https://github.com/sailro/Reflexil/releases
在这里插入图片描述

3、.NET Reflector 添加 Reflexi 插件

即将 上面下载的 Reflexil 插件解压到任意目录,然后导入第一步的 .NET Reflector 软件中

在这里插入图片描述

点击后,依次按照步骤,将 .dll 文件添加到软件

在这里插入图片描述

查看到有插件标识,则代表插件安装成功

在这里插入图片描述

软件准备好了,那接下来就是 破解 Microsoft.VisualStudio.Help.dll文件

三、开始破解

点击 .NET Reflector 的 file 加载 Microsoft.VisualStudio.Help.dll 文件

在这里插入图片描述

正常情况 Microsoft.VisualStudio.Help.dll 文件 是在 C:\Program Files (x86)\Microsoft Help Viewer 目录下

在这里插入图片描述
查看 文件,导入成功
在这里插入图片描述

搜素指定的方法 :VerifyMicrosoftChain

在这里插入图片描述

点击 VerifyMicrosoftChain 方法,右侧下部的窗口滑到最后

在这里插入图片描述

需要将【ldc.i4.1】修改为【ldc.i4.0】或者将前2行代码修改为2个【nop】

我直接将前两个改成 nop ,直接在上面右击即可

在这里插入图片描述

改成这样的:

在这里插入图片描述

点击保存 .dll 文件

在这里插入图片描述

找个文件夹保存下:

在这里插入图片描述

我是直接保存到 Microsoft.VisualStudio.Help.dll 所在的文件夹,直接覆盖掉。

如果怕出问题,可以先备份原来的文件,在去覆盖。

四、测试

完成上面的文件替换后,直接就可以重新安装测试了

直接更新完成,也不报错了,完美解决哦
在这里插入图片描述

成功查询到函数说明

在这里插入图片描述

五、总结

整个问题围绕 .cab未经Microsoft签名 展开。其实 就是 利用 .NET Reflector 软件和 Reflexil 去 破解 Microsoft.VisualStudio.Help.dll 文件的里面的 VerifyMicrosoftChain 函数,修改IL 代码以绕过签名验证错误。然后重新生成新文件去替换老的。

http://www.xdnf.cn/news/13776.html

相关文章:

  • 【Net】OPC UA(OPC Unified Architecture)协议
  • Fastadmin报错Unknown column ‘xxx.deletetime‘ in ‘where clause
  • [算法][好题分享][第三大的数][最短无序子数组]
  • 小飞电视:智能电视与移动设备的娱乐新选择
  • Meta发布V-JEPA 2世界模型及物理推理新基准,推动AI在物理世界中的认知与规划能力
  • Python 标准库之 os 模块
  • Vue + element实现电子围栏功能, 根据省市区选择围栏, 自定义围栏 ,手动输入地名围栏, 保存围栏,清除围栏,加载围栏,批量检测标点是否在围栏内。
  • Chapter05-SSRF
  • Nodejs特训专栏-基础篇:1. Node.js环境搭建与项目初始化详细指南
  • Conda 安装 nbextensions详细教程
  • C++编程语言:标准库:STL容器(Bjarne Stroustrup)
  • 2025【证券从业】时间事件
  • CHI 总线协议及一致性总线相关的 NOC
  • c/c++ 汇编码中的.cfi 指令有什么用途?
  • (LeetCode 每日一题) 3423. 循环数组中相邻元素的最大差值 (数组)
  • Java面试避坑指南:牛客网最新高频考点+答案详解
  • Mac电脑-Office 2024 长期支持版 PPT、Excel、Word(Mac中文)
  • RabbitMQ实现异步消息监听机制
  • Makefile 学习笔记
  • 无外接物理显示器的Ubuntu系统的远程桌面连接(升级版)
  • C#学习第30天: 匹配模式
  • 大模型技术30讲-5-利用数据来减少过拟合现象
  • Next.js + Supabase = 快速开发 = 高速公路
  • 怎样下载某个SCI期刊的endnote style?答:直接去endnote官网搜索期刊名称并下载即可
  • JMeter + 命令行服务器端压测全流程详解
  • 风控系统中,要调用第三方服务获取信息,很慢,如何解决?
  • vue3项目移动端实现进度条可手动滑动控制进度和点击控制进度
  • Docker入门篇--从安装到使用
  • 【Linux手册】从「程序」到「进程」:计算机世界的运行机制
  • 智慧养老与数字健康:科技赋能老年生活,构建全方位养老体系