dll

c++导出与加载dll

思路:导出dll中类的智能指针的指针(extern "C"不允许导出C++独有的类型,如智能指针。但是可以导出智能指针的指针),然后使用该类的对象指针。 一、下面对dll程序使用抽象接口方式,以MyDll类为例,进行如下操作: 1、新建抽象接口类IMyDll 2、MyDll继承IMyDll 下面标黄 ......
dll

office the language DLL 'VBE7INTL.DLL' is not be found

其实是缺少vba,安装组件就可以了 解决方案:在卸载程序的面板中,找到office,右键选择更改,选择添加或删除功能,勾选如下两项就可以了 记得关掉office后再打开就好了 ......
DLL language VBE7INTL office 7INTL

c#实现一个简单的管理系统报错System.Data.SqlClient.SqlException”类型的未经处理的异常在 System.Data.dll 中发生【已解决】

很简单就是把连接数据库语句改成(local)或者"127.0.0.1" 如下 string sql = "SELECT * FROM t_user WHERE id='"+textBox1.Text+"' AND psw='"+textBox2.Text+"'"; ......

C# 将dll封装进exe/将dll打包进exe/将dll合并进exe

step1:NuGet安装Costura.Fody和Fody step2:安装后,打开根目录下的FodyWeavers.xml文件,将内容替换如下后,再执行编译即可封装dll <Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ......
dll exe

9.9 Windows驱动开发:内核远程线程实现DLL注入

