当前位置: 操作系统/服务器>windows
本页文章导读:
▪出现多个ashwebsv.exe怎么处理 出现多个ashwebsv.exe怎么办?我装的是avast杀毒软件,近几天,进程中出现了多个ashwebsv.exe进程,而且导致系统非常慢,把这几个进程结束后,系统就快了,请问该如何处理?不想删除avast软件.........
▪ 做过SSDT HOOK 或者 懂驱动的帮忙看下代码解决方案 做过SSDT HOOK 或者 懂驱动的帮忙看下代码这是很简单的一个SSDT HOOK CreateSection的例子,为了测试,我仅仅是把原函数换个地方执行而已,可是每次服务启动后,就无法打开程序了,好像原函数.........
▪ 沉痛悼念王江民先生!解决方法 沉痛悼念王江民先生!!!大家说点什么吧! 讣告 北京江民新科技术有限公司董事长王江民先生于2010年4月4日9:20因病在北京逝世,享年59岁。 .........
[1]出现多个ashwebsv.exe怎么处理
来源: 互联网 发布时间: 2014-02-18
出现多个ashwebsv.exe怎么办?
我装的是avast杀毒软件,近几天,进程中出现了多个ashwebsv.exe进程,而且导致系统非常慢,把这几个进程结束后,系统就快了,请问该如何处理?不想删除avast软件
直接删除或禁止该程序运行得了
我最近才注意ashWebSv.exe,经常看这个进程的的内存占用,这个进程经常物理内存占用飚到55M左右,虚拟内存占用一般维持在28M左右,当重开机后ashWebSv.exe的物理内存占用又可以看到大约1-3M左右。如果你发现ashWebSv.exe的物理内存占用太大,而又不想重启的话,最好的办法是右击小a的托盘图标,停止网页防护模块,ashWebSv.exe消失,然后打开自动防护设置打开网页防护模块,这时ashWebSv.exe又出来了,物理内存占用仅1-3M了。我估计这是BUG,也无所谓了,马上5.0就出来了,哈哈!
以上引自:http://bbs.kafan.cn/thread-567272-1-1.html
我装的是avast杀毒软件,近几天,进程中出现了多个ashwebsv.exe进程,而且导致系统非常慢,把这几个进程结束后,系统就快了,请问该如何处理?不想删除avast软件
直接删除或禁止该程序运行得了
我最近才注意ashWebSv.exe,经常看这个进程的的内存占用,这个进程经常物理内存占用飚到55M左右,虚拟内存占用一般维持在28M左右,当重开机后ashWebSv.exe的物理内存占用又可以看到大约1-3M左右。如果你发现ashWebSv.exe的物理内存占用太大,而又不想重启的话,最好的办法是右击小a的托盘图标,停止网页防护模块,ashWebSv.exe消失,然后打开自动防护设置打开网页防护模块,这时ashWebSv.exe又出来了,物理内存占用仅1-3M了。我估计这是BUG,也无所谓了,马上5.0就出来了,哈哈!
以上引自:http://bbs.kafan.cn/thread-567272-1-1.html
[2] 做过SSDT HOOK 或者 懂驱动的帮忙看下代码解决方案
来源: 互联网 发布时间: 2014-02-18
做过SSDT HOOK 或者 懂驱动的帮忙看下代码
这是很简单的一个SSDT HOOK CreateSection的例子,为了测试,我仅仅是把原函数换个地方执行而已,可是每次服务启动后,就无法打开程序了,好像原函数换个地方就错误了··好奇怪,照常,我贴出代码:
C/C++ code
这是很简单的一个SSDT HOOK CreateSection的例子,为了测试,我仅仅是把原函数换个地方执行而已,可是每次服务启动后,就无法打开程序了,好像原函数换个地方就错误了··好奇怪,照常,我贴出代码:
C/C++ code
#include "ntddk.h" #pragma pack(1) typedef struct _SYS_SERVICE_TABLE { void*ServiceTable;//指向函数表地址 void *CounterTable; //指向函数调用次数记录表,用于调试阶段 unsigned long ServiceLimit; //服务数 void*ArgumentsTable; //参数表 }SYS_SERVICE_TABLE,*PSSDT; //系统服务表述表 SYS_SERVICE_TABLE #pragma pack() extern PSSDT KeServiceDescriptorTable; PMDL g_pmdlSystemCall;//MDL指针 void *MappedSSDT;//用于保存我们使用MDL描述的原SSDT表的地址,这个地址的SSDT的内存保护设为了“可写” const WCHAR devicename[]=L"\\Device\\Protector";//设备名 const WCHAR devicelink[]=L"\\DosDevices\\PROTECTOR";//设备符号连接名 typedef NTSTATUS (*CREATESECTION)(OUT PHANDLE SectionHandle,IN ACCESS_MASK DesiredAccess,IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,IN PLARGE_INTEGER MaximumSize OPTIONAL,IN ULONG SectionPageProtection,IN ULONG AllocationAttributes,IN HANDLE FileHandle OPTIONAL); CREATESECTION RealCallee;//保存原先本来该调用的函数地址 ULONG SSDT_Address;//用于保存相关函数的地址,用于最后退出程序时修改过来 //-----------------------------------------判断是否允许使用------------------------------------- //this function decides whether we should allow NtCreateSection() call to be successfull NTSTATUS MyCreateSection(OUT PHANDLE SectionHandle,IN ACCESS_MASK DesiredAccess,IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,IN PLARGE_INTEGER MaximumSize OPTIONAL,IN ULONG SectionPageProtection,IN ULONG AllocationAttributes,IN HANDLE FileHandle OPTIONAL) { return RealCallee(SectionHandle,DesiredAccess,ObjectAttributes,MaximumSize,SectionPageProtection,AllocationAttributes,FileHandle); } //----------------------------Dispatch Routine-------------------------------- NTSTATUS DrvDispatch(IN PDEVICE_OBJECT device,IN PIRP Irp) { ULONG Input; //暂存 PIO_STACK_LOCATION loc=IoGetCurrentIrpStackLocation(Irp);//获取IRP堆栈地址 if(loc->Parameters.DeviceIoControl.IoControlCode==1000)//如果是自己制定的操作,操作号设成了1000,见主程序代码 { SSDT_Address=(ULONG)(((PSSDT)MappedSSDT)->ServiceTable)+4*50;//获取函数在的SSDT表的表项地址 RealCallee=(CREATESECTION)(*((ULONG*)SSDT_Address));//记录真实的被调用者 Input=(ULONG)MyCreateSection;//赋给Input RtlMoveMemory((ULONG*)SSDT_Address,&Input,4);//把我们自己的函数地址放到SSDT中 } Irp->IoStatus.Status=0; IoCompleteRequest(Irp,IO_NO_INCREMENT); return 0; } //---------------------------------打开关闭请求的处理-------------------------------------- // nothing special NTSTATUS DrvCreateClose(IN PDEVICE_OBJECT device,IN PIRP Irp) { Irp->IoStatus.Information=0; Irp->IoStatus.Status=0; IoCompleteRequest(Irp,IO_NO_INCREMENT); return 0; } //------------------------------------------------------------------------ // nothing special -just a cleanup void DrvUnload(IN PDRIVER_OBJECT driver) { UNICODE_STRING devlink; RtlMoveMemory((PVOID)SSDT_Address,&RealCallee,4);//把原地址复原 if(g_pmdlSystemCall) { MmUnmapLockedPages(MappedSSDT,g_pmdlSystemCall);//取消MDL内存映射 MmUnlockPages(g_pmdlSystemCall);//取消内存锁定 IoFreeMdl(g_pmdlSystemCall); } RtlInitUnicodeString(&devlink,devicelink); IoDeleteSymbolicLink(&devlink); IoDeleteDevice(driver->DeviceObject); KdPrint(("驱动卸载完毕.\n")); } //-------------------------------------------------------------------- //DriverEntry just creates our device - nothing special here 初始化映射SSDT NTSTATUS DriverEntry(IN PDRIVER_OBJECT driver,IN PUNICODE_STRING path) { PDEVICE_OBJECT devobject; UNICODE_STRING devlink,devname;//设备符号链接名和设备名 devobject=0; RtlInitUnicodeString(&devname,devicename);//赋值 RtlInitUnicodeString(&devlink,devicelink); IoCreateDevice(driver,256,&devname,FILE_DEVICE_UNKNOWN,0,TRUE,&devobject);//创建设备 IoCreateSymbolicLink(&devlink,&devname);//把符号链接名和设备名相关联 driver->MajorFunction[IRP_MJ_DEVICE_CONTROL]=DrvDispatch;//设置设备控制的IRP都由DrvDispatch来处理 driver->MajorFunction[IRP_MJ_CREATE]=DrvCreateClose;//设置设备打开的IRP由DrvCreateClose来处理 driver->MajorFunction[IRP_MJ_CLOSE]=DrvCreateClose;//设置设备关闭的IRP由DrvCreateClose来处理 driver->DriverUnload=DrvUnload;//唯一一个不放在分发函数中的函数:卸载函数,允许动态卸载驱动。 g_pmdlSystemCall =IoAllocateMdl(KeServiceDescriptorTable->ServiceTable,KeServiceDescriptorTable->ServiceLimit*4,FALSE,FALSE,NULL);//创建分配一个MDL if(!g_pmdlSystemCall) return STATUS_UNSUCCESSFUL; MmBuildMdlForNonPagedPool(g_pmdlSystemCall);//初始化MDL页码数组 //g_pmdlSystemCall->MdlFlags = g_pmdlSystemCall->MdlFlags | MDL_MAPPED_TO_SYSTEM_VA;// 改变MDL的flags为可读状态 MmProbeAndLockPages(g_pmdlSystemCall,KernelMode,IoWriteAccess);//在内存中锁定,并且指明对它的改写权力 MappedSSDT=MmMapLockedPagesSpecifyCache( g_pmdlSystemCall, KernelMode, MmCached,//是否允许用作CPU缓冲区,有三个可选的枚举值 MmNonCached=0 NULL,//当第二个参数为UserMode的时候才有效 FALSE,//如果发生错误,直接返回NULL NormalPagePriority//表明成功开辟这个空间的重要性 ); //获取映射内存区地址 return 0; }
[3] 沉痛悼念王江民先生!解决方法
来源: 互联网 发布时间: 2014-02-18
沉痛悼念王江民先生!!!
大家说点什么吧!
讣告
北京江民新科技术有限公司董事长王江民先生于2010年4月4日9:20因病在北京逝世,享年59岁。
特此讣告!
北京江民新科技术有限公司
2010年4月5日
王先生的汇编是很强的。。。
具有传奇色彩的老一代编程专家
王江民,江民科技董事长兼总经理。
1951年出生于上海。三岁因患小儿麻痹后遗症而腿部残疾,人生赋予他的似乎是一条不可能成功的路;初中毕业后,回到老家山东烟台的王江民从一名街道工厂的学徒工干起,刻苦自学,成长为拥有各种创造发明20多项的机械和光电类专家。
1979年,因为在激光产品方面获得多项国内外先进水平的科研成果,王江民被评选为全国首批105个新长征突击手标兵之一。
1985年,获得“全国青年自学成才标兵”称号;
1989年,王江民38岁开始学习计算机;不出几年,他就成为中国最早的反病毒专家。
1991年,被命名为“全国自强模范”。
1996年,王江民打一辆黄色的“面的”来到北京中关村,开始了他的创业之路。
2003年,王江民靠着他的杀毒软件,挤身“中国IT富豪榜50强”;成为新世纪“知识英雄”的典范。
=------------------------------------------------
不容易啊,向他学习。。。
最开始用的杀软就是KV了
人这辈子真不容易,大家珍惜吧
汇编强人 哎 愿他一路走好
在天津的山东人发来唁电:深切哀悼老乡。
大家说点什么吧!
讣告
北京江民新科技术有限公司董事长王江民先生于2010年4月4日9:20因病在北京逝世,享年59岁。
特此讣告!
北京江民新科技术有限公司
2010年4月5日
王先生的汇编是很强的。。。
具有传奇色彩的老一代编程专家
王江民,江民科技董事长兼总经理。
1951年出生于上海。三岁因患小儿麻痹后遗症而腿部残疾,人生赋予他的似乎是一条不可能成功的路;初中毕业后,回到老家山东烟台的王江民从一名街道工厂的学徒工干起,刻苦自学,成长为拥有各种创造发明20多项的机械和光电类专家。
1979年,因为在激光产品方面获得多项国内外先进水平的科研成果,王江民被评选为全国首批105个新长征突击手标兵之一。
1985年,获得“全国青年自学成才标兵”称号;
1989年,王江民38岁开始学习计算机;不出几年,他就成为中国最早的反病毒专家。
1991年,被命名为“全国自强模范”。
1996年,王江民打一辆黄色的“面的”来到北京中关村,开始了他的创业之路。
2003年,王江民靠着他的杀毒软件,挤身“中国IT富豪榜50强”;成为新世纪“知识英雄”的典范。
=------------------------------------------------
不容易啊,向他学习。。。
最开始用的杀软就是KV了
人这辈子真不容易,大家珍惜吧
汇编强人 哎 愿他一路走好
在天津的山东人发来唁电:深切哀悼老乡。
最新技术文章: