使用 logger.exe 嗅探系统调用

Using logger.exe to sniff system calls

我有一个应用程序使用一些串行端口并运行一些系统调用,例如 EscapeCommFunction,我想调试它。基本上我想要在 linux 上最接近 strace。我发现最好的候选似乎是 logger.exe 但我不知道如何使用它。

我试过打电话

logger.exe <application> <arg1> <arg2> <arg3>

并在出现的对话框中尝试了所有对我有意义的组合。结果总是一样的:程序成功完成,记录器上没有输出window,甚至在我关闭记录器后也没有创建任何日志文件。

我同意@Alex K. 并建议API Monitor

只需使用望远镜图标找到您要监控的方法并在其上添加复选标记。

然后从 "Running processes" 选项卡中选择一个进程或监视一个新进程(API 监视器将为您启动它)。

请注意 API 监视器有 2 个版本:x86 和 x64,您应该为要监视的应用程序选择正确的位数。

您还可以在方法上设置断点,这将在目标线程中触发一个INT3。 "unhandled exception dialog" 将弹出,您可以选择一个调试器(在我的例子中是 Visual Studio)。

关于 Chrome 请求:我正在使用 Serial Monitor as the app, enabled developer mode, inspecting demo.html. I figured out the correct process using the crosshair cursor of Process Explorer 进行测试。然后我按照您的建议创建了代码段

chrome.serial.connect("COM1", {
    bitrate: 9200
}, function(i) {
    chrome.serial.setControlSignals(i.connectionId, {
        dtr: false
    }, function() {
        console.log("done");
    });
});

和运行它。这是结果:

日志文件始终在桌面 logexts subdir 中创建 not alterable

C:\Documents and Settings\Admin\Desktop>DIR /S /B LOGE*
File Not Found 

执行记录器

C:\Documents and Settings\Admin\Desktop>LOGGER CALC.EXE 
  1. 一旦记录器 window 打开
  2. select 在左侧窗格中需要的 api 并单击包括 单选按钮
  3. 默认情况下 select 不会编辑任何内容,也不会记录任何内容
  4. 创建的 lgv 文件将不包含任何内容
  5. 您需要 select api 并将它们包含在日志中
  6. 您可以为专门的日志记录编写自己的清单文件
  7. 在你的 session 关闭后 logger.exe 你将拥有一个 lgv 文件
  8. 您可以在 logviewer.exe 中打开此 lgv 文件,使用文件 -> 打开否 命令行选项

已为 session

创建子目录
C:\Documents and Settings\Admin\Desktop>DIR /S /B LOGE*
C:\Documents and Settings\Admin\Desktop\LogExts

导航到子目录并转储目录结构

C:\Documents and Settings\Admin\Desktop>CD LogExts

C:\Documents and Settings\Admin\Desktop\LogExts>ls -la
total 32
drwxr-xr-x    4 Admin    Administ        0 Dec  2 10:31 .
drwxr-xr-x    1 Admin    Administ        0 Dec  2 10:31 ..
-rw-r--r--    1 Admin    Administ    64304 Dec  2 10:33 CALC.EXE.lgv <---
-rw-r--r--    1 Admin    Administ        0 Dec  2 10:31 CALC.EXE.txt

打开logviewr查看lgv文件 C:\Documents 和 Settings\Admin\Desktop\LogExts>logviewer

apis 记录的屏幕截图和 window 标题中 apis 记录的通知文件路径的统计信息