您的位置 首页 > 数码极客

c.cs如何生成dll文件

不关注《一碳科技》?好吧,你错过了很多东西!


DLL注入是什么?它有多厉害?它能让360安全卫士执行你的“破坏”代码!

首先我们先了解一下dll是什么,举一个简单的例子吧,相信看着篇文章的网友,或多或少都学过C语言吧?C语言当中有很多中函数,这些函数都是windows开发人员封装好的,封装好的函数都被存放在一种文件里面,这种文件就是dll文件,dll文件也称为“动态链接库文件”。我们使用编译器生成可执行文件的过程中,会有这样一个步骤:链接器会将使用到的dll文件,链接到当前编译的可执行文件当中,当程序执行的时候就会使用dll文件里面的函数。

dll可以自行创建,并加以利用

dll可以被多个程序使用,dll文件也可以由自己自行创建并使用,但是自行创建的dll文件,并不像系统内核dll文件那样,拥有固定的路径地址。系统内核dll文件的调用不需要另外指明它的路径,因为在windows系统中,他们的路径几乎都是固定的,自行创建的dll文件链接使用的时候必须要指明它的路径,否则无法打开。

一个dll文件可以被远程注入到另一个正在运行的进程当中,怎么理解呢?这么说吧,通俗一点讲,这个进程就是一个正在运行的程序,现在,你制作了一个dll文件,里面有你自己写的代码(例如system("shutdown -s -t 00")),然后将这个dll文件注入到这个程序的内存空间当中,简单点讲,就是把你自己的dll文件插入目标程序当中,成为目标程序执行的代码,间接地执行你自己写的代码(system("shutdown -s -t 00")),但是说起来简单,实行起来却不是那么容易的,如果你技术过关的话,你能让360执行的你的“恶意”代码!(如果能的话,你就是人才)

我们这次围绕着“C语言实现远程注入dll”的话题进行发文,由于这个程序的实现涉及的知识点比较多,所以,我们将会分几篇文章来进行发布,这样有助于读者理解,毕竟一步一步来有益于理解嘛。

话有点多了,进入正题——上菜!

这个程序的实现,我们可以分成两部分,一个是远程注入部分,一个是制作dll文件部分。本篇文章先教大家制作dll文件,当然dll文件具体要实现的功能就由你们来定啦,现在小编就教你们如何制作就可以了。

其实dll文件的制作和编写C代码一样,只不过创建的工程项目不一样而已。首先打开我们的VS软件,然后新建一个Wn32项目,项目名称自取。然后点击确定-下一步,然后选择引用程序类型,我们编写C代码的时候通常是选择控制台应用程序,而这里不同,我们要创建dll文件,所以,这里我们选择dll类型。

创建完成之后的事情就很简单了,因为VS编译器已经为你载入了DLL文件的主体部分。项目创建完成之后,我们点击dllmain.cpp文件,就会出现VS编写好的代码,然后在这些代码中添加你自己想要写的代码,写这些代码的过程就跟C代码一样,可以自己引用别的头文件,如图↓

在哪里添加我们的代码呢?在case DLL_PROCESS_ATTACH这里添加代码块,switch case语句就不多说了,谁都懂。如图↓

做好之后先别急着生成,我们右键点击我们的项目-属性-C/C++-代码生成-运行库-多线程DLL,然后点击确定就OK啦,为什么要这样做呢?因为,被注入的进程会调用我们写好的dll,然后dll会自行分配内存,在这里我们要记住一句话:“谁负责分配,谁就必须负责释放”,所以dll分配的内存,要由dll释放,如果不这样做的话,会出现异常中断。

除了编写dll文件这样以外,我们编写的注入程序也要进行相同的步骤!

这些工作做好之后我们就开始生成,然后依次点击创建的工程文件夹-debug,就可以看到生成的dll文件了,把他复制出来,放到一个地方。

DLL文件制作完成,注入程序稍后发布!送源码!

到这里,我们的dll文件就制作好了,接下来就是教大家如何把这个dll文件,注入到指定进程当中了,但是呢!由于篇幅的原因,dll注入我们会在后续几篇文章中发布教学。小编写的这个注入程序的功能,只是能让任意程序崩溃关闭而已,各位看官可以自行添加自己的功能。

​想拿源码?私信关键字:“DLL注入源码”,一定要回复关键字哦!

但是呢,毕竟小编也是人,每天写代码教你们也很累的,如果这么累下去没有动力的话,还怎么教你们?所以你们的关注就是我的动力:只有关注的小伙伴才能获赠源码哦!

小编先给小伙伴看一下部分代码↓

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“c.cs如何生成dll文件,vs如何生成dll文件,vs生成dll文件,python生成dll文件”边界阅读