能力值:
( LV7,RANK:100 )
|
-
-
2 楼
我这个问题很弱智吗? 为什么没有人回应一下呢?
|
能力值:
( LV3,RANK:30 )
|
-
-
3 楼
参照deviceiocontrol的那几中通信方式,systembuffer, userbuffer,irp->mdladdress
|
能力值:
( LV7,RANK:100 )
|
-
-
4 楼
我想你没有明白我说的意思
比如NtCreateFile:
mov eax, serviceID
mov edx, [用户栈]
int 2eh
这里面, 通过serviceID内核知道是哪个服务, 通过edx知道用户空间的参数放在什么地方, 通过ArgumentTable知道这个服务需要拷贝的参数是多少个字节
现在问题是, 假设这个参数中有指针, 而这个指针可能是字符串指针, 或者是结构指针,那么内核是如何知道这个是字符串, 还是结构?
|
能力值:
( LV7,RANK:100 )
|
-
-
5 楼
我想是不是这样的, 通过ServiceID可以知道是哪个具体的服务例程, 然后每个服务例程参数都知道, 具体的服务例程, 参数具体处理, 这样就应该没有问题了
如果是字符串, 那么在内核空间开辟内存, 把用户空间的字符串复制过来, 并把字符串指针改为内核模式下的字符串指针, 这样的话, 就不会有问题了
|
能力值:
( LV7,RANK:100 )
|
-
-
6 楼
用户模式拷贝到内核模式,线程不会调度。不是驱动的ioctl,呵呵
|
|
|