fsd inline hook

Uniapp-APP后台保活插件(安卓后台保活) Uniapp-APP后台保活插件(安卓后台保活)亲测有效! 阅读详情
这是一段未完成的代码 本来我打算用它来隐藏文件的 可是具体写隐藏文件函数的位置上出现了问题 现在正在思考中 把它发出了主要的目的其实是求助啦 不过我在网上找了好久相关的代码 却没找到 于是发上来跟大家分享一下
代码:
#include "ntddk.h"

typedef BOOLEAN BOOL;
typedef unsigned long DWORD;
typedef DWORD * PDWORD;
typedef unsigned long ULONG;
typedef unsigned short WORD;
typedef unsigned char BYTE;

typedef struct _FILE_BOTH_DIR_INFORMATION {
    ULONG NextEntryOffset;
    ULONG FileIndex;
    LARGE_INTEGER CreationTime;
    LARGE_INTEGER LastAccessTime;
    LARGE_INTEGER LastWriteTime;
    LARGE_INTEGER ChangeTime;
    LARGE_INTEGER EndOfFile;
    LARGE_INTEGER AllocationSize;
    ULONG FileAttributes;
    ULONG FileNameLength;
    ULONG EaSize;
    CCHAR ShortNameLength;
    WCHAR ShortName[12];
    WCHAR FileName[1];
} FILE_BOTH_DIR_INFORMATION, *PFILE_BOTH_DIR_INFORMATION;

typedef struct tag_QUERY_DIRECTORY
{
  ULONG Length;
  PUNICODE_STRING FileName;
  FILE_INFORMATION_CLASS FileInformationClass;
  ULONG FileIndex;
} QUERY_DIRECTORY, *PQUERY_DIRECTORY;

typedef struct  _REQINFO{
  PIO_COMPLETION_ROUTINE    OldCompletion;
} REQINFO,*PREQINFO;

NTSYSAPI NTSTATUS
ObReferenceObjectByName(
            IN PUNICODE_STRING ObjectPath,
            IN ULONG Attributes,
            IN PACCESS_STATE PassedAccessState OPTIONAL,
            IN ACCESS_MASK DesiredAccess OPTIONAL,
            IN POBJECT_TYPE ObjectType,
            IN KPROCESSOR_MODE AccessMode,
            IN OUT PVOID ParseContext OPTIONAL,
            OUT PVOID *ObjectPtr);

typedef  NTSTATUS  (*OLDIRPMJDIRECTORYCONTROL)(IN PDEVICE_OBJECT,IN PIRP);



NTSTATUS HookFastFat();//hook fastfat.sys
NTSTATUS MyCompletionRoutine(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp,IN PVOID Context);//完成示例
VOID write();//写入补丁
VOID write_back();//写回补丁
NTAPI MyDirectoryControl();//这个函数将inline在IRP_MJ_DIRECTORY_CONTROL之前
NTSTATUS Check();//测试一下  其实是硬编码 如果想应用在不同平台 需要改进


PDRIVER_OBJECT  pFile=NULL;//fastfat的PDRIVER_OBJECT
OLDIRPMJDIRECTORYCONTROL  OldIrpMjDirectoryControl;//原来的MajorFunction[IRP_MJ_DIRECTORY_CONTROL]
BOOL hook;//hook标志
PIO_STACK_LOCATION  irpStack;
DWORD        context;//这个用来传递完成示例的地址

// This is our unload function

VOID OnUnload( IN PDRIVER_OBJECT DriverObject )

{

    DbgPrint("OnUnload called/n");
  if (hook)
  {
    write_back();
  }
  //这里我用的方法是inline hook 还可以用下面方法hook IRP
  /*if (OldIrpMjDirectoryControl&&pFile)
  {
    InterlockedExchange((PLONG)&pFile->MajorFunction[IRP_MJ_DIRECTORY_CONTROL],(LONG)OldIrpMjDirectoryControl);
  }*/

}

NTSTATUS DriverEntry(IN PDRIVER_OBJECT theDriverObject,

                     IN PUNICODE_STRING theRegistryPath)

