都是什么意思?Dll与Hook的区别解析"/>
Dll与Hook都是什么意思?Dll与Hook的区别解析
近期有空研究了一下DLL和HOOK的一些知识,故此做下笔记。下面以add,sub两函数和Point类为例来解释Dll与Hook的区别。
简单的说一个是勾子,一个是动态库注入,hook起到拦截的作用,dll的使用就很常见了。任何函数的运行都需要动态或静态库。
一,Dll的简单使用
使用 一个DLL,一般需要另外两个文件.H和.LIB。.H文件或.LIB文件。.H文件可用于使用.DLL的客户或是.DLL文件本身,其作用编译时期。.LIB文件是一个引入苦,用于客户程序,作用在链接时期。.DLL文件当然作用于运行时期了。
打开VS2008,选择Win32,DLL空项目。新建一个DLL.CPP和DLL.H文件。
//DLL.H
#ifdef DLL_API
#else
#define DLL_API _declspec(dllimport)
#endifDLL1_API int add(int a,int b);
DLL1_API int subtract(int a,int b);class DLL1_API Point
{
public:void output(int x,int y);
};//DLL.CPP
#define DLL_API _declspec(dllexport)
#include "Dll.h"
#include <stdio.h>int add(int a,int b)
{return a+b;
}int subtract(int a,int b)
{return a-b;
}void Point::output(int x,int y)
{printf("x = %d,y = %d",x,y);
}//Dll应用端
#include <iostream>
#include "Dll.h"
usin
更多推荐
Dll与Hook都是什么意思?Dll与Hook的区别解析
发布评论