[帮助] com服务器exe和客户端消费者问题基于启动权限。 [英] [Help] com server exe and client consumer issue based on launch privilege.

查看:118
本文介绍了[帮助] com服务器exe和客户端消费者问题基于启动权限。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hello Everyone,



我遇到了与通过独立的消费者应用程序客户端访问com服务器exe相关的问题。

让我详细解释一下:



如果我通过例如vb6 activex exe项目模式创建一个独立的com exe服务器,客户端通过getobject消费该对象/ createobject。当用户或管理员权限启动时,客户端应用程序可以愉快地链接到已发布的对象。



WorkingConfig.png





当我以管理员模式运行服务器时,客户端从getobject或createobject获取返回代码:Class not registered,HRESULT:0x80040154(REGDB_E_CLASSNOTREG。



NotWorkingConfig.png





非常感谢您提供任何投入。

祝你好运。

MiQi。



我的尝试:



根据研究,我发现了一个修改工具启动特权:



启动特权



这可以通过工具设置:

dcomcfng.exe



我已经尝试过这个解决方案,但没有解决问题,我仍然没有注册课程。



可能是什么原因?如何允许访问对象的权限?

如何通过getobject允许消费者访问公共对象的idspatch引用?



我附上了示例文件以调查我的查询:

vb6exe.zip



OutofProcessCOM.zip

Hello Everyone,

I am in front of an issue related to the access of a com server exe via a standalone consumer application client.
Let me explain you in details:

If I create a standalone com exe server via for example vb6 activex exe project mode and client consuming the object via a getobject / createobject. The client application may link to the published object happily when they are boot running in user or admin privilege.

WorkingConfig.png


When I run the server in admin mode then the client get as return code from getobject or createobject: "Class not registered", HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG.

NotWorkingConfig.png


Thank you very much in advance for any inputs you may have.
Best regards.
MiQi.

What I have tried:

Based on research, I have spotted a tool to modify the launching privilege:

Launching privilege

This can be set via the tool:
dcomcfng.exe

I have tried that solution but did not fix the issue, I am still getting class not registered.

What may be the reason ? How to allow permission to access the object ?
How to proceed to allow the consumer via getobject to access the idspatch reference of the public object ?

I have attached the sample files to investigate my query:
vb6exe.zip

OutofProcessCOM.zip

推荐答案

如果启动一个提升的进程,它将在沙箱中运行,而沙箱中的非提升代码无法获取。



您的两个进程都必须提升或者它们都必须非提升运行。



为什么?安全漏洞。
If you launch an elevated process it is running inside a sandbox where non-elevated code cannot get at it.

Either both of your processes have to run elevated or they both have to run non-elevated.

Why? Security exploits.


这篇关于[帮助] com服务器exe和客户端消费者问题基于启动权限。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