逆向分析专栏
内心的平静是一种修为,容易激动不是件好事。
C++博客
首页
新随笔
联系
聚合
管理
随笔-43 评论-2 文章-6 trackbacks-0
Dll文件的编写和引用
09DllDemo.h
1
#ifdef MY09DLLDEMO_EXPORTS
2
#define
MY09DLLDEMO_API __declspec(dllexport)
3
#else
4
#define
MY09DLLDEMO_API __declspec(dllimport)
5
#endif
6
7
//
声明输出函数
8
MY09DLLDEMO_API
void
MyMessageBox(LPCTSTR pszContent);
09DllDemo.cpp
1
#include
"
stdafx.h
"
2
#include
"
09DllDemo.h
"
3
4
HMODULE g_hModule;
5
6
BOOL APIENTRY DllMain( HANDLE hModule,
7
DWORD ul_reason_for_call,
8
LPVOID lpReserved
9
)
10
{
11
switch
(ul_reason_for_call)
12
{
13
case
DLL_PROCESS_ATTACH:
14
g_hModule
=
(HMODULE)hModule;
15
break
;
16
case
DLL_THREAD_ATTACH:
17
case
DLL_THREAD_DETACH:
18
case
DLL_PROCESS_DETACH:
19
break
;
20
}
21
return
TRUE;
22
}
23
//
定义输出函数
24
void
MyMessageBox(LPCTSTR pszContent)
25
{
26
char
path[MAX_PATH];
27
GetModuleFileName(g_hModule,path,MAX_PATH);
28
MessageBoxA(NULL,pszContent,path,MB_OK);
29
}
09DllDemo.def
1
EXPORTS
2
MyMessageBox
在09ImportDemo工程中,引用导出的函数:
09ImportDemo.cpp
1
#include
"
stdafx.h
"
2
#include
<
Windows.h
>
3
4
//
定义要引用函数的指针
5
typedef
void
(
*
pMyFun)(LPCSTR);
6
int
main()
7
{
8
//
加载目标Dll
9
HMODULE hModule
=
LoadLibrary(
"
09DllDemo.dll
"
);
10
//
得到目标函数的地址
11
pMyFun p
=
(pMyFun)GetProcAddress(hModule,
"
MyMessageBox
"
);
12
if
(p)
13
{
14
//
引用函数
15
p(
"
Hello World!
"
);
16
}
17
FreeLibrary(hModule);
18
return
0
;
19
}
posted on 2012-08-30 23:58
寻步
阅读(321)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
本博客是本人工作和学习小记录!有很多文章摘录自网友的博文,如有侵犯到版权,请联系博主! QQ:273973684
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
C++概念(3)
Driver(2)
Hack(9)
MFC(8)
Reverse(4)
Virus(2)
转载(3)
随笔档案
2013年4月 (1)
2013年3月 (2)
2013年1月 (2)
2012年12月 (29)
2012年11月 (5)
2012年10月 (1)
2012年8月 (3)
文章分类
技术格局(4)
生活格局(2)
文章档案
2013年4月 (1)
2013年3月 (1)
2013年1月 (3)
2012年12月 (1)
我的其他博客
博客园
搜索
最新评论
1. re: 病毒在线分析
great
--tiger2soft
2. re: 行走社会的100条忠告
不错(:
--null
阅读排行榜
1. 关于Cstring::GetLength() (3749)
2. WH_GETMESSAGE Hook(3017)
3. Dll注入的2种方法(2508)
4. 反调试技巧总结-原理和实现(2445)
5. SYSTEM_INFORMATION_CLASS枚举类型(1934)
评论排行榜
1. 病毒在线分析(1)
2. python学习笔记(0)
3. Windows—Hook笔记(0)
4. Dll文件的编写和引用(0)
5. 消息钩子的编写(0)