繁体   English   中英

使用反射在System.Diagnostics.Process中执行功能

[英]Using reflection to execute a function in a System.Diagnostics.Process

假设您已找到要执行函数调用的进程,则可以调用函数并从该进程获取返回值。 (可能使用反射或类似方法?)

例如,假设我感兴趣的进程始终是返回的第一个进程(我知道不会),我想执行以下操作:

Process[] myProcesses = Process.GetProcesses();
int UserID = myProcesses[0].*GetUserID*();

其中, GetUserID()是该流程程序集的公共静态函数。

所有代码均为托管代码

并非没有某种形式的进程间通信。 “目标”进程将必须运行某些服务器或侦听器(WCF,命名管道,套接字等)。 您可以将Windows消息发送到另一个进程,但是即使那样,另一个应用程序也必须正在侦听它们,并知道如何基于它们执行一些操作。

即使通常与攻击相关的机制(例如堆栈溢出,sql注入等)也通常要求应用程序正在侦听或充当某种服务器,并且攻击利用了该侦听系统

有点,但是您无法按照您描述的方式进行。

这称为进程间通信,并且要求包含方法GetUserID()进程通过某种进程间通信机制(例如.Net远程处理或WCF GetUserID()公开该方法。

然后,您调用该公开方法的方式也将完全不同,具体取决于公开该方法的方式。

这里有一个基本的教程,介绍如何使用WCF实现此目的:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM