com的小笔记--发文于2013-10-24

com的几个疑问

1 .  
CoCreateInstance有初始化RPC连接的操作吗?
2. COM导出的类和函数的IID和RPC的PortName有对应关系么?
3. 可以通过客户端port中的tid判断对某个函数的
调用时通过port吗?
4. com中的dispatch表中的格式?
5. COM中的函数和RPC中的tid,opcode和dispatch中的函数
怎么联系起来的?

com处理过程理解:

com(接口guid,函数名)-->RPC中connect 目标port(
) --> RPCRT4!NdrClientCall2-> ntdll!ZwRequestPort( 源进程 )
->
ole32!CCliModalLoop::SendReceive    
ole32.dlL(判断哪个接口处理)-->RPCRT4.DLL(NdrStubCall2)-->目标线程在for死循环中不断的NtListenPort,根据opcode,data判断调用哪个内部函数处理->内部函数处理

你可能感兴趣的:(安全,com)