问题标签 [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.
c++ - 获取 DLL 中导出函数的签名
是否可以从 DLL 中获取导出的(C 风格?)函数的签名(参数计数/类型、返回类型)?我可以使用DLL Export Viewer 查看函数名称、地址、序数等列表,但无法查看签名。我只有 dll 文件,既没有 .h 也没有 .def 文件。
更新:使用名为API Monitor的工具,我可以附加到使用上述 dll 的进程并查看对函数的调用。这让我可以看到参数的数量、返回值及其整数值(指针?),但这并没有多大帮助。我可能应该找到一种方法来确定这些指针在调用时指向的结构类型。
windows - 通缉:WinAPI 调用记录器
有一个“API Monitor”程序,但它似乎已停产。在我的系统上不起作用。有没有这样的工具可以在 Windows 7 x64 上运行?我需要从选定的集合中记录 API 调用,在参数值时更好。
c - 如何修改 ListView 子项中单个字符的字体颜色?
我正在使用 Windows API 编写一个应用程序,我想知道如何使用包含多色文本的子项制作一个列表视图。
澄清一下,这是一张在 API Monitor 中如何实现的图片:
请注意,在“API”列中,文本有多种颜色,例如富文本或其他内容。我想知道我将如何做到这一点。
有人告诉我用定制绘图做一些事情,但他不确定。我调查了一下,我处理了NM_CUSTOMDRAW
。这是我的测试结果:
这是代码:
使用该NM_CUSTOMDRAW
方法,我无法修改单个字符的字体颜色;我只能修改子项中所有内容的字体颜色,这不是我想要的。
如何实现 API 监视器的功能?我觉得这将非常困难,但欢迎提出任何建议。
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 上创建一个播放器,那么上面的代码可以完美运行并且光标会发生变化。
因此,在第一种情况下,某些东西似乎确实重置了光标状态。如何找出重置光标的原因?
c++ - 弯路捕捉纹理
有一个赛车游戏,我需要收集遥测和统计数据。并添加一个额外的 HUD
我编译了Detours。并且可以使钩子更改应用程序窗口的名称。例如:
并使用 withdll.exe 运行它。一切都好。
但我不知道如何拦截direct3d。在 API Monitor 的帮助下,我发现程序使用Microsoft.Xna.Framework.Graphics.dll
IDirect3DDevice9::SetTexture
有人能告诉我如何获得这种纹理吗?一般来说,我想得到类似链接的东西
c# - 如何隐藏 ac# 应用程序进行的 API 调用?
我想从API Monitor之类的程序中隐藏在我的 c# 程序中使用的 Api 调用。(Windows)加壳是否可以做到这一点?
我搜索了很多,但我找不到任何可以帮助的东西。
提前致谢 。
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 的跟踪信息
windows - 挂钩 Windows 文本绘制 API
我试图通过挂钩 TextOut、DrawText、ExtTextOut、BitBlt 来挂钩 Windows 中的所有绘制文本 API。但是,我看到机器之间不一致的地方很奇怪。我通过我的工具以及使用 API Monitor 工具在某些机器上看到了绘制文本 API,但在其他一些机器上,我看不到任何调用的绘制文本 API。这对我来说真的很奇怪,因为它必须调用 API 来绘制文本,除非它使用我没有挂钩的其他 API。有谁知道我可以尝试挂钩哪些 API?或者为什么那些机器在绘制文本上有差异?
谢谢。
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=ReallySuppress
orREMOVE=ALL
参数。
windows - 从用户模式到内核模式的 Windows API 跟踪
我想跟踪/记录从用户模式到内核模式的 API 调用的整个流程。例如,如果用户模式应用程序调用 FindFirstFile() API,我想记录以下内容:
FindFirstFile -> NtQueryDirectoryFile -> SYSCALL -> KiSystemService -> KiFastCallEntry -> NtQueryDirectoryFile -> IRP -> ...
今天有什么程序可以做到这一点吗?(Rohitab API Monitor 可以进行用户模式 API 跟踪,但不能同时进行)。如果不是,那么开发这种能力的最优雅的方式是什么?