当前位置: 首页 > article >正文

C语言学习day24:DLL函数导出详情

简言

上一章我们知道了DLL函数的结构,但是要做到应用软件直接用我们的DLL,那就需要做到一件事情:导出

导出

比如说我们写一个这样的代码:

#include "pch.h"
void test() {

};
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    test();
    return TRUE;
}

我们可以看见test函数现在只是一个普普通通的函数,想要导出test函数,就需要在它的前面加一个前缀:extern "C" __declspec(dllexport)

extern "C" __declspec(dllexport) void test() {

};

这就是声明。

完整代码

// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "pch.h"

extern "C" __declspec(dllexport) void test() {
    HWND hWnd = FindWindowA(NULL, "代码注入器");
    SetWindowTextA(hWnd,"修改-代码注入器");
};

BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    test();


    return TRUE;
}

生成

接下来我们生成一下

导出

打开我们的StudyPE(PE工具),将DLL拖入至工具中:

结语

这一章节就结束了,我们一步步来,慢慢梳理我们汲取到的知识,下一章节我们学习如何去将导出的补丁(DLL)打入至软件里面。

 


http://www.kler.cn/a/443967.html

相关文章:

  • 华院计算参与项目再次被《新闻联播》报道
  • 【java基础系列】实现数字的首位交换算法
  • 以太网帧、IP数据报图解
  • 使用Vscode+EIDE+Jlink开发STM32环境配置教程
  • 电商项目-网站首页高可用(二)
  • Java实现贪吃蛇游戏
  • leetcode 881.救生艇
  • R语言的字符串操作
  • APO v1.1.0 更新:大模型根因分析支持深入分析;优化数据筛选功能;内置 NGINX 日志分析看板
  • 小米自研系统Vela全面开源:开启物联网新时代的技术革新之旅
  • 【Yonghong 企业日常问题04】永洪BI可视化工具Linux部署全攻略(部署详解版)
  • 探索 Seaborn Palette 的奥秘:为数据可视化增色添彩
  • sqlserver新建用户并分配对视图的只读权限
  • 面试小札:Java后端闪电五连鞭_8
  • Oracle 数据库中,UNION ALL创建视图的使用详解
  • 【MySQL】InnoDB存储引擎中的页
  • 梳理你的思路(从OOP到架构设计)_浅尝架构师的滋味03
  • 【5】C#期末复习第5套
  • 开源相关书籍整理(更新于2024.12.19)
  • 2、安装node、npm 和 cnpm
  • 【毕业设计】A079-基于Java的影院订票系统的设计与实现
  • Hadoop其七,MapReduce的收尾,Yarn的介绍,和历史日志
  • CSS学习记录17
  • 模仿elementui的Table,实现思路
  • 第78期 | GPTSecurity周报
  • 【探商宝】风云突变!极越汽车深陷泥潭,从辉煌到暴雷的急坠之路