问题标签 [apimonitor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
23773 浏览

c++ - 获取 DLL 中导出函数的签名

是否可以从 DLL 中获取导出的(C 风格?)函数的签名(参数计数/类型、返回类型)?我可以使用DLL Export Viewer 查看函数名称、地址、序数等列表,但无法查看签名。我只有 dll 文件,既没有 .h 也没有 .def 文件。

更新:使用名为API Monitor的工具,我可以附加到使用上述 dll 的进程并查看对函数的调用。这让我可以看到参数的数量、返回值及其整数值(指针?),但这并没有多大帮助。我可能应该找到一种方法来确定这些指针在调用时指向的结构类型。

0 投票
5 回答
4304 浏览

windows - 通缉:WinAPI 调用记录器

有一个“API Monitor”程序,但它似乎已停产。在我的系统上不起作用。有没有这样的工具可以在 Windows 7 x64 上运行?我需要从选定的集合中记录 API 调用,在参数值时更好。

0 投票
1 回答
3949 浏览

c - 如何修改 ListView 子项中单个字符的字体颜色?

我正在使用 Windows API 编写一个应用程序,我想知道如何使用包含多色文本的子项制作一个列表视图。

澄清一下,这是一张在 API Monitor 中如何实现的图片:

请注意,在“API”列中,文本有多种颜色,例如富文本或其他内容。我想知道我将如何做到这一点。

有人告诉我用定制绘图做一些事情,但他不确定。我调查了一下,我处理了NM_CUSTOMDRAW。这是我的测试结果:

这是代码:

使用该NM_CUSTOMDRAW方法,我无法修改单个字符的字体颜色;我只能修改子项中所有内容的字体颜色,这不是我想要的。

如何实现 API 监视器的功能?我觉得这将非常困难,但欢迎提出任何建议。

0 投票
2 回答
973 浏览

c++ - 除了 SetCursor,还有什么可以重置光标形状?

我维护一个使用 flash ocx 播放 SWF 文件的 C++ 应用程序。

当用户将鼠标悬停在 SWF 中的按钮上时,flash 在内部调用 WinAPISetCursor函数来设置IDC_HAND光标 - 我可以看到,当我通过API Monitor V2 (rohitab.com)监控 WinAPI 对光标相关函数的调用时。但是,在我的情况下,光标没有改变,即保持IDC_ARROW.

应用程序本身根本不调用SetCursor。应用程序窗口处理WM_SETCURSOR消息如下,即不恢复光标:

谁能告诉我在这种情况下谁能重置/更改光标形状?

更新:有趣的部分是我有 2 个相似的设置产生相反的结果。

我维护的应用程序实际上WH_GETMESSAGE在“SysListView32”上安装了一个钩子,并启动了一个创建 Flash 播放器的线程。所以设置并不是那么简单。

但是,如果我只是创建一个简单的示例,基本上在 winmain 上创建一个播放器,那么上面的代码可以完美运行并且光标会发生变化。

因此,在第一种情况下,某些东西似乎确实重置了光标状态。如何找出重置光标的原因

0 投票
1 回答
354 浏览

c++ - 弯路捕捉纹理

有一个赛车游戏,我需要收集遥测和统计数据。并添加一个额外的 HUD

我编译了Detours。并且可以使钩子更改应用程序窗口的名称。例如:

并使用 withdll.exe 运行它。一切都好。

但我不知道如何拦截direct3d。在 API Monitor 的帮助下,我发现程序使用Microsoft.Xna.Framework.Graphics.dll IDirect3DDevice9::SetTexture

有人能告诉我如何获得这种纹理吗?一般来说,我想得到类似链接的东西

0 投票
1 回答
370 浏览

c# - 如何隐藏 ac# 应用程序进行的 API 调用?

我想从API Monitor之类的程序中隐藏在我的 c# 程序中使用的 Api 调用。(Windows)加壳是否可以做到这一点?
我搜索了很多,但我找不到任何可以帮助的东西。
提前致谢 。

0 投票
0 回答
544 浏览

c++ - CopyFile2 没有绕道而行

我被困住了。出于某种原因,我需要在 Windows 8 上阻止文件系统的复制功能。直到 Windows 7,ShFileOperation 和 CopyFile 用来做伎俩。但是,在 Windows 8 中,我可以通过 API 监视器进行扫描,因此使用了一个新的 API:CopyFile2 来完成这项工作。所以我需要绕道CopyFile2。

我尝试在 Windows SDK 6.x、7.x 和 Win8 SDK 中使用 Detour 2.x 和 3.x。以下是代码片段 -

DetourAttach 返回 0(成功),但我没有收到对我的 Trampoline 函数的调用。我知道我的 dll 正在 Explorer 中加载,因为其他 API 正在绕道 - 我也在 ProcessExplorer 中检查过它。

microsoft Detour 库是否支持 win8 API?如果是,我做错了什么吗?如果否,我应该将此报告为错误吗?

-- 此外,我创建了一个名为 CopyFile2 的示例应用程序。我的 Dll 正在加载,DetourAttach 返回 0。但是,我仍然无法获取到 Detour_CopyFile2 的跟踪信息

0 投票
0 回答
1000 浏览

windows - 挂钩 Windows 文本绘制 API

我试图通过挂钩 TextOut、DrawText、ExtTextOut、BitBlt 来挂钩 Windows 中的所有绘制文本 API。但是,我看到机器之间不一致的地方很奇怪。我通过我的工具以及使用 API Monitor 工具在某些机器上看到了绘制文本 API,但在其他一些机器上,我看不到任何调用的绘制文本 API。这对我来说真的很奇怪,因为它必须调用 API 来绘制文本,除非它使用我没有挂钩的其他 API。有谁知道我可以尝试挂钩哪些 API?或者为什么那些机器在绘制文本上有差异?

谢谢。

0 投票
1 回答
410 浏览

c# - .NET 不会使用命令行参数调用方法?

我正在尝试使用REBOOT=ReallySuppress命令行参数卸载 C# 中的程序,但 Windows 进程监视器(Rohitab 的 API 监视器)显示我所需的命令行参数实际上并未传递给 msiexec.exe。我的代码有缺陷吗?

程序列表在代码中的其他地方初始化并且工作正常。API Monitor 显示 msiexec.exe 进程使用以下参数启动:

"C:\Windows\SysWOW64\\msiexec.exe" /i "C:\Users\Joel Denning\AppData\LocalLow\Sun\Java\jre1.7.0_45.msi" /qn METHOD=joff

它没有我传入的REBOOT=ReallySuppressorREMOVE=ALL参数。

0 投票
2 回答
1114 浏览

windows - 从用户模式到内核模式的 Windows API 跟踪

我想跟踪/记录从用户模式到内核模式的 API 调用的整个流程。例如,如果用户模式应用程序调用 FindFirstFile() API,我想记录以下内容:

FindFirstFile -> NtQueryDirectoryFile -> SYSCALL -> KiSystemService -> KiFastCallEntry -> NtQueryDirectoryFile -> IRP -> ...

今天有什么程序可以做到这一点吗?(Rohitab API Monitor 可以进行用户模式 ​​API 跟踪,但不能同时进行)。如果不是,那么开发这种能力的最优雅的方式是什么?