• debug - 用Procmon记录目标程序启动后的操作


    debug - 用Procmon记录目标程序启动后的操作

    概述

    想看看 D:\Cadence\SPB_17.4\tools\bin\Capture.exe 开始页中的recent projects 从哪里读的.
    想用Procmon记录Capture.exe启动后的动作, 再记录成文本日志, 从里面找找. 没找到啥有用东西, 量太大了.
    但是使用Procmon记录一个程序启动后的操作是可以的, 对Procmon的使用(启动一个程序, 并记录程序动作, 保存日志)做个笔记.

    笔记

    Procmon是SysinternalsSuite中的一个程序.
    启动Procmon64
    设置要监测的程序全路径, e.g. D:\Cadence\SPB_17.4\tools\bin\Capture.exe
    在这里插入图片描述
    先勾上使能先进输出.
    然后在点击过滤器.
    在这里插入图片描述
    这是我填好的监测程序的全路径. 对于还没启动的程序, 这时还没有啥PID之类的参数, 只能按照全路径来填写.
    新增要监测的程序操作如下:
    在这里插入图片描述
    如果过滤器中有不想要的检测参数, 如下删除.
    在这里插入图片描述
    点击OK后, 就回到了主界面.
    在这里插入图片描述
    勾选工具条上的6个按钮如下:
    按钮 - 开始捕获
    按钮 - 注册表操作
    按钮 - 文件操作
    按钮 - 网络操作
    按钮 - 进程线程操作
    按钮 - 事件记录

    此时, 主记录窗口是空的, 因为此时目标程序还没启动.
    手工启动目标程序, 此时, 主记录窗口就有源源不断的捕获内容出现.
    等程序启动完成.
    此时, 可以用Procmon菜单上的Find功能去找自己感兴趣的日志内容, 但是太慢了.
    保存成日志, 再用vscode打开, 自己慢慢查找.
    在这里插入图片描述
    在这里插入图片描述
    保存成csv文件, 用普通的文本编辑器打开查找, 可能更灵活.
    用vscode打开日志, 可以查看程序打开时, 读写了哪些文件, 读写了哪些注册表项, 挺有用的.

    "12:32:30.3460467","Capture.exe","153080","FASTIO_READ","D:\Cadence\LicenseManager\license.dat","SUCCESS","Offset: 4,096, Length: 4,096"
    "12:32:30.3461895","Capture.exe","153080","FASTIO_READ","D:\Cadence\LicenseManager\license.dat","SUCCESS","Offset: 8,192, Length: 4,096"
    "12:32:30.3463433","Capture.exe","153080","FASTIO_READ","D:\Cadence\LicenseManager\license.dat","SUCCESS","Offset: 12,288, Length: 4,096"
    ...
    "12:32:45.6931088","Capture.exe","153080","RegOpenKey","HKCU\Software\Classes\.OPJ","SUCCESS","Desired Access: Query Value"
    "12:32:45.6931139","Capture.exe","153080","FASTIO_READ","D:\Cadence\SPB_17.4\tools\bin\Capture.exe","SUCCESS","Offset: 12,634,240, Length: 64"
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    缺点就是日志量太大了, 只能做参考.
    如果可以从程序启动过程的操作日志中找到一些线索, 也是不错的.

    备注

    将日志保存为.PML后, 用Procmon打开后, 还是设置过滤器为目标程序后, 查找.
    虽然速度慢一些, 但是可以精确排除一些不要的内容, 查找的更精确. 更有条理, 总体看, 效率更高.

    END

  • 相关阅读:
    企业防护墙管理,有什么防火墙管理工具?
    计算机毕设 LSTM的预测算法 - 股票预测 天气预测 房价预测
    textarea 让多行输入框 高度随内容变化
    租户配置、sql及代码讲解
    基于嵌入式Qt 开发板蜂鸣器(BEEP)
    数据链路层
    SQL分层查询
    2022牛客多校联赛加赛 题解
    【C语言数据结构】1.单链表
    0-1背包问题
  • 原文地址:https://blog.csdn.net/LostSpeed/article/details/128113412