{
    NTSTATUS ntStatus;
    DbgPrint("I loaded!");
    ntStatus=HookFastFat();
    if(!NT_SUCCESS(ntStatus))
      return  ntStatus;
      // Initialize the pointer to the unload function

      // in the DriverObject

    theDriverObject->DriverUnload  = OnUnload;

    return STATUS_SUCCESS;

}
//hook fastfat.sys
NTSTATUS HookFastFat()
{
  char *p;
  int  i;
  NTSTATUS ntStatus;
  UNICODE_STRING  sFastFat;
  WCHAR  FastFatBuffer[]=L"//FileSystem//Fastfat";
  RtlInitUnicodeString(&sFastFat,FastFatBuffer);
  //得到pFile
  ntStatus=ObReferenceObjectByName(&sFastFat,
                  OBJ_CASE_INSENSITIVE,NULL,0,
                  ( POBJECT_TYPE )IoDriverObjectType,
                  KernelMode,NULL,&pFile); 
  
  if(!NT_SUCCESS(ntStatus))
    return ntStatus;
  //保持一下旧的MajorFunction[IRP_MJ_DIRECTORY_CONTROL]
  OldIrpMjDirectoryControl=pFile->MajorFunction[IRP_MJ_DIRECTORY_CONTROL];
  p=(char *)OldIrpMjDirectoryControl;
  //函数地址change hook
  /*if (OldIrpMjDirectoryControl)
  {
    InterlockedExchange((PLONG)&pFile->MajorFunction[IRP_MJ_DIRECTORY_CONTROL],(LONG)MyControl);
  }*/
  //DbgPrint("%08X",p);
  /*for(i=0;i<7;i++)
  {
    DbgPrint("-0x%02X",(unsigned char)p[i]);
  }*/
  //在此处将补丁写入 将hook标志置TRUE
  if(NT_SUCCESS(Check()))
  {
    DbgPrint(" check SUCCESS");
    write();
    hook=TRUE;
  }
  else
    DbgPrint(" check UNSUCCESSFUL");
  return  ntStatus;
}
//测试一下
NTSTATUS Check()
{
  int i=0;
  char *p=(char *)OldIrpMjDirectoryControl;
  char c[]={0x6a,0x18,0x68,0x20,0x3d,0xd8,0xf9};
  for(;i<7;i++)
  {
    DbgPrint("-0x%02X",(unsigned char)p[i]);
    if(p[i]!=c[i])
    {
      return STATUS_UNSUCCESSFUL;
    }
  }
  return STATUS_SUCCESS;
}

