windows游戏编程_游戏逆向第一天

0a3d60cf9bf578f9a05e0a774edcc037.png

第一章:简单介绍DLL

动态链接库英文为DLL,是Dynamic Link Library的缩写。从windows PE的角度来看他是可执行文件的一种。

e23632301f4e53aa21d24da5596ca4c8.png

在Windows中,dll文件也被称为应用程序拓展。例如,在 Windows 操作系统中,Comdlg32.dll 执行与对话框有关的常见函数。因此,每个程序都可以使用该 DLL 中包含的功能来实现“打开”对话框。所以说一个程序可能有多个Dll文件,一个Dll文件也可能被几个以用程序所共用。

网易云音乐所使用的Dll文件

e27ab48e35886a3ffc9107eda9ac7474.png

微信所使用的DLL

ca11615ccf107d9ac267cda7b51e80cd.png


共享DLL在以前的时候是具有感染性的,所有调用了这些dll的程序都会被感染。

动态链接库

我们知道dll叫做动态链接库,那么这个名词是怎么来的呢?
动态加载机制,windows平台上提供了一种有效的编程和运行环境。
为什么要这样做?
这种方式不仅减少了exe文件的大小和内存空间的需求,而且这些Dll模块可以同时被多个应用程序所使用,Windows自己就将一些主要的系统功能以Dll模块的形式来实现。

为什么要学习动态链接库?
这时因为我们需要把外挂的dll文件加载到游戏中,成为游戏的一部分。

afb5ae73956238c1a0064e0082362ff6.png


通过技术手段,可以使我们的外挂与游戏浑然一体。

注意:
DLL包含各种导出函数(windows PE的知识。)
一个DLL在内存中只有一个实例。
DLL实现了代码的封装性。
DLL的编写与编程语言没有关系,我们可以使用C/C++/易语言/vb等等来进行编写。
DLL模块所需要的堆栈内存都是从运行的进程堆栈中分配出来的。
DLL函数中的代码所创建的任何对象都归调用它的线程或进程所有。

45826fb6a32ad0734a57dc845a6236ea.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值