C++ 函数调用侦听器

c++ function invocation listener

本文关键字:侦听器 函数调用 C++      更新时间:2023-10-16

我有一个用c ++编写的代码,它是一个Windows应用程序。

我想保持代码原样并创建另一个项目(C# 或 C++ - 而不是 C#)

这将"侦听"该Windows应用程序中的某些函数调用。

我什至不知道从哪里开始,它可以只是dll还是必须是可执行的,甚至如何连接听众。

在托管模式下编译C++库,然后可以使用.dll到 C# 项目中。

您可以在 WinAPI 的帮助下挂接到另一个应用程序,因此您的程序不需要是 DLL,但我认为它不允许您侦听对函数等的调用。您应该在原始过程中拥有某种"信号器",您可以在钩子上捕获它......

当你看到这种情况时,这也是合乎逻辑的:编译器,由于优化等,有时会用它们的基本特化替换内联函数;从而完全删除分支。现在,在这种情况下,你怎么知道是否发生了分支,对吧?..

也许,您可能会更改设计模式,而不是挂钩 - 您可以更改项目(当然,如果可以的话),并使它们成为两个进程相互传递。这可以使用API等来完成 - 这将使您的程序特定于操作系统 - 但这就像完全重写应用程序的某些部分(主要部分)。