//写入补丁
VOID write()
{
  KIRQL oldIrql;
  char *actual_function=(char *)OldIrpMjDirectoryControl;
  char *non_paged_memory;
  unsigned long detour_address;
  unsigned long reentry_address;
  int i = 0;
  //jmp 11223344
  char newcode[] = { 0xEA, 0x44, 0x33, 0x22, 0x11, 0x08, 0x00 };
  //要返回的地址是原来地址+7
  reentry_address = ((unsigned long)OldIrpMjDirectoryControl) + 7; 
  //分配空间 要是NonPagedPool
  non_paged_memory = ExAllocatePool(NonPagedPool,1024);
  //将补丁写入non_paged_memory
  for(i=0;i<1024;i++)
  {
    ((unsigned char *)non_paged_memory)[i] = ((unsigned char *)MyDirectoryControl)[i];
  }
  //将地址保持在detour_address
  detour_address = (unsigned long)non_paged_memory;
  //将11223344替换为真正补丁地址
  *( (unsigned long *)(&newcode[1]) ) = detour_address;

  //将AAAAAAAA替换为真正的返回地址
  for(i=0;i<1024;i++)
  {
    if( (0xAA == ((unsigned char *)non_paged_memory)[i]) &&
      (0xAA == ((unsigned char *)non_paged_memory)[i+1]) &&
      (0xAA == ((unsigned char *)non_paged_memory)[i+2]) &&
      (0xAA == ((unsigned char *)non_paged_memory)[i+3]))
    {
      // we found the address 0xAAAAAAAA
      // stamp it w/ the correct address
      *( (unsigned long *)(&non_paged_memory[i]) ) = reentry_address;
      break;
    }
  }
  oldIrql = KeRaiseIrqlToDpcLevel();
  //写入补丁了
  __asm
  {
            push eax
            mov  eax, CR0
            and  eax, 0FFFEFFFFh
            mov  CR0, eax
            pop  eax
    }

  for(i=0;i < 7;i++)
  {
    actual_function[i] = newcode[i];
  }

  __asm
    {
            push eax
            mov  eax, CR0
            or   eax, NOT 0FFFEFFFFh
            mov  CR0, eax
            pop  eax
    }
  KeLowerIrql(oldIrql);
}
//写回
VOID write_back()
{
  KIRQL oldIrql;
  char *actual_function=(char *)OldIrpMjDirectoryControl;
  //将原来的指令写回 此处用的硬编码
  char c[]={0x6a,0x18,0x68,0x20,0x3d,0xd8,0xf9};
  int i;
  oldIrql = KeRaiseIrqlToDpcLevel();
  __asm
  {
            push eax
            mov  eax, CR0
            and  eax, 0FFFEFFFFh
            mov  CR0, eax
            pop  eax
    }

  for(i=0;i < 7;i++)
  {
    actual_function[i] = c[i];
  }

  __asm
    {
            push eax
            mov  eax, CR0
            or   eax, NOT 0FFFEFFFFh
            mov  CR0, eax
            pop  eax
  }
  KeLowerIrql(oldIrql);
}
//此处为naked 函数 防止编译器放入额外操作码
__declspec(naked) NTAPI MyDirectoryControl(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp)
{
  __asm
  {    
      pushad
      pushfd
  }
  //此处设置IRP CompletionRoutine并将原来的CompletionRoutine地址保存放入context
  irpStack=IoGetCurrentIrpStackLocation(Irp);
  irpStack->Control = 0;
  irpStack->Control |= SL_INVOKE_ON_SUCCESS; 
  irpStack->Context=(PIO_COMPLETION_ROUTINE)ExAllocatePool(NonPagedPool,sizeof(PREQINFO));
  ((PREQINFO)irpStack->Context)->OldCompletion=irpStack->CompletionRoutine;
  irpStack->CompletionRoutine=(PIO_COMPLETION_ROUTINE)MyCompletionRoutine;
  __asm
  {    
      popfd
      popad
  }
  __asm
  {    
    // exec missing instructions
    push  18h
    push    0F9D83D20h
  }
    // jump to re-entry location in hooked function
    // this gets 'stamped' with the correct address
    // at runtime.
    //
    // we need to hard-code a far jmp, but the assembler
    // that comes with the DDK will not poop this out
    // for us, so we code it manually
    // jmp FAR 0x08:0xAAAAAAAA
  __asm
  {
    _emit 0xEA
    _emit 0xAA
    _emit 0xAA
    _emit 0xAA
    _emit 0xAA
    _emit 0x08
    _emit 0x00
  }
}
//CompletionRoutine 
NTSTATUS MyCompletionRoutine(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp,IN PVOID Context)
{
  PIO_COMPLETION_ROUTINE old;
  old=((PREQINFO)Context)->OldCompletion;
  DbgPrint("MyCompletionRoutine called");
  ExFreePool(Context);
  if ((Irp->StackCount>(ULONG)1)&&(old!=NULL))
  {
    return  (old)(DeviceObject,Irp,NULL);
  }
  else
    return  Irp->IoStatus.Status;
}

 


docker-compose Install OrangeHRM OrangeHRM是一个全面的人力资源管理HRM) 系统,它包含任何企业所需的所有基本功能。OrangeHRM旨在支持任何规模的团队,包括初创企业、中小企业以及大型跨国组织。 阅读详情

相关推荐

Libero SoC v2021.1离线安装与IP核配置全攻略

本文详细介绍了Libero SoC v2021.1在离线环境下的完整安装与配置流程。核心内容包括如何选择正确的离线安装包、获取并配置许可证、安装与挂载MegaVault IP库,以及将ModelSim仿真器切换至免费SE模式的关键步骤。文章旨在帮助内网开发者避开常见陷阱,顺利完成FPGA开发环境的搭建。

weixin_29279101的博客 408

FSD's Inline Hook & EAT modify check Completed

   瞎折腾个半天,太菜, 之前也没怎么搞过检测程序,于是匆匆逆了下几个无壳的ARK,结合R3和R0,加上自己的一些总结,胡弄了个DEMO. 目前仅仅是遍历检测ntoskrnl.exe EAT(没加SSDT), 对于fastfat.sys/ntfs.sys/disk.sys等模块还没有检测,不过弄起来也很快, 支持对未导出函数 、Push+ret 等的HOOK检测,不过很脆弱,后期继续加强检

1325

Avellaneda & Stoikov’s market-making strategy 工程化处理

