Dll中类的安全性导出
来源:互联网 发布:淘宝联盟权限有什么 编辑:程序博客网 时间:2024/05/16 00:42
问题:通常我们在dll中要导出一个类都是直接在导出头文件声明该类的方法及属性,这样一来别人只要拿到我们的导出头文件便可以由此猜测出很多实现方面的信息。
安全的做法:使用虚类,导出头文件中只保留虚类,将需要导出的函数放在虚类中而并无其他信息,然后在在其他文件中继承并实现虚类的方法,而将类指针作为接口输出。
具体实现例子:
导出头文件.h
#ifdef _EXPORT
#define DLLMODULETYPE __declspec(dllexport)
#else
#define DLLMODULETYPE __declspec(dllimport)
#endif
class CBase //虚类
{
public:
virtual void test() = 0; //需要导出的方法虚函数
};
extern "C" DLLMODULETYPE CBase* _stdcall ExportCall(); //导出接口函数
继承并实现虚类的文件.h
class CMyClass:public CBase
{
public:
CMyClass(void);
~CMyClass(void);
virtual void tRead(); //实现虚函数
};
继承并实现虚类的文件.cpp
void CMyClass::tRead()
{
printf("sucessful!\n");
}
CBase* _stdcall exportcall() //导出函数的实现
{
return new CMyClass;
}
这样,使用者的可见类就只有虚类CBase而看不到实现类CMyClass
- Dll中类的安全性导出
- DLL中类的导出和导入
- Vc dll中导出类的方法
- 关于DLL中导出类、导出函数接口的参数
- DLL专题之Dll中导出类
- 从DLL中导出类
- 从dll中导出类
- 从DLL中导出类
- 从DLL中导出类
- 从DLL中导出类
- 从DLL中导出类
- 浅谈win32的dll中导出类的方法
- DLL的概念、dll导出类
- DLL的概念、dll导出类
- DLL的概念、dll导出类
- dll的概念、dll导出类
- dll的概念、dll导出类
- DLL的概念、dll导出类
- Zero-sized Array
- IOS7开发~新UI学起(一)
- 致终将火爆的NFC——ISO14443 TypeA(二)
- linux 异步I/O的实现
- jodm dom4j dom4区别
- Dll中类的安全性导出
- pcre函数详解
- tomcat系统架构与设计模式1系统架构
- python(二)
- 一个“复杂的”SQL
- tomcat系统架构与设计模式2设计模式
- Node.js学习之IDE环境搭建
- JS回调函数的应用
- SQL Optimization