阅读:1601回复:17
动态联结库和普通文件(早来早得)
问题1:在IM驱动程序中能不能直接调用DLL,如果能,请举个例子
问题2:在IM中对普通文件的读写,是不是要限制在一定的RING3 |
|
|
沙发#
发布于:2002-12-02 18:39
没人回答吗?
|
|
|
板凳#
发布于:2002-12-03 09:15
问题1:在IM驱动程序中能不能直接调用DLL,如果能,请举个例子可能是没有人试过吧,干吗要调用dll呢?不过通信到是可以,
不用,在你的驱动里面就可以了 |
|
|
地板#
发布于:2002-12-04 21:40
[quote]问题1:在IM驱动程序中能不能直接调用DLL,如果能,请举个例子可能是没有人试过吧,干吗要调用dll呢?不过通信到是可以,
不用,在你的驱动里面就可以了 [/quote] 能具体点吗 |
|
|
地下室#
发布于:2002-12-04 22:44
你为什么要调用dll?是因为调用函数还是数据传递?如果是要传递一些数据的话可以使用irp,如果是要调用函数完成一些功能的话我也不知道怎么能直接调用dll里面的函数。
|
|
|
5楼#
发布于:2002-12-04 22:52
问题1:在IM驱动程序中能不能直接调用DLL,如果能,请举个例子 要安全的调用dll,那么需要驱动当时的线程上下文不是随机的。 通常在某些时候,的确满足这样的要求,例如大多数ioctl。 通常你需要一个ioctl得到函数指针的位置。 ring3就是应用层,im是个驱动,所以都是ring0层,我真不知道 你在说什么。 |
|
|
6楼#
发布于:2002-12-04 23:17
版主真是难得一见哪:)
|
|
|
7楼#
发布于:2002-12-05 00:57
[quote]问题1:在IM驱动程序中能不能直接调用DLL,如果能,请举个例子 要安全的调用dll,那么需要驱动当时的线程上下文不是随机的。 通常在某些时候,的确满足这样的要求,例如大多数ioctl。 通常你需要一个ioctl得到函数指针的位置。 ring3就是应用层,im是个驱动,所以都是ring0层,我真不知道 你在说什么。 [/quote] 斑竹好啊。 好久没看到你 1。需要完成对传输数据的加密,加密是别人提供的DLL,拒绝提供源码!所以只好考虑调用DLL。但没这么做过,实在没底。 2。呵呵,当时想说在PASSIVE_LEVEL,结果忘记了单词,乱用了ring3,见谅。主要是想读写文件,这些文件用来保存一些系统设置和日志。 |
|
|
8楼#
发布于:2002-12-05 00:59
你为什么要调用dll?是因为调用函数还是数据传递?如果是要传递一些数据的话可以使用irp,如果是要调用函数完成一些功能的话我也不知道怎么能直接调用dll里面的函数。 :( 就是调用他们提供的该死的函数,来完成加密。。。。。 :( :( :( |
|
|
9楼#
发布于:2002-12-05 09:14
如果有lib库是可以调用,但需要注意,在内核中的C函数库和应用层的C函数库有所不同,并不是任何dll都可以调用的。经过我试验在passive_lever下memcpy、memcmp、memset之类的内存函数还是可以用的,一般的加密运算也就用到这几个函数吧。
|
|
10楼#
发布于:2002-12-05 09:18
可以这样:你自己写一个应用层的dll,在这里面和你的驱动通信,这个是和容易做的,把要加密的数据传上来,或者别的什么操作,其实你这个dll就是对那个lib在封装一下,这样你就可以很容易的使用了,
|
|
|
11楼#
发布于:2002-12-05 09:50
看来只能一点点尝试了。
谢谢大家的方法。 555555 偶真想自己重写加密,可惜不知道他们的算法。 |
|
|
12楼#
发布于:2002-12-05 09:54
那就重新封装一个库好了,这样方便一些
|
|
|
13楼#
发布于:2002-12-05 10:41
好的加密算法都是公开的,一本密码学书说的,呵呵。
|
|
|
14楼#
发布于:2002-12-05 10:57
算法和程序实现是不一样的:)
不过一般的加密算法网上都有公开的程序实现 |
|
|
15楼#
发布于:2002-12-05 14:00
版主真是难得一见哪:) 这两天被单位抓回去了,上网甚不便。 |
|
|
16楼#
发布于:2002-12-05 14:08
这两天被单位抓回去了,上网甚不便 抓回去干什么?挖沙子 嘿,体验了一把生活 |
|
|
17楼#
发布于:2002-12-05 14:09
斑竹好啊。
你看看,对于第一个问题。有什么好的建议吗?或者给个示例哦。 :D :D |
|
|