什么是隐身术呢?哈利波特在实验室里穿上隐身衣,教授就看不见他们了;孙悟空72变,隐个身那也是小菜一碟。总之,隐身术就是在一定环境下让别人看不到自己。做坏事肯定不想被抓住,所以就找一些方法来隐藏自己的痕迹。目前我知道的有2种:1,通过设置文件的属性来实现文件隐藏,这种方法操作简单,效果可以达到,但留下了一些马脚(当通过正常操作打开文件夹时,在窗体的最下端有一块位置会显示-----有多少个对象,这时如果有隐藏对象(通过这种方法实现的 )就会发现后面还有一个括号---有几个隐藏对象;2,通过内核模块在文件系统上作手脚,这种方法与上一个比实现起来就要麻烦很多了。它的主要思路是创建DeviceObejct并Attach(附加)到文件设备对象上(也就是C盘)来处理IRP,检测对应的操作参数中是否与要保护的文件名相关,如果是,就返回不存在。下面是一个内核模块实现文件隐藏的关键部分:
    mov  ebx,ds:MmIsAddressValidpush esi   ;保存现场push edimov  edi,[ebp+Irp]mov  esi,[edi+60h]    ;PIO_STACK_LOCATION CurrentStackLocation    ---esimov  eax,[esi+0ch]mov  [esp+20h+var_8],eaxmov  eax,[esi+10h]mov  [esp+20h+var_4],eaxmov  eax,[esi+4]inc  byte ptr [edi+23h] ;CurrentLocationmov  [esp+20h+var_10],eaxlea  eax,[esi+24h]mov  [edi+60h],eaxcmp  byte ptr [esi],0 ;CurrentStackLocation->MajorFunction==IRP_MJ_CREATE=0jnz  short loc_10400push dword ptr [esi+18h] ;CurrentStackLocation->FileObject call ebx  ;MmIsAddressValid    test al,al    ;0---->失败  jz   short loc_10400  mov  eax,[esi+18h]push dword ptr [eax+34h] ;FileObject->FileName.Buffer  call ebx test al,al jz   short loc_10400 mov  eax,[esi+18h]mov  eax,[eax+34h]mov  edx, offset (要隐藏文件名的地址) call CompareStr  ;比较字符串,相等返回0  test eax,eax jnz  short loc_10400  mov  eax,[edi+28h] ;Irp->UserIosb mov  esi,0C0000034h ;#define STATUS_OBJECT_NAME_NOT_FOUND ((NTSTATUS)0xC0000034hL)  mov  [edi+18h],esi; Irp->IoStatus.Status=esi xor  dl,dlmov  ecx,edi mov  [eax],esi  ;UserIosb->Status=esi call ds:IofCompleteRequest ;f代表fastcall函数调用方式,ecx,edx 用来装载实参  ;IoCompleteRequest()表明完成对I/O request所有的加工处理,将 IRP 还给 I/O manager(翻译自ddk文档)

紧接着还有关于IRP_MJ _READ和IRP_MJ_QUERY_INFORMATION的处理,和上面类似,但要复杂一点。

病毒常用方法之隐身术相关推荐

  1. 木马病毒隐身穿墙术解密之修改特征码和加壳

    木马病毒隐身穿墙术解密之修改特征码和加壳 作者:比特网 | 比特网 本文关键词:安全 病毒 木马 现在,木马病毒在各种安全防范措施的拦截之下,依然没有任何减少的迹象,甚至还在向更多的方向发展.在防范木 ...

  2. 常见病毒☆常见问题☆常用方法

    一.病毒蠕虫木马                                                        1.灰鸽子(Huigezi.Gpigeon.hupigon)  精华区 ...

  3. 计算机病毒的常用方法,几种常见恶性电脑病毒清除方法

    第1页:第2页:第3页:第4页: 手工清除Sircam蠕虫病毒: 1.清空回收站,因为病毒将自身隐藏在回收站: 2.删除Autoexec.bat文件中的"@win ecycledsirc32 ...

  4. python病毒扫描器_基于Python的病毒扫描机制

    构建集中式病毒扫描机制(ClamAV) Clam AntiVirus(ClamAV)是一款免费而且开源的防毒软件,软件与病毒库的更新皆有社区免费发布,官网地址:http://www.clamav.ne ...

  5. 基于「ClamAv」通过python进行病毒检测(2)-- pyClamd控制clamd详解

    介绍pyClamd模块一般用法和常用方法等. 我们可以使用python来控制clamd,从而操控ClamAv,需要引入第三方模块:pyClamd. 使用pyClamd控制clamd之前,必须先正确安装 ...

  6. 关于Linux下病毒的话题

    潜在的威胁 病毒 病毒是一小段安置在某个宿主程序核心位置的代码,它能够通过感染新的执行文件来自我复制.病毒最早出现于70年代,当时的程序员在玩一个叫做"core war"的游戏.这 ...

  7. Android开发实战《手机安全卫士》——12.“手机杀毒”模块实现 病毒数据库

    文章目录 1.高级工具--程序锁(细节完善) 2.手机杀毒--界面分析 3.手机杀毒--病毒数据库查询过程 4.手机杀毒--初始化旋转动画 5.手机杀毒--遍历所有应用 & 判断是否为病毒 1 ...

  8. Nature综述全文编译:土壤病毒多样性、生态和气候变化

    原文信息 原文标题:Soil viral diversity, ecology and climate change 发表期刊:Nature Reviews Microbiology 影响因子:78. ...

  9. 2009年中国电脑病毒疫情及互联网安全报告(图)

    报告概要: 2009年,互联网和普通百姓的生活越来越紧密,无论是购物.休闲.工作都越来越显现出互联网的重要性.而与此同时,互联网安全问题也越发突 出.从09年年初央视315晚会对网银安全问题的报道,到 ...

  10. 脚本病毒分析扫描专题1-VBA代码阅读扫盲、宏病毒分析

    1.Office Macor MS office宏的编程语言是Visual Basic For Applications(VBA). 微软在1994年发行的Excel5.0版本中,即具备了VBA的宏功 ...

最新文章

  1. 了解jQuery并掌握jQuery对象和DOM对象的区别
  2. 2018蓝桥杯省赛---java---B---8(日志统计)
  3. mcq 队列_MCQ | 基础知识 免费和开源软件| 套装3
  4. .NET MVC扩展UrlHelper支持CDN
  5. cad导出pdf_手机如何一键分享CAD图纸?(差点成了背锅大侠)
  6. x黑客X档案2006年07期
  7. 站群的建立,是一个长期的工作,一年时间吧
  8. Postgresql 客户端连接问题
  9. Linux学习-软件磁盘阵列
  10. java之StringBuilder和关于数组怎么扩容
  11. SkyForm CMP同Mirantis OpenStack兼容测试
  12. HTML+CSS个人笔记
  13. web和http协议-详解
  14. 自动计算所有包围盒的中心点
  15. 5mm超厚“爱马仕”羊毛袜!堪比足底小太阳,抗寒-10℃,99%抑菌防臭不闷汗!...
  16. 惊闻杭州业主不满楼盘降价大闹售楼处
  17. Leetcode 路径总和
  18. 可以不学html直接学vue吗,vue一定要学node吗?
  19. 关于解决jar双击无反应问题
  20. 360 网站漏洞检测

热门文章

  1. RuntimeError: CUDA error: device-side assert triggered的解决
  2. Dual-edge triggered flip_flop(Dualedge)
  3. 张云茹计算机,张云茹 - 重庆理工大学 - 药学与生物工程学院
  4. ShellServiceObjectDelayLoad中的webcheck疑问
  5. Mybatis出现Mapped Statements collection already contains value for
  6. 0day安全:软件漏洞分析技术 学习分析记录
  7. SSRF漏洞修复方案
  8. 福州到横店嘉兴三日游(仅供参考)
  9. 非正常关闭vim编辑器后提示错误的解决方法
  10. oracle spatial特点,Oraclespatial结构取讲解