DLL创建、编写

最近在研究DLL注入,感觉各种病毒的原理看了一大堆,但是到头来,连一个DLL项目都不会编写,遂,在网上收集资料,同学推介B站的视频也不错,有所小成,写下一点心得,以供各位看官参考,当然有不足之处,还请大家加以斧正。

下面切入正题:
1、先新建一个项目:
在这里插入图片描述

在这里插入图片描述
在这里我们选择,DLL文件,附加选项没有什么太大意义,直接完成就好

在这里插入图片描述
上边是我们的DLLmain.cpp里边生成的文件,和所有程序一样,每一个程序都有一个入口点,就像C程序的入口点是main函数一样,dllmain就是.DLL 程序的入口点。程序从这里开始执行。DLLmain的参数,上边也已经用注释的方法标记了出来。斜边,为了我们在调用DLL 的时候,提示我们调用成功,我们使用MessageBox来作为提示信息。
在这里插入图片描述
以上程序的作用就是在我们调用DLL的时候,显示弹框。
接下来 我们新建一个项目用来 用我们之前写好的DLL文件
在这里插入图片描述
调用 DLL要使用API所以我们还要包含一下Windows.h头文件
在这里插入图片描述
之后运行程序,会发现程序无法运行,报错信息显示,查找不到该文件,这个原因是因为,我们没有把刚才生成的DLL文件放到该文件的路径下,程序在调用DLL的时候,会现在自己的当前文件夹下寻找目标DLL,如果没有找到则会去System32下边去寻找(也要看生成的晨曦古是多少位的,32位和64位的寻找路径有所不同)。所以我们呢现在找到刚才的DLL文件,把它放到加载DLL文件的程序的当前文件夹下边:
之后重新运行程序,发现成功
在这里插入图片描述在这里插入图片描述
之所以会弹出两次弹框是因为,程序在开始的时候调用DLL,在结束的时候释放DLL,这个过程中,DLL的状态会有所改变。
以上就是DLL文件的简单调用。但是,在一般情况下,系统或者说某个程序调用DLL文件的意图是实现某个固定的功能,就比如说最简单的加法、减法之类的。现在,我们就来实现一下:
新建一个拥有导出函数的DLL项目:
在这里插入图片描述在这里插入图片描述
我们在Export DLL.cpp中实现加法的运算:
在这里插入图片描述
还有一点需要注意,就是在ExportDLL.h文件中注意如下修改:
在这里插入图片描述
在LoadDLL.cpp中作如下修改:
在这里插入图片描述
需要注意的是,不要忘记修改要引用的目标DLL文件
接下来再次运行:
在这里插入图片描述
成功调用
以上就是,整个DLL文件的编写以及调用的过程。

写在最后:
如果写的有什么错误的地方,希望大家帮忙指正,我也会及时修改,谢谢大家

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值