windbg脚本实践1----监控特定文件创建 删除 读写

windbg脚本方便灵活,但是语法古怪,使用的人不多。windbg扩展功能强大,但是使用的人也很少。抛砖引玉吧。

此脚本可以监控到

a 任意时机 开关机时刻  (挂shutdown 删文件 或者开机挂回调特定时刻删文件)

b 任意底层穿透驱动  bapidrv  tsyskit  kisapi pchunter  对文件进行的删除 创建 粉碎等敏感操作

$$*****************************************************************
$$ Script by kms_hhl to monitor file create read write delete and show call stack
$$ Create Time 2014_11
$$ Execute by $$><D:\BaiduYunTongBu\百度云同步盘\windbg_sc\1sc_file_monitor.txt
$$*****************************************************************

bp Ntfs!NtfsFsdSetInformation"
r $t0=poi(poi(poi(esp+8)+64)+34)
as /mu $FileNameA $t0
.block
{
.if ($spat(\" ${$FileNameA} \",\" *virus.dll* \"))
	{
		.echo found the pattern
		.echo $FileNameA
		ad *
	}
.else
	{
		.echo not found the pattern
		.echo ‘ $FileNameA ‘
		ad *
		gc
	}
}"

bp Ntfs!NtfsSetRenameInfo"
r $t1=poi(poi(poi(esp+c)+64)+34)
as /mu $FileNameB $t1
.block
{
.if ($spat(\" ${$FileNameB} \",\" *virus.dll* \"))
	{
		.echo found the pattern
		.echo $FileNameB
		ad *
	}
.else
	{
		.echo not found the pattern
		.echo ‘ $FileNameB ‘
		ad *
		gc
	}
}"

bp Ntfs!NtfsSetDispositionInfo"
r $t2=poi(poi(poi(esp+c)+64)+34)
as /mu $FileNameC $t2
.block
{
.if ($spat(\" ${$FileNameC} \",\" *virus.dll* \"))
	{
		.echo found the pattern
		.echo $FileNameC
		ad *
	}
.else
	{
		.echo not found the pattern
		.echo ‘ $FileNameC ‘
		ad *
		gc
	}
}"

  

时间: 2025-01-05 05:20:05

windbg脚本实践1----监控特定文件创建 删除 读写的相关文章

windbg脚本实践2----监控特定注册表键值创建和删除

在Cmxxkey层面下断点,配合bp /t (/p)  命令可以监控指定线程 进程 对指定注册表键值的创建和删除. $$***************************************************************** $$ Script by kms_hhl to monitor regvalue delete set $$ Create Time 2014_11 $$ Execute by $$><D:\BaiduYunTongBu\百度云同步盘\windb

windbg脚本实践3----监控特定进程创建

$$***************************************************************** $$ Script by kms_hhl to monitor process create and show call stack $$ Create Time 2014_11 $$ nt5 NtCreateProcess->NtCreateProcessEx->PspCreateProcess $$ nt6 NtCreateUserProcess $$ E

使用shell脚本简单模拟对特定文件同时读写操作

使用shell脚本简单模拟对特定文件同时读写操作文件内容的格式:field1    ,       field2    , field3    ,       field4以,为分隔符,但是存在空格. 脚本用法如下: ./check_write_read.sh 10 输出结果: Thu Apr 27 19:59:44 CST 2017:Read operation finished 670 Thu Apr 27 19:59:44 CST 2017:Write operation finished

zabbix 监控特定进程

由于一些服务器上跑着一些重要程序,需要对它们进行监控,公司用的是zabbix监控,之前都是在zabbix中添加自定义脚本对特定程序进行监控,最近看了zabbix的官方文档,发现原来强大的zabbix居然能监控程序是否运行,并能监控其使用的内存大小,以下是我的实践记录: 1. 在特定机器或模板上创建新的监控项,点击Key 后面的Select 按钮,选择如下两项,一项是用来监控特定进程的数量,另一项是用来监控进程使用内存的大小. 2.以下是对squid进程的监控配置,key中的参数说明,第一个参数是

zabbix监控特定进程

由于一些服务器上跑着一些重要程序,需要对它们进行监控,公司用的是zabbix监控,之前都是在zabbix中添加自定义脚本对特定程序进行监控,最近看了zabbix的官方文档,发现原来强大的zabbix居然能监控程序是否运行,并能监控其使用的内存大小,以下是我的实践记录: 1.在特定机器或模板上创建新的监控项,点击Key 后面的Select 按钮,选择如下两项,一项是用来监控特定进程的数量,另一项是用来监控进程使用内存的大小. 2.以下是对squid进程的监控配置,key中的参数说明,第一个参数是进

脚本实践1

试卷1:脚本如下, #!/bin/bash DEVICE=eth0 IPADDR=123.123.123.123 DEVICE=eth1 GATEWAY=4.3.2.1 说明:需要将重复出现的DEVICE那一行删除,同时保存第一次出现的,实现的结果如下: #!/bin/bash DEVICE=eth0 IPADDR=123.123.123.123 GATEWAY=4.3.2.1 解决方案: 1)sed  -i  's/DEVICE*//2g'  test -i 将结果重定向到源文件,2代表是从第

Appium - monkey自定义脚本实践(四)

monkey自定义脚本实践 一.获取元素坐标点位置 二.Monkey脚本API简介 常规Monkey测试执行的是随机的事件流,但如果只是想让Monkey测试某个特定场景这时候就需要用到自定义脚本了,Monkey支持执行用户自定义脚本的测试,用户只需要按照Monkey脚本的规范编写好脚本,存放到手机上,启动Monkey通过-f 参数调用脚本即可. LaunchActivity(pkg_name, cl_name):启动应用的Activity.参数:包名和启动的Activity.Tap(x, y,

Linux基础之-利用shell脚本实现自动监控系统服务

目的:监控集群内nginx及nfs服务运行是否正常,如任一服务异常,则发送邮件通知用户 条件:1. 主机及子机IP地址,hostname已确定: 2. 主机与子机能够免密通讯,即基于密匙通讯(相关命令:ssh-keygen;ssh-copy-id -i web1); 需要的文件:    1. python邮件发送工具: 2. nfc.sh监控脚本,监控nginx及nfs服务状态,并调用mail发送工具通知用户: 3. nfc-install.sh监控部署脚本,运行在主机,为子机配置文件,执行命令

shell脚本实现LLD监控

要实现Zabbix LLD监控,通常需要两个脚本,一个自定义发现check脚本,并输出成Json格式,另一个才是获取监控项valus的脚本. 自定义发现checks脚本输出结果为以下形式: {     "data": [         {             "{#APP_NAME}": "AppCMDB"         },          {             "{#APP_NAME}": "Ap