监控应用程序对 DLL 的调用

2024-01-08

简而言之:我想监视从应用程序到 DLL 的选定调用。

我们有一个旧的 VB6 应用程序,我们丢失了它的源代码(当时公司没有使用源代码控制......)。此应用程序使用第 3 方 DLL。

我想在新的 C++ 应用程序中使用这个 DLL。不幸的是,DLL API 只有部分文档,所以我不知道如何调用某些函数。我确实有函数签名。

由于VB6应用程序使用这个DLL,我想看看它如何调用几个函数。到目前为止我已经尝试过或看过 -

  1. API劫持 http://www.codeproject.com/KB/DLL/apihijack.aspx- 要求我为每个函数编写 C++ 代码。由于我只需要记录这些值,这似乎有点矫枉过正。
  2. EasyHook http://www.codeplex.com/easyhook- 与1相同,但允许用.NET语言编写代码。
  3. OllyDbg http://www.ollydbg.de/ with uHooker http://oss.coresecurity.com/uhooker/doc/index.html- 我仍然需要为每个函数编写代码,这次是用 Python。另外,我必须使用 Python 进行许多转换struct模块,因为大多数函数使用指针传递值。

由于我只需要记录函数参数,因此我想要一个简单的解决方案。是否有任何自动化工具,我可以告诉我要监视哪些函数及其签名,然后获取详细的日志文件?


“静态”解决方案(从某种意义上说,它可以按需捕获堆栈跟踪)将是过程监控器 http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx.

更动态的解决方案是API监控器 http://www.rohitab.com/apimonitor/,但它可能太旧,无法与要监视的应用程序兼容。不过值得一试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

监控应用程序对 DLL 的调用 的相关文章

  • Python 和 libstdc++ 的动态库问题

    执行摘要 Python 模块链接到不同版本的libstdc dylib比 Python 可执行文件 结果是调用iostream从模块崩溃 背景故事 我正在一台旧计算机 运行 10 5 8 上使用 SWIG 创建一个 Python 模块 由于
  • 为什么有些程序需要 .lib 和 .dll 才能运行

    当我要设置我的开发环境时 SDLSimple DirectMediaLayer 我下载了网站提供的包 从readme txt文件我发现我需要两者 lib and dll 我的问题是 我不确定我的理解是否正确 在我看来 lib for win
  • 获取DLL函数的内存地址

    我想知道是否有可能 使用 C 和 WindowsAPI 是否有一个函数可以让我获得 dll 中函数的 32 位 我认为 内存地址 例如 如何获取 kernel32 dll 中 Beep 的 32 位 xxxxxxxx 地址 其次 如果我在汇
  • 如何将参数传递给 DLL 初始化(例如,通过 LoadLibrary 加载时)?

    如何将参数传递给通过 LoadLibrary 加载的 DLL 的初始化函数 有可能吗 也就是说 无需求助于某种导出函数或共享内存 没有直接的方法 最简单的可能是通过环境变量 它们可以在调用之前轻松设置LoadLibray with sete
  • Visual Studio 找不到引用

    我正在处理另一个人移交的一些应用程序 我必须在其中记录需求 构建和部署流程 这里的问题是 Visual Studio 2005 抛出很多错误 因为它找不到 dll 的引用 这显然不会让 VS 构建该项目 在该人的计算机上一切正常 但在我的计
  • 如何在 C# 库中创建全局对象[重复]

    这个问题在这里已经有答案了 可能的重复 使整个应用程序可以访问数据 可能在运行时发生变化 的最佳方法是什么 https stackoverflow com questions 11781131 best way to make data t
  • 如何在 Tridion 中获取当前登录用户的 tcmid?

    private void Subscribe EventSystem Subscribe
  • python37.dll 未链接到可执行文件中

    我用 python 扩展了 c 但可执行文件无法在未安装 python 的系统上运行 include C python h int main Py Initialize PyRun SimpleString print hello worl
  • 有没有原生 DLL 导出函数查看器? [复制]

    这个问题在这里已经有答案了 是否有免费的本机 Windows DLL 导出函数查看器 它显示函数名称及其参数列表 dumpbin从 Visual Studio 命令提示符处 dumpbin exports csp dll 输出示例 Micr
  • Visual Studio 2013 设计器尝试加载错误版本的项目 DLL

    我的解决方案中有一个 Visual Studio 项目 它引用同一解决方案中的类库项目 该项目编译并执行得很好 但是 当我尝试在设计器中打开一个表单时 我收到一条消息 无法加载文件或程序集 MyLibName Version 1 0 547
  • C# 无法加载 DLL(找不到模块 HRESULT:0x8007007E)

    错误 无法加载 DLL x dll 找不到指定的模块 HRESULT 异常 0x8007007E 操作系统 Windows 7 我有两个站 Visual Studio 2012 使用 net 4 0 另一个没有安装VS 在使用 VS2012
  • 我不断听说 DLL 地狱——这是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何从DLL中提取字符串资源

    我正在制作管理系统文件扩展名的应用程序 但遇到问题 系统扩展如 jpg exe dll png txt等有一个名为FriendlyTypeName 例如 FriendlyTypeNamejpeg 文件的内容是 SystemRoot Syst
  • 使用主题函数在 body 标记后插入代码

    我试图在开头添加一段代码everyDrupal 站点中的页面 因为我有不止一个page模板 我想以编程方式执行此操作 但没有成功 我还是个新手 虽然我了解了钩子 主题函数等的要点 但我只是想不出实现这一目标的正确方法 到目前为止我已经覆盖了
  • 制作 C# 项目 DLL 和 EXE

    我正在开发一个项目 需要有一个可执行文件以便用户可以运行配置界面和一个可以嵌入其他项目以使用其他一些功能的 DLL 有没有办法让 Visual Studio 同时生成可执行文件和 DLL 而不是每次都手动切换 我同意 TJMonk15 的观
  • 如何在我的项目中使用 FFTW DLL 导入库 .lib 作为静态 .lib?

    我了解 C 和编译小型插件 始终基于类似且布局的工作流程 虽然目前我需要将最新版本的 FFTW 编译成静态库 或者从编译版本中获取它 这应该会容易得多 但这给了我一个非常困难的时间 可能是因为我不知道编译的来龙去脉 请注意 我正在使用 Vi
  • 使用 GdiPlus 卸载 DLL 时程序挂起

    我有一个加载 DLL 的应用程序 它使用德尔福 GDI 库 http sourceforge net projects delphigdiplus 该应用程序在卸载 DLL 时挂起 调用免费图书馆 https msdn microsoft
  • 从单个应用程序中的多个线程调用 dll 函数是否安全?

    我正在 Delphi 2009 中编写一个服务器应用程序 它实现了多种类型的身份验证 每种身份验证方法都存储在单独的 dll 中 第一次使用身份验证方法时 会加载适当的 dll 仅当应用程序关闭时 DLL 才会被释放 在服务器线程 连接 之
  • 获取 Prometheus 中两个自定义时间戳之间的增量

    我有一个名为的普罗米修斯指标device number 我想要的是显示现在与一天 一周 一个月等之前的价值差异 这意味着减去具有两个不同时间戳的两个值 环顾四周 我没有找到任何关于如何执行此操作的有用文档 我想做但不起作用的是 sum de
  • 如何隐藏 dll 导出类中的成员变量

    我想在 dll 文件中导出一个 1024 字节的类 class declspec dllexport ExportedClass private char Data 1024 Holding 1024 bytes public void F

随机推荐