- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个用 VB 6.0 开发的应用程序。我无权访问其代码。此应用程序还通过其 dll 中提供的某些 API 公开其功能。有没有办法让我检查此应用程序 API 的使用者在 API 部署的任何地方调用的 API 的哪些方法。我希望 C# 程序只位于该目标环境中并拦截对该 API 的调用并通过服务将其报告回我的服务。我不会修改 API 或调用 API 的代码。这在 C# 中可行吗?还是我需要使用 C++?
更新
为了简单起见,假设它是一个用 VB 6 开发的简单 VB 应用程序,称为 SimpleAPP,它有一个在网格中显示记录的按钮。它通过使用返回记录数组的公共(public)方法 GetRecords(string ID) 调用组件 CMPA.dll 来实现这一点。我还有另外几个名为 CustomerApp.exe 和 AnotherCustomerApp.exe 的应用程序,它们也引用了 CMPA.dll,它们都调用相同的方法来获取记录。现在,我想开发一个名为 Interceptor.exe 的程序,它实际上位于部署 CustomerApp 和 AnotherCustomerApp 的环境中,并将在内部记录这两个应用程序中的哪一个调用了 CMPA dll 的公共(public)方法 GetRecords 并记录它发送的参数和检索到了什么结果。
最佳答案
我必须通过 google 才能找到我舌尖上的图书馆。
谷歌搜索发现了一些有趣的文章:1999 年微软研究院的一篇新文章 “Intercepting and Instrumenting COM Applications”和我记得的 1999 年 1 月的 Microsoft Systems Journal 文章,“Building a Lightweight COM Interception Framework” .
你要的图书馆大概是Microsoft Detours .我只在 C++ 中使用过它,而没有在 C# 中使用过它,而且我只将它用于拦截对 Windows API 函数的调用,而不是 COM 方法,所以我不能保证它非常适合。但是,如果需要的话,将这两种语言连接起来并不是什么火箭科学。
如果 Detours 不能满足您的需求,请查看引用的文章。他们很可能会产生一些您可以使用的框架。此外,他们还拥有您构建自己的网站所需的信息。然后,您还可以查看 ParkPlace 是否做过您想要的东西。曾经人们对“交叉关注”功能很感兴趣,ParcPlace 做了一些最有趣的研究,我记得。
关于c++ - 拦截 VBA 应用程序之间的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23649209/
我刚开始使用新的拦截方法,有一个基本问题,想知道如何在一个测试中链接下面的两个断言。 cy.intercept('GET', '/states').as('states'); cy.reload(tr
我有一个标签控件的自定义版本(使用用户控件构建)。在设计器中工作时,我想截取 Name 属性的设置(在属性面板中)并使用它来生成 Text 属性。也就是说,如果我在属性面板的 Name 属性中输入“l
嗨,我想通过 soapUI 解析 ssl soap 消息,而我试图通过 HttpMonitor 进行拦截它显示在异常下方 ERROR:Exception in request: javax.net.s
是否有可能从某个任意层拦截反向梯度,修改其值并继续反向传播回到网络的开始,根据您提供的修改后的梯度值更新所有先前层的反向梯度? 我知道你可以directly modify the gradients
我可以从什么 dll 中获得 Intercept 的扩展?我从 http://github.com/danielmarbach/ninject.extensions.interception 添加了
我有一个实现 onCreateOptionsMenu 方法的顶级 TabHost。我希望子 Activity (选项卡内的子 Activity )能够通过 onOptionsItemSelected
我在尝试反序列化 URL 时遇到此错误 Caused by: java.net.MalformedURLException: no protocol: www.boo.com at java.
首先,我是 Spring 的新手,这是我第一次尝试使用 Spring 编写基于 REST 的应用程序。 我计划在请求参数和响应中使用 Json。这让我想到两个问题。 有没有办法将 products="
在我基于 j_security_check 的登录表单中登录时一切正常。在这种情况下,我看到 JSESSIONID cookie 中的路径具有来自 URL 的值。但是当另一个登录页面构造动态表单(它正
我有一个我一直致力于下载文件的程序。一切正常,除非用户使用 AVG。奇怪的是,为了解决这个问题,似乎必须禁用 AVG 的“电子邮件保护”;将我的程序或 JRE 添加到异常(exception)列表不起
我正在寻找一种方法来挂接 SMSManager 或较低级别的机制,以便我可以在发送任何外发 SMS 消息之前拦截、读取和取消它们。 最佳答案 迟到总比不到好:) 我已经在这上面花了 2 天...并且不
我已成功拦截对 read() 的调用, write() , open() , unlink() , rename() , creat()但不知何故截获完全相同的语义stat()没有发生。我已经使用 L
阿里云ECS通过安全组屏蔽/拦截/阻断特定IP对云服务器的访问 所适用的场景: 通过安全组屏蔽、拦截、阻止特定IP对用户云服务器的访问,或者屏蔽IP访问服务器的特定端口。 配置的方法: 1、
我希望能够在类本身的构造函数中代理类的所有方法。 class Boy { constructor() { // proxy logic, do something before
使用 ajax 请求可以使用以下代码完成: let oldXHROpen = window.XMLHttpRequest.prototype.open; window.lastXhr = ''; wi
我想“拦截”/更改将 OData 与 Web API 一起使用时生成的 OData 查询..但我不完全确定如何“提取”生成的查询..我假设 OData 过滤器、扩展和更多一些如何生成某种表达式树或某种
当 JUnit 中的断言失败时,我想做一些“自己的事情”。我想要这个: public class MyAssert extends org.junit.Assert { // @Overrid
如何拦截 PartialFunction?例如在 Actor 中,如果我只想打印进入以下接收方法的所有内容,然后再将其传递给流程方法: class MyActor extends Actor {
我们正在使用 fluentvalidation(带有服务堆栈)来验证我们的请求 DTO。我们最近扩展了我们的框架以接受“PATCH”请求,这意味着我们现在需要仅在补丁包含要验证的字段时才应用验证。 我
我有一个作为 excel 插件运行的 WPF 应用程序,它有这样的可视化树 精益求精 元素主机 WPF 用户控件 WPF 色带条控件 现在,在 excel 中加载插件时,不会启用位于 WPF 功能区栏
我是一名优秀的程序员,十分优秀!