Help Viewer提示Error: .cab未经Microsoft签名问题修复附补丁

问题截图:

问题原因

 CAB文件上的证书由Microsoft证书签名,但是证书链到Microsoft Root CA时,对帮助文档强制进行驱动级安全认证变得无效;

解决方法

破解Microsoft.VisualStudio.Help.dll中的代码,并重新编译保存,替换原来的DLL;

工具准备

        1、.NET Reflector

        2、Reflexil插件:【https://github.com/sailro/Reflexil/releases】;下载:【Reflexil.for.Reflector.2.7.AIO.bin.zip】解压到目录

插件安装

        1、打开.NET Reflecto;选择【Tools】->【Add-Ins】;

        2、在【Add-Ins】界面点击右下角的【+】,选择【Reflexil.for.Reflector.2.7.AIO.bin.zip】文件解压目录中的【Reflexil.for.Reflector.AIO.dll】插件D

       3、点击【Close】;

       4、验证安装成功否:.NET Reflecto软件的【Tools】下有【Reflexil】菜单;

破解步骤

       1、在.NET Reflecto软件中点击【Tools】->【Reflexil】插件;

        2、点击软件的【File】->【Open Assembly】,选择HelpViewer2.2目录下的【Microsoft.VisualStudio.Help.dll】;HelpViewer的目录通常在【C:\Program Files (x86)\Microsoft Help Viewer】;

        3、在软件的【左侧栏】中,选择【Microsoft.VisualStudio.Help.dll】,并在【左侧栏】上面的【搜索栏】中输入【VerifyMicrosoftChain】;

        4、点击【左侧】搜索到的【VerifyMicrosoftChain(IntPtr, Boolean) : SignatureStatus】,在【右侧】的下面窗口【Sebastien Lebreton's Reflexil v2.7(这是Reflexil插件的窗口)】中的底部,找到如下代码:

ldc.i4.1
ret
ldc.i4.0
ret

               上面4行中的前2行代码代表:返回失败;上面4行中的后2行代码代表:返回成功;

                所以要保证该函数的成功,则需要将【ldc.i4.1】修改为【ldc.i4.0】或者将前2行代码修改为2个【nop】

        5、这里修改为2个nop;

        6、第1个修改上面4行代码中的第1行代码;右键【ldc.i4.1】,在弹出的菜单中,选择【Replace with NOP】

        7、第2个修改上面4行代码中的第2行代码;右键【ret】,在弹出的菜单中,选择【Replace with NOP】

        8、在【左侧栏】右键【Microsoft.VisualStudio.Help.dll】,选择其下的【Reflexil v2.7】,再选择【Save as】,保存该DLL;

        9、然后用该DLL放入【HelpViewer】目录【C:\Program Files (x86)\Microsoft Help Viewer】下,删除原始的【Microsoft.VisualStudio.Help.dll】文件,然后用修改后的DLL改名为【Microsoft.VisualStudio.Help.dll】;

        10、打开HelpViewer2.2则直接不会再出现【Error: .cab未经Microsoft签名】

补丁下载

        下载地址:Microsoft.VisualStudio.Help.zip - 蓝奏云

        直接将该补丁内容替换到【HelpViewer】目录【C:\Program Files (x86)\Microsoft Help Viewer】即可!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值