在笔者上一篇文章`《内核RIP劫持实现DLL注入》`介绍了通过劫持RIP指针控制程序执行流实现插入DLL的目的,本章将继续探索全新的注入方式,通过`NtCreateThreadEx`这个内核函数实现注入DLL的目的,需要注意的是该函数在微软系统中未被导出使用时需要首先得到该函数的入口地址,`NtCr... ......
线程 内核 Windows 9.9 DLL

Rundll32加载恶意dll

rundll32加载恶意dll 0x00 原理 rundll32可以加载恶意dll的函数,比如在cmd中rundll32 a.dll fun1,就会执行a.dll中的fun1函数 一个简单的例子,我们新建一个dll项目,在dllmain.cpp下添加如下代码: void fun() { system ......
恶意 Rundll dll 32

C++跨DLL内存所有权问题探幽(三)导致堆问题的可能性

0xC0000374: 堆已损坏。 (参数: 0x00007FFA1E9787F0)。 _Mem 是 nullptr 这里提供一个可能性,不一定是内存所属地址冲突的问题,除了MT和 MD编译,还有可能是你调用库的头文件和实际上头文件不一致 比如我这里有一个lib文件,还有一个头文件,这个lib文件和 ......
问题 所有权 可能性 内存 DLL

C++跨DLL内存所有权问题探幽(二)CRT中MT和MD混用导致的堆损坏

0xC0000374: 堆已损坏。 (参数: 0x00007FFA1E9787F0)。 _Mem 是 nullptr 我在开发的过程中有遇到上面两个东西的bug,百思不得其解,最后才发现这个和两个DLL中的MT和 MD选项有关系。 具体情境时:我在一个MT编译的DLL A中引用了一个MD编译的DLL ......
所有权 内存 问题 DLL CRT

C# 关于dll版本冲突时 visual studio 自动生成绑定重定向

当咱们引用的dll版本冲突的时候(大部分发生在多个第三方机构引用同一个dll的不同版本)visual studio 会有个自动生成绑定重定向的功能 这个功能可以在右键项目的属性的应用程序中通过勾取来打开或关闭,一般net程序都是默认开启的 而且这个功能貌似只作用于引用程序(控制台,桌面程序,或者we ......
自动生成 版本 visual studio dll

什么是 Windows 操作系统的 DLL 文件

.dll文件指的是动态链接库(Dynamic Link Library)文件。这些文件包含可被程序在运行时调用的代码和数据。它们是Windows操作系统中重要的组成部分,允许程序共享资源,提高效率并降低重复编码的需要。.dll文件允许程序模块化,以便多个应用程序可以共享它们,这样便于维护和更新。在本 ......
Windows 文件 系统 DLL

什么是 Windows 操作系统 DLL 文件的 Side-by-Side Assemblies 技术

.dll 文件是 Windows 操作系统中的一种重要文件类型。全名为“动态链接库”(Dynamic Link Libraries),它包含了一些可以由多个程序共享的代码和数据。这使得在 Windows 下的开发者可以将一些公共的功能和数据集中到一些 .dll 文件中,而这些功能和数据可以被任何需要 ......
Side Side-by-Side Assemblies Windows 文件

为什么在ASLR机制下DLL文件在不同进程中的加载基址相同?

1. DLL 注入实现 以下是实现 DLL注入的简要步骤: 1.1 打开 Visual Studio,并创建一个新的 DLL 项目。 1.2 在"dllmain.cpp" 添加以下的代码 1 // dllmain.cpp : 定义 DLL 应用程序的入口点。 2 #include "pch.h" 3 ......
基址 进程 机制 文件 ASLR

下载MySQL遇到的缺少dll文件,下载后报错应用程序无法正常启动(0x000007b)

解决方法,下载DirectX,这个软件就是用来修复运行库的软件,如果修复后还报错(0x000007b),那么在 DirectX第一次修复完后应该会提示你的C++组件啊还是啥的该更新了,然后会有一个网站,复制那个网站, 进去之后下载并解压到DirectX所在的文件夹,然后启动那个文件,他会把你的Dir ......

使用 ABAP + OLE 消费 Windows DLL 文件里的代码和服务

在 SAP ABAP 中,我们可以使用 OLE (Object Linking and Embedding) 技术来实现对 Windows DLL 文件的代码和服务的消费。以下是一个详细的解决方案: 首先,我们需要明确 OLE 技术在 ABAP 中的应用。OLE 是由微软开发的一种技术,它允许对象( ......
Windows 代码 文件 ABAP OLE

十九——.NET 项目&DLL 反编译&未授权访问&配置调试报错

.NET是微软推出的一种新的软件运行平台,它包括一整套应用范围广泛的技术,旨在迎接Java所带来的挑战。.NET给网站管理系统开发带来了很多新的技术,尤其是它的“混合语言”开发方式,是第一个支持多种语言混合开发的软件运行平台,下一代Windows--LongHorn的核心将会看到.NET的身影。如果 ......
amp 项目 NET DLL

反编译C#的dll文件并修改,再重新生成dll

1、把dll文件导入到ildasm工具中,ildasm是由微软提供的.net程序反编译工具,位于“C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin” 2、在ildasm中File->dump,把dll文件转储为*.il文件存到某个指定文件夹里,得到* ......
dll 文件

C#反编译dll文件,修改其中汉字内容,再重新生成dll

一位电气朋友让我帮其反编译一个dll文件,只要修改dll中部分中文字符串的内容(比如:‘电机编号’、‘接线方式’等等)。 这样的事情自己从来还没接触过,能否实现、难度怎样也没一个概念,但为了帮他一下,也为了挑战下看自己到底需要多久才能解决此全新问题,欣然接受了。 从9:16到10:21,只花了1个小 ......
dll 文件 内容

nicode DLL 在 Unicode 环境中调用

是的,多字节的 DLL(使用 ANSI 字符集)可以在 Unicode 环境中调用,但存在一些潜在的问题需要注意。 当一个多字节 DLL 在 Unicode 环境中被调用时,Unicode 字符串会被转换为多字节字符串,然后传递给 DLL 中的函数。这种转换可能会导致字符编码的不一致或丢失一部分字符 ......
Unicode 环境 nicode DLL

WonderTrader 源码解析与改造-通用的dll加载器(未完待续)

背景 笔者学习WonderTrader的源码的一些心得体会,本文基于WonderTrader0.9.8,讲解其中的DLLHelper类 先看它的应用 1. wondertrader\src\TestTrader\main.cpp 2. wondertrader\src\Includes\ITrade ......
WonderTrader 源码 dll

纯净系统缺少msvcp140_1.dll等运行库

直接从微软官网安装VC2015-2022合集即可,单独安装某一个版本的运行库反而还会缺少这些库。 Latest supported Visual C++ Redistributable downloads | Microsoft Learn ......
系统 msvcp 140 dll

【GCC】windows环境编译dll文件

使用如下指令生成动态库: gcc test.c -I ./inc -fPIC -shared -o libtest.dll 参数解释: -I:添加头文件搜索目录 -fPIC: 生成位置无关的代码,在编译动态库的时候需要使用该选项 -shared: 表明生成一个共享对象,也就是动态库 ......
windows 环境 文件 GCC dll

调用Delphi DLL 注意事项

1. 使用统一的调用约束(__stdcall) 2. array of 调用 delphi 接口: procedure ProcessArray(const Arr: array of Integer); stdcall; VC: typedef void(__stdcall *ProcessArr ......
注意事项 事项 Delphi DLL

windows注册dll文件

帮忙装了一个C端的程序,碰到了之前没有接触过的功能———注册dll文件。 注册dll文件还是挺简单的。首先按住 win + r 大开运行窗口,然后输入 regsvr32,把需要注册的dll文件拖到运行窗口中,此时就会把dll文件的路径填充到文本框中,格式类似下面这样: regsvr32 D:\xxx ......
windows 文件 dll

windows10 使用Xshell时出现丢失msvcr110.dll

Xshell启动报错如下:无法启动此程序,因为计算机中丢失MSVCR110.dll。尝试重新安装该程序以解决此问题。 解决步骤如下:(亲测有效) 1. 进入网址:https://www.microsoft.com/zh-CN/download/details.aspx?id=30679 点击下载; ......
windows Xshell msvcr 110 dll

C# 程序兼容同一个dll的不同版本

当程序多个dll引用同一个dll的不同版本时,程序启动会报错,此时需要在启动程序集的App.config下增加以下配置 以log4为例子 <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Ver ......
版本 程序 dll

C#C++,opencv的dll中detach相关:关于调用dll后程序退出后进程仍然驻留系统列表的问题

我在c#中调用C++的dll,内部使用了线程并detach使其独立于主线程UI运行。 但后来发现程序关闭后,任务列表中的进场依然存在,即app并未实际正常退出。 这个问题有很多人碰到和争论,但都没有给出明确的答案。 这里提供一个理论解释和绝佳的调试排除方法: 根本原因:程序退出之前,系统(或程序员自 ......
dll 进程 程序 opencv detach

C++跨DLL内存所有权问题探幽(一)DLL提供的全局单例模式

最近在开发的时候,特别是遇到关于跨DLL申请对象、指针、内存等问题的时候遇到了这么一个问题。 问题 跨DLL能不能调用到DLL中提供的单例? 问题比较简单,就是我现在有一个进程A,有DLL B DLL C,这两个DLL都依赖DLL D的单例,这个时候如果A调用了DLLB 和 DLL C,那么B和C能 ......
全局 所有权 DLL 内存 模式

系统 dll 修复

使用 Windows 系统自带的sfc命令 sfc 命令是 Windows 系统自带的一个命令,可以扫描并修复系统文件中的错误。 第1步:在开始菜单中搜索“命令提示符”,右键选择“以管理员身份运行”。 第2步:在管理员窗口输入“sfc /scannow”命令,并回车,等待扫描完成。如果有相关错误被发 ......
系统 dll

如何让 WinDebug Preview 加载 Dotnet Core 的 SOS.dll 进行调试

一、前言 最近我在使用 WinDebug进行系统调试,也是在学习《Net高级调试》这本书。以前听过 WinDebug 调试器,但是没有使用过,由于最近想起来了,就好好的研究一下,学习一下。初次接触,还是走了不少弯路,踩了不少坑。关于 WinDebug 最新版的安装方法,可以在“微软商店”里面,直接查 ......
WinDebug Preview Dotnet Core SOS

Dll代理

#include "Common/NSimple.h" #include <list> #include <string> #include "DllProxyLink.h" using std::list; using std::string; #define DLL_Name "winmm.dl ......
Dll