关于实现隐藏DLL中的函数
2010-05-30 00:51
211 查看
很多人问,既然发布了DLL为什么还要隐藏里面的函数呢?
【答】实际上我是隐藏部分而已,基于防御编程的考虑,编写者当然应该将该公布的公布,隐藏的还是要隐藏比较安全。
首先第一个问题就是,DLL的函数用什么方式查看? 一般都是使用vc自带的Dependency 查看,还有在命令行里面的dumpbin /export **路径**.dll ,还有就是网络上的一些dll查看工具(这个我就没使用过。)
经典例子 打开windows的几大dll 。uers.dll 都会列出很长很长的API函数,那么我们自己编写的dll想发布的函数,也是类似API一样。
不但如此,我们还可以通过dll发布资源、类、函数、变量。
之前被面试的时候问到这个问题,我也很奇怪,这个功能怎么实现呢?我的回答是使用 extent 的关键字,将自己想公布的函数公布出来。 但是面试官给我回复:“我还是可以看到里面你没使用extent声明的东西。” 无语...
后来做了几个测试,先是百度搜索,隐藏dll中的函数的概念,和实现,得到的结果不如人意。
first 。 http://blog.csdn.net/cdpc0202/archive/2008/08/05/2772562.aspx 这个blog文里面说利用类的派生,和文件之间的跳转(几个头文件之间)。实现一个类的隐藏,而方便的调用,我测试过。
得到的dll的确是只有一个函数。 为了对照,我用一个反例,就是同样在里面定义一个test类。而且没加extent关键字声明导出,相应的,在Dependecy是看不到的。我开始疑惑面试官说的话了。
【答】实际上我是隐藏部分而已,基于防御编程的考虑,编写者当然应该将该公布的公布,隐藏的还是要隐藏比较安全。
首先第一个问题就是,DLL的函数用什么方式查看? 一般都是使用vc自带的Dependency 查看,还有在命令行里面的dumpbin /export **路径**.dll ,还有就是网络上的一些dll查看工具(这个我就没使用过。)
经典例子 打开windows的几大dll 。uers.dll 都会列出很长很长的API函数,那么我们自己编写的dll想发布的函数,也是类似API一样。
不但如此,我们还可以通过dll发布资源、类、函数、变量。
之前被面试的时候问到这个问题,我也很奇怪,这个功能怎么实现呢?我的回答是使用 extent 的关键字,将自己想公布的函数公布出来。 但是面试官给我回复:“我还是可以看到里面你没使用extent声明的东西。” 无语...
后来做了几个测试,先是百度搜索,隐藏dll中的函数的概念,和实现,得到的结果不如人意。
first 。 http://blog.csdn.net/cdpc0202/archive/2008/08/05/2772562.aspx 这个blog文里面说利用类的派生,和文件之间的跳转(几个头文件之间)。实现一个类的隐藏,而方便的调用,我测试过。
得到的dll的确是只有一个函数。 为了对照,我用一个反例,就是同样在里面定义一个test类。而且没加extent关键字声明导出,相应的,在Dependecy是看不到的。我开始疑惑面试官说的话了。
相关文章推荐
- 关于函数strtok和strtok_r的使用要点和实现原理(一)
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- vb module_FunctionPtr 与FunctionPtr共同实现 CallFromDll callbyAddress 可以调用模块的函数/callbyname
- 关于函数strtok和strtok_r的使用要点和实现原理(一)
- 2.6版本Linux上替换系统调用函数实现隐藏文件学习
- 关于DLL模块导出函数
- 问题:关于坛友的一个定时重复显示和隐藏div的实现
- 关于成员函数的Command模式的简单实现
- 关于头文件写类成员函数实现,编译时报“重复定义的符号”
- 关于驱动开发中mmap函数的实现
- 关于Java与c++隐藏、重写不同实现机制的探讨
- 深入浅出Dll(介绍函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法)
- 关于函数strtok和strtok_r的使用要点和实现原理2
- android 关于在ListView 显示和隐藏checkboxes的实现。
- 关于驱动开发中mmap函数的实现
- 关于驱动开发中mmap函数的实现
- 关于函数strtok和strtok_r的使用要点和实现原理(二)
- 【转帖】深入浅出Dll(介绍函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法)
- 关于strcmp()函数的实现
- 关于使用定义函数来实现对于数组c中的元素进行筛选最大值最小值,计算平均值等操作