首页 > 其他分享 >DLL文件及导入库

DLL文件及导入库

时间:2024-02-24 14:33:42浏览次数:12  
标签:及导 文件 MessageBox Windows 存储 DLL 入库

Windows以函数的形式为应用提供了各种功能 。这些形式的函数称为API (Application Programming Interface, 应用程序接口)。例如,Sample1.c中调用的MessageBox(),它并不是 C语言的标准函数,而是Windows提供的API的一种。
MessageBox()了显示消息框的功能。Windows中,API的目标文件, 并不是存储在通常的库文件中,而是存储在名为DLL (Dynamic Link Library) 文件的特殊库文件中。就如Dynamic这一名称所表示的那样,DLL 文件是程序运行时动态结合的文件。在前面的介绍中,我们MessageBox() 的目标文件是存储在import32.lib中的。实际上, import32.lib中仅仅存储着两个信息,一是MessageBox()在user32.dll这个DLL文件中, 另一个是存储着DLL文件的文件夹信息,MessageBox() 的目标文件的实体实际上并不存在。我们把类似于import32.lib这样的库文件称为导入库。
与此相反,存储着目标文件的实体, 并直接和EXE文件结合的库文件形式称为静态链接库。静态(static=静态的) 同动态(dynamic=动态的)是相反的意思。存储着 sprintf()的目标文件的cw32lib就是静态链库。 sprintf() 提供了通过指定格式把数值转换成字符串的功能 。
通过结合导入库文件,执行时从DLL文件中调出的 MessageBox()函数这一信息就会和EXE文件进行结合。这样, 链接器链接时就不会再出现错误消息,从而就可以顺利编写EXE文件。至此,我们总结一下 Windows中的编译及链接机制。

标签:及导,文件,MessageBox,Windows,存储,DLL,入库
From: https://www.cnblogs.com/sleeeep/p/18031046

相关文章

  • NSSM - 将exe,dll,jar封装成windows服务的神器
    NSSM(theNon-SuckingServiceManager)是Windows环境下一款免安装的服务管理软件,它可以将应用封装成服务,即将普通exe程序或者dll或者jar包应用,封装成服务使之像windows服务可以设置自动启动等。并且可以监控程序运行状态,程序异常中断后自动启动,实现守护进程的功能。Installingf......
  • 使用 Visual Studio 断点调试 DLL
    继上文说到使用IDA和WinDbg调试无dmp文件  那么在有源码的情况下可以直接断点调试DLL,目的是查看DLL内部的函数调用场景:程序执行到某个DLL时突然崩溃,先确定Debug生成的DLL在程序中运行是否也会有闪退如果有,则适用于VS断点调试操作步骤:在Debug下生成一......
  • DPInst64.exe difxapi64.dll 是什么 为什么
    DPInst64.exe:安装和卸载驱动程序包。默认情况下,该工具将搜索当前目录,并尝试安装找到的所有驱动程序包。用法:C:\Users\Administrator\Desktop\dp\dp\DPInst64.exe[/UINF文件][/S|/Q][/LM][/P][/F][/SH][/SA][/A][/PATH路径][/EL][/L语言ID][/C][/D][/LogTitle标题][/SW][/?......
  • DLL劫持
    DLL劫持DLL是Windows上的动态链接库的文件格式而DLL劫持是攻击者是利用一些缺陷,使得进程在加载原本DLL时加载了攻击者准备好的恶意DLL文件对于渗透测试,DLL劫持是我们在权限维持阶段常用的trick,同时也是白加黑免杀的一种技巧DLL开发以及调用选用windows上的visualstudio这款I......
  • 全自动替换 ExplorerFrame.dll
    @echooffecho.echo全自动替换ExplorerFrame.dll,任意键继续……echo请确保以管理员身份运行本程序,并且待替换文件在同目录下。pause>nulecho.echo获取管理员权限...takeown/fC:\windows\system32\ExplorerFrame.dll/aicaclsC:\windows\system32\ExplorerFrame.......
  • NET项目&DLL反编译&MSSQL监控&VS搜索&注入&上传
    知识点1.NET普通源码&编译源码2.DLL反编译&后缀文件&指向3.代码审计-SQL注入&文件上传ASPX文件->CSASPX.CSDLL反编译后寻找看核心代码分析漏洞CSASPX.CSDLL反编译文件->ASPX文件寻找确定漏洞进行调试测试代码审计时要把这个反编译文件提取导入到IDE中后期搜索关......
  • Chrome修改添加JS与dll交互
    注入dll后拦截js相关函数,可以通讯以及控制安全沙箱问题前面有写文章为了方便快速,使用Uint8Array::Set函数拦截之前尝试了crypto.subtle相关的函数,这些函数速度很慢,而且是异步,很不方便C++的dll代码BOOL CChrome::HookUint8ArraySetByte(){ BYTE *pCode; BOOL......
  • Drvsetup.dll 是 Windows 操作系统中的一个动态链接库文件,用于设备驱动程序的安装和配
     Drvsetup.dll是Windows操作系统中的一个动态链接库文件,用于设备驱动程序的安装和配置过程中。该文件通常位于C:\Windows\System32文件夹下。Drvsetup.dll主要负责设备驱动程序的安装和配置过程中的一些核心功能,包括驱动程序的复制、注册、配置和卸载等。在设备驱动程序......
  • drvstore.dll 是 Windows 操作系统中的一个动态链接库文件
    drvstore.dll是Windows操作系统中的一个动态链接库文件,用于存储和管理设备驱动程序的信息。它通常位于系统目录(如C:\Windows\System32)下。drvstore.dll的主要作用是维护设备驱动程序的备份和安装信息,以便在需要时能够快速找到并加载正确的驱动程序。当用户连接新设备或更新设......
  • 简单方法使 kernel32.dll 发生重定位
    简单方法使kernel32.dll发生重定位系统启动后kernel32.dll在每个进程的加载地址都相同。。。。吗?相信很多人都知道这个,因为这个是远程线程注入的基础,类似的还有user32.dll之类的系统dll。不过这个概念是错误的,或者说它在绝大多数时候是正确的因为通常来说这些系统dll默......