廖雪峰历时3个月打磨出价值1980的数据分析教程,终终终于免费啦!

文章目录
  1. 1. Dll
    1. 1.1. VS下,Dll分为3类
    2. 1.2. DLL的编写
    3. 1.3. 而导入函数使用
    4. 1.4. 线程注入:

Dll

  • 链接库分为动态和静态两种,后缀分别是.dll和.lib
  • 使用GetProcAddress获取Dll中导出函数的指针
  • 使用FreeLibrary卸载指定dll

    VS下,Dll分为3类

  1. 非MFC的Dll 即使用SDK API进行编程,能被其他所有语言调用
  2. MFC规则DLL 可以使用MFC进行编程,能被其他语言调用
  3. MFC扩展DLL 可以使用MFC进行编程,但只能被MFC编写的程序调用。
    学第一种。

    DLL的编写

  • DLL的导出, DLL的导出函数使用
    extern "C"_declspec(dllexport)
    

    而导入函数使用

    extern "C" _declspec (dllimport )
     extern "C":作为一种编译约定
     #pragma once:表示制备编译一次,而不会因重复包含而重复编译
    

    线程注入:

  • 目标进程->传入DLL地址->开启远程线程->加载DLL->实现DLL注入
  • 实现线程注入,依次使用以下函数:
    OpenProcess  //获取已知进程的句柄
    VirtualAllocEx  //在进程中申请空间
    WriteProcessMemory //向进程中写入东西
    GetProcAddress  //取得函数在DLL中地址
     CreateRemoteThreadEx //在其他进程中创建新进程
    

科学上网(翻墙)教程!

更多精彩内容,请扫描二维码关注公众号:轮子工厂,公众号内回复:

1.回复【图书】:获取15本新手自学编程,零基础入门经典学习教材;
2.回复【我要造轮子】:获取100多本计算机类经典书籍;
3.回复【开发工具】:获取几大主流编程语言的开发工具~
4.回复【内推】:可帮你内推到大厂工作。
文章目录
  1. 1. Dll
    1. 1.1. VS下,Dll分为3类
    2. 1.2. DLL的编写
    3. 1.3. 而导入函数使用
    4. 1.4. 线程注入: