前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >visual studio编译的可执行文件,拷到别的机器执行时报找不到MSVCP140*.dll、VCRUNTIME140*.dll、ucrtbased.dll

visual studio编译的可执行文件,拷到别的机器执行时报找不到MSVCP140*.dll、VCRUNTIME140*.dll、ucrtbased.dll

原创
作者头像
Windows技术交流
修改2023-10-09 14:52:25
修改2023-10-09 14:52:25
1.1K00
代码可运行
举报
文章被收录于专栏:Windows技术交流Windows技术交流
运行总次数:0
代码可运行

visual studio编译的可执行文件,复制到别的机器执行时报找不到MSVCP140D.dll、VCRUNTIME140D.dll、VCRUNTIME140_1D.dll、ucrtbased.dll

我安装visual studio 2022编译了以下项目,这个项目本身就是一个检测程序,安全方面的,红蓝对抗中红方工具,红方的目的是检测和评估目标组织的安全防御能力,发现潜在的漏洞和风险,从而帮助组织加强其安全防护措施。该工具主要检测一些安全隐患和是否虚拟机环境。

下面都是那个工具的简单介绍,可以忽略,题目问题的解决方案在文档结尾。

代码语言:javascript
代码运行次数:0
运行
复制
红队安全项目:https://github.com/LordNoteworthy/al-khaser
视频介绍:https://v.douyin.com/idNQv2K5/
其中的检测虚拟机模块的代码:
https://github.com/LordNoteworthy/al-khaser/tree/master/al-khaser/AntiVM

如果你的机器没有相关虚拟机的蛛丝马迹,都是绿色

但凡有一点虚拟机的蛛丝马迹,比如你物理机安装了vmware软件,就会有红色提示

步入正题,

编译的可执行文件复制到别的机器执行时报找不到MSVCP140D.dll、VCRUNTIME140D.dll、VCRUNTIME140_1D.dll、ucrtbased.dll,看我如何解决的

1、针对这种报错,我首先就经验主义了,按平时的经验,这种小儿科的问题很好解决,从微软官网下载最新版VC库(https://learn.microsoft.com/zh-CN/cpp/windows/latest-supported-vc-redist)安装文件安装一下就行了,谁知打脸了。

2、此外,还搜到一些乱七八糟的各种.dll文件修复工具(也不知道工具能不能解决问题,只让你试用修一个.dll文件,其余的得付费,就那1个,是否修好了,不得而知,它只是给你显示绿色了而已),这种软件风险较高,我没用。

3、浪费了不少时间,快要放弃的时候,想起之前有2个case,当时也是费事不少,找到文档,按当时的办法也不行。

代码语言:javascript
代码运行次数:0
运行
复制
https://cloud.tencent.com/developer/article/2043666
https://cloud.tencent.com/developer/article/2196794

4、后来我就在我原本编译环境里用everything搜,搜到后跟编译后的可执行文件放在一起就可以了

everything的搜索表达式如下

代码语言:javascript
代码运行次数:0
运行
复制
MSVCP140D.dll "C:\Program Files\Microsoft Visual Studio\2022"
VCRUNTIME140D.dll "C:\Program Files\Microsoft Visual Studio\2022"
VCRUNTIME140_1D.dll "C:\Program Files\Microsoft Visual Studio\2022"
ucrtbased.dll "C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.UniversalCRT.Debug\"|"C:\Program Files\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.UniversalCRT.Debug\"|"C:\Windows"|"C:\Program Files (x86)\Windows Kits\"|"C:\Program Files\Windows Kits\" !"\arm"

一句表达式过滤出所有

代码语言:javascript
代码运行次数:0
运行
复制
msvcp*.dll|VCRUNTIME*.dll|ucrtbased.dll "\debug_nonredist\"|"\Microsoft.UniversalCRT.Debug\"|"\Windows Kits\" !"\arm" !"D:\" !"\x86" !"\onecore"

搜出的结果,我们只取x64版本的文件复制放到可执行文件的同目录即可

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档