什么是DLL

exe程序在执行的时链接到.Dll文件——动态链接库(Dynamic Link Library)

普通程序符合接口规范下DLL文件与EXE文件独立——动态链接

DLL文件可以被许多程序共用。因此可以利用DLL文件,作为一些代码Dll(模块)存放。

Svchost

  • 在Windows任务管理器的进程栏里有一大票svchost.exe

    ——它为Windows上的Dll类服务例程驱动提供了运行空间(Service Host process)

rundll

  • 顾名思义,rundll就是运行dll。这个dll并不是普通的dll, 而是要符合rundll接口规范
rundll32.exe shell32.dll,Control_RunDLL 打开控制面板
rundll32.exe shell32.dll,SHExitWindowsEx 1 执行关机

链接

基本来说它让一个文件可以拥有多个访问路径

  • Windows NT内核的结构很大程度依赖于DLL动态链接机制。
  • 从Windows NT4开始,NTFS文件系统引入了HardLink这个概念。
  • 到了Windows2000,引入了Junction 链接方式,又叫初级的软链接。
  • 在Windows Vista之后引入了 Symbolic Link, 可以说是Junction链接的增强版。

dll注入

  • DLL注入简单地定义为将DLL插入另一个进程的空间然后执行其代码的过程

『教程』Windows中的窗口注入dll 哔哩哔哩_bilibili

dll编译

Resource Hacker (angusj.com)

Windows8改oobe_哔哩哔哩_bilibili