当前位置: 首页 > 编程语言 > C#

使用c#从另一个进程调用一个函数分享

时间:2023-04-10 17:18:15 C#

C#学习教程:使用c#从另一个进程调用一个函数我的一个朋友向我指出了我想触发的另一个程序中的一个函数。该函数在另一个程序中是0x004B459C。我知道如何读写内存,但如何从我的程序中触发此功能。我没有这个其他程序的资源。我的问题是,如果我知道这个十六进制代码,我是否需要注入函数,或者我只是写一些内存来触发它?想想你真正想要的是什么。您希望其他进程执行此功能。进程不执行代码,它是执行代码的线程。如果您希望其他进程将此函数作为其正常操作的一部分调用,则必须确定输入等,这将使其他进程的线程调用它。一般来说,任何其他方式都有破坏其他进程的风险。可以将线程注入另一个进程并让它调用您感兴趣的函数(请参阅CreateRemoteThread)。如果你想在消息泵线程上调用这个函数,你可以在其他进程中注入一个消息钩子,给它发送一个特殊的消息并从钩子中调用它。也有方法(APC),但这些方法仍然更复杂并且提供的收益很小。您缺少一些基本的体系结构基础知识:-)您不能简单地从另一个知道其地址的进程中调用一个函数!想一想,这意味着您的程序可以获取任何程序的内存并执行代码!这将是一片混乱和一个完全不安全的环境。首先是一些基础知识:1)Windows保证您只能看到自己进程的内存,操作系统(甚至是Windows)最重要的原则之一是隔离包括内存在内的进程。2)一定要考虑权限,通常任何运行的代码都必须在用户帐户下运行,另一个进程可能意味着另一个进程帐户。答案很简单,如果你的程序是.NET/C#,那就看看.NETframework提供了哪些进程间通信,这个是你要搜索的东西,每个平台,Java,windowsnative,.NET都提供了正式的进程方式相互通信,称为进程间通信,在.NET框架中进行检查。以上就是C#学习教程:用c#调用另一个进程的函数。了解更多C#学习教程,希望大家多多关注~本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: