已通过VC++6.0编译和DDK编译,没有太多的技术含量。比较老的技术来的,进程虽然不会被冰刃IceSword、任务管理器等截杀,但是不是很稳定,有可能OS版本问题导致BSOD。对初接触驱动编程来说有借鉴学习的地方。本人技术有限,希望在这里学习更多牛人的技术。顺便向版主申请个邀请码以便更好的学习,谢谢了。
大概思路:我们知道关闭一个进程,只要把进程中的线程全部关闭就可以安全关闭进程,本程式是通过修改线程标志,把普通用户线程标志改为系统线程标志。让其线程不能退出,达到进程防杀目标。代码有注释。
对PsIsSystemThread进行硬编码,
//////////////////////////Windows XP SP3版本WINDBG调试显示PsIsSystemThread//////////////////////////
// nt!PsIsSystemThread: 不同版本有不同的字节偏移量,上程式采用硬编码方式寻找
// 80501e96 8bff mov edi,edi
// 80501e98 55 push ebp
// 80501e99 8bec mov ebp,esp
// 80501e9b 8b4508 mov eax,dword ptr [ebp+8]
// 80501e9e 8b8048020000 mov eax,dword ptr [eax+248h] 该地址是线程标志地址
// 80501ea4 c1e804 shr eax,4
// 80501ea7 2401 and al,1
// 80501ea9 5d pop ebp
- 标 题:为了获得邀请码,拿出很久以前写的进程防杀
- 作 者:WinDebug
- 时 间:2009-07-18 12:40:31
- 链 接:http://bbs.pediy.com/showthread.php?t=93742