好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 dianziguan 于 2013-8-5 07:22 编辑
汇编源码如下:
pusha
mov eax,0
xor edi,edi
PUSH EDI ; /hTemplateFile => NULL
PUSH 80h ; |Attributes = NORMAL
PUSH 3 ; |Mode = OPEN_EXISTING
PUSH EDI ; |pSecurity => NULL
PUSH 3 ; |ShareMode = FILE_SHARE_READ|FILE_SHARE_WRITE
PUSH 0C0000000h ; |Access = GENERIC_READ|GENERIC_WRITE
;PUSH offset FileName ; |FileName = 符号链接
call aloc_1
db "\\.\fengyue0",0
aloc_1:
CALL CreateFileA ; \CreateFileA
CMP EAX,-1 ;如符号链接不存在,eax=-1
JE aloc_2
PUSH EAX ; /hObject
CALL CloseHandle ; \CloseHandle
popa
invoke MessageBox,NULL,ADDR nof_1,ADDR AppName,MB_OK ; 显示 “发现sod“
invoke ExitProcess,eax
aloc_2:popa
风月大师的sod加载了一个驱动fengyue0.sys,这个驱动建立了一个符号链接\\.\fengyue0
可以通过打开这个符号链接是否成功来判断sod是否存在。
上述程序在实验时发现一个有趣的现象,如果正在用od+sod调试,程序正常显示发现sod,这时如果退出od,再运行程序,仍然显示发现sod。
这说明od退出后,驱动程序fengyue0.sys并没有卸载,符号链接\\.\fengyue0依然存在。
fengyue0.sys加载后已经被删除,因此没法卸载它,只能重启机器。
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|