前2篇文章详细介绍了AS存货模型的做市策略,这次对于这些公式里面一些希腊字母的取值是如何计算的,如何做工程化并应用到生产环境中做一些说明。这个里面有一些重要参数:很直观,可以直接取值的有:s = current market mid price (中间价,也就是【最佳卖价+最佳买价】/2)q = quantity of assets in inventory of base asset (也就是买入多少价值的股票数量)

weixin_42480337的博客 7069

R0 下 FSD inline Hook 防删除

<br />/*<br />                By 炉子[0GiNr]<br />                http://hi.baidu.com/breakinglove_<br />                http://0ginr.com<br />*/<br />typedef NTSTATUS (*pfnDrvDispath)(<br />                                  IN PDEVICE_OBJECT        DeviceOb

Rootkit ﹏ 1053

Mac 环境配置jdk、Maven

3、终端打开配置jdk时候建好的脚本文件: open -e .bash_profile。4、查看maven是否安装成功和系统能不能识别maven/mvn命令:⬇️。输入⬇️并保存: 其中第一行JAVA_HOME替换为自己下的jdk路径。,安装编译好的二进制版本,具体安装zip还是tar.gz我看的。5、查看jdk是否安装成功和系统能不能识别java命令:⬇️。至此,我的Mac系统的环境配置jdk、Maven完成!然后就发现我的maven命令还是没作用,不识别,下载后直接安装即可,很快,点几下就OK了。

weixin_42416791的博客 4400

Cursor Agent模式下如何优雅切换conda环境运行Python脚本?3种实用方法实测

本文针对Cursor Agent模式下运行Python脚本时环境错配的痛点,实测了三种优雅切换conda环境的实用方法。通过Shell全局配置、项目级.cursorrc文件定制以及对话中直接指令,开发者可以确保AI助手在正确的虚拟环境中执行代码,从而提升开发效率和协作流畅度。

redis7keeper的博客 597

对付kernel / fsd inline hook/ssdt hook

<!-- if (!document.phpAds_used) document.phpAds_used = ,; phpAds_random = new String (Math.random()); phpAds_random = phpAds_random.substring(2,11); document.write ("<" + "script

1072

QGIS|如何将WGS84转换为CGCS 2000坐标系?

QGIS 3中如何将WGS84转换为国家2000大地坐标系? 今天来回答一位朋友在后台留言提出的问题:怎么将WGS84坐标转换为国家2000大地坐标系。 01工程坐标系 从地图窗口右下角的状态栏可以看到当前地图窗口的坐标系,即工程坐标系(Project CRS)。当前地图可以由多个图层组成,各种来源数据的坐标参照系(Layer CRS)并不一定相同,QGIS在绘制图层之前将根据工程坐标系进行动态坐标转换,然后显示在地图画布中。 因此,在处理空间数据的过程中,一定要特别注意...

QGISClass的博客 1万+

FSD HOOK与SSDT HOOK恢复简单思路

FSD 解释: File System Driver文件系统驱动程序,分为本地FSD和远程FSD。 (1) 本地FSD:允许用户访问本地计算机上的数据 ——本地FSD负责向I/O管理器注册自己,当开始访问某个卷时,I/O管理器调用FSD来进行卷识别。 ——完成卷识别后,本地FSD创建一个设备对象以表示所装载的文件系统。 ——I/O管理器通过卷参数块(VPB)在存...

weixin_34292924的博客 401

Dify智能体开发:Dify文件上传

相较于聊天文本,文档文件能够承载大量的信息,例如学术报告、法律合同。受限于 LLM 自身仅能够支持文件或图片,难以获取文件内更加丰富的上下文信息,应用的使用者不得不手动复制粘贴大量信息与 LLM 对话,增加了许多不必要的使用成本。

王国平的博客 2591

Microsoft Bitlocker企业级管理部署方案

BitLocker是Windows 10以及更高版本中内置的磁盘加密工具,是一种可靠的数据保护机制,可以保护计算机上的敏感数据不被未经授权的人访问。BitLocker的工作原理是将整个系统卷或其他数据卷加密的同时,向某个可信软件或硬件模块请求密钥解密数据。BitLocker最大的好处在于其内置于Windows系统,所以用户无需安装其他软件或购买额外的许可证或硬件设备。本文将介绍Microsoft BitLocker企业级管理部署方案,包括:BitLocker部署前的准备工作。

xueyunshengling的博客 2075

r0下FSD inline hook防删除

只拦截了Ntfs.sys上的,FastFat同Ntfs。感觉更像是一个inline hook的例子 呵呵 :)引用:/*                By 炉子[0GiNr]                http://hi.baidu.com/breakinglove_                http://0ginr.com*/typedef NTSTATUS (*pfnD

1721

手把手完整实现STM32+LORA组网网关+机智云平台+手机APP应用———第一节- 一主多从的LORA本地组网通信-实现从机采集温湿度与主机显示数据

本教程为《手把手实现STM32+LORA组网网关+机智云平台+手机APP应用》第一节。实现一个主机,两个从机的LORA组网通信。两个从机采集温湿度数据并通过LORA传输数据到主机,然后主机接收到两个从机数据后进行数据显示,本节通过PC串口助手显示两个从机的数据。 下一节将其主机接收的数据通过WIFI网关(ESP8266)传到机智云平台与手机APP。 本文讲解一主多从的LORA本地组网通信,串口助手进行数据展示。使用硬件主要包括:STM32F103C8T6最小系统板(3个)、正点原子LORA模块ATK-L

嵌入式阿齐Archie 1万+

木马的隐藏与自我保护技术

   大家可能用一些工具时会用到SSDT检查图,可能会显示的结果是某个驱动(CdnProt.sys)HOOK了一堆的服务函数。你是不是感觉到很高深,莫怕,今天看到一位前辈通过实例给我们很贴切的解释了一下各个名词.  下面我用一个比喻来形容一下儿这些电脑名词与木马技术的实现机制。  Windows(操作系统)就像一个为我们服务的管理公司,这个公司呢帮我们管理着我们的电脑。一个公司当然不会是一个人,他...

海滨的世界 308

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【解读黑客】何为Rootkit?

1、何为Rootkit?(结合AIDS加深理解) Rootkit自身也是木马后门或恶意程序的一类,只是,它很特殊,为什么呢?因为,你无法找到它。 正如自然界的规则一样,最流行的病毒,对生物的伤害却是最小的,例如一般的感冒,但是最不流行的病毒,却是最夺命的。Rootkit木马就是信息世界里的 AIDS(爱滋病),一旦感染,就难以用一般手段消灭了,因为它和自然界里的同类做的事情一样,破坏了系统...

茗染云华 荆挑赋樱 1875

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

The Source and Develop of RootKit

Rootkit自身也是木马后门或恶意程序的一类,只是,它很特殊,为什么呢?因为,你无法找到它。正如自然界的规则一样,最流行的病毒,对生物的伤害却是最小的,例如一般的感冒,但是最不流行的病毒,却是最夺命的。Rootkit木马就是信息世界里的AIDS,一旦感染,就难以用一般手段消灭了,因为它和自然界里的同类做的事情一样,破坏了系统自身检测的完整性——抛开术语的描述也许难以理解,但是可以配合

吹风堂 1518

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

[转贴] 扫盲转贴:Rootkit技术发展史

<br />Rootkit的技术发展史2008年08月20日 星期三 19:46转自:云南博客 <br /><br />    一. 无法驱逐的“助手”<br /><br />         网管小张正在手忙脚乱的寻找他的手工杀毒工具包,因为他在安装一个网管工具的时候无意中走了神,点击了“下一步”按钮后才惊觉安装程序的界面里一个 不引人注目的角落里写着“安装CNNIC网络实名”这一行小字,而且最开头部分有一个小小的勾。于是著名的 “中国网民的得力助手”便理所当然的在他的机器里安了家。 <br

yangcock的专栏 590

基于CallStack的反Rootkit HOOK检测

Anti-Rootkit目前扫描Hook的方法主要有以下几种:   1.对抗inline -hook ,IAT/EAT Hook   Anti-Rootkit使用读取磁盘上系统文件并将之进行map\重定位后,同内存中的代码进行对比的方法来检测inline hook(或EAT/IAT HOOK,后同),类似的工具例如Rootkit Unhooker, gmer, Icesword等等。

1554

基于CallStack的Anti-Rootkit HOOK检测思路

基于CallStack的Anti-Rootkit HOOK检测思路:MJ00112007-11-2th_decoder@126.comAnti-Rootkit目前扫描Hook的方法主要有以下几种:1.对抗inline -hook ,IAT/EAT HookAnti-Rootkit使用读取磁盘上系统文件并将之进行map/重定位后,同内存中的代码进行对比的方法来检测inline hook(或EAT/I

1731

Windows驱动学习(八)-- 通过InlineHook实现变速齿轮

教程参考自:https://www.bilibili.com/video/av26193169/?p=9 代码地址:https://github.com/G4rb3n/Windows-Driver/tree/master/MT_InlineHook 1. 概述 之前的章节我们介绍了FSD Hook技术,这章我们来讲解一下更底层一点的Inline Hook技术。 2. 原理介绍 Inline Hoo...

安全杂货铺 4269

PCHunter 1.57 —— 有效期到2099年的系统安全助手

PCHunter 1.57 —— 有效期到2099年的系统安全助手 去发现同类优质开源项目:https://gitcode.com/ 简介 PCHunter 1.57 是一款功能强大的系统信息查看工具,也是一款优秀的手动杀毒神器。本版本有效期至2099年,让您无需担心有效期问题,放心使用。 功能特点 PCHunter 中文版具备以下功能特点: 进程管理:查看进程、线程、进程模块、进程窗口、进程内...

gitblog_06733的博客 1205

系统检测维护工具Wsycheck使用(18)

windows操作系统的基本知识如:进程、网络、服务和文件等的了解。 Wsycheck是一款强大的系统检测维护工具,进程和服务驱动检查,SSDT强化检测,文件查询,注册表操作,DOS删除等一应俱全。也可以理解为一款手动清理病毒木马的工具,其目的是简化病毒木马的识别与清理工作。 本实验需要实验者基本掌握Windows操作系统的基本知识如:进程、网络、服务和文件等。

yyj1781572的博客 908

PCHunter 1.57有效期到2099年的系统安全助手:项目的核心功能/场景

PCHunter 1.57有效期到2099年的系统安全助手:项目的核心功能/场景 去发现同类优质开源项目:https://gitcode.com/ 系统安全维护的核心在于高效的监控与管理。PCHunter 1.57,有效期至2099年,是您长期可靠的系统安全助手,具备强大的系统信息查看与威胁处理功能。 项目介绍 PCHunter 1.57,作为一款开源的系统信息查看工具,同时也是一种高效的手动安全...

gitblog_06723的博客 645

鄙视 CNNIC中文上网 ,感谢360

强烈鄙视 CNNIC中文上网 , 删也删不掉,卸载也不行,还会使360无法启动。后来还是在360上找到了一个专杀工具。才成功了。 工具:http://dl.360safe.com/killer_cnnic.exe CNNIC中文上网专用简介:CNNIC(中国互联网络信息中心)旗下的“CNNIC中文上网”在诸多民意测试中均为网民投诉量名列前三甲的恶意软件,网民使用奇虎360安全卫士主动卸载CNNIC...

三味书屋 266

操作系统安全---实验五:系统检测维护工具Wsycheck使用

一、实验目的及要求 (1)学习Wsycheck的基本功能; (2)掌握Wsycheck的基本使用方法; 二、实验原理 windows操作系统的基本知识如:进程、网络、服务和文件等的了解。 Wsycheck是一款强大的系统检测维护工具,进程和服务驱动检查,SSDT强化检测,文件查询,注册表操作,DOS删除等一应俱全。也可以理解为一款手动清理病毒木马的工具,其目的是简化病毒木马的识别与清理工作。 三、实验环境 Windows XP SP3 四、实验步骤及内容 4.1:了解程序主界面 4...

weixin_70557959的博客 2241

实验五:系统检测维护工具Wsycheck使用

一、实验目的及要求 (1)学习Wsycheck的基本功能; (2)掌握Wsycheck的基本使用方法; 二、实验原理 windows操作系统的基本知识如:进程、网络、服务和文件等的了解。 Wsycheck是一款强大的系统检测维护工具,进程和服务驱动检查,SSDT强化检测,文件查询,注册表操作,DOS删除等一应俱全。也可以理解为一款手动清理病毒木马的工具,其目的是简化病毒木马的识别与清理工作。 三、实验环境 Windows XP SP3 四、实验步骤及内容 4.1:了解程序主界面 4.1.

weixin_46544151的博客 1934
上一篇: 还原系统保护技术原理和攻防
下一篇: 过滤驱动中创建IRP时IO堆栈单元的细节处理
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值