注:本文于07/1月于黑客防线发表版权归黑客防线所有,转载请注明出处
编程查杀ttdianying流氓软件
文/图 冷风[后方网络][东南网安]
最近机房重了一种弹出网页式的流氓软件,毛病倒是不大,只是很讨人厌,每隔几分种就会弹出一次
游戏也玩不安心。如图1示。
用杀毒软件,360安全卫士,超级免子都也查不出个所以然来,上GOOGLE搜索也是哀声一片,并无清除
方法,所以只能自己动手解决了
找出真凶
这类软件一般都是自启动的,就从注册表开始,打开注册表定位到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
里面有一个名为svchost的项指向路径C:\WINNT\System32\drivers\svchost.exe
有点古怪,首先系统不需要在这里启动svchost服务,再者svchost.exe也不应该出现在
C:\WINNT\System32\drivers目录里,而雅虎助手也频频提示svchost.exe试图更改IE启动页面
把svchost.exe复制出来好好研究研究
分析程序
为了大体了解此恶意软件的动作,就用SSS跟一下。发现此程序只是更改注册表就运行了程序,
并无线程注入,加载驱动
等其它动作,因此清除起来也方便的多,可按以如下思路清除,首先结束进程,然后删除文件
最后清理注册表,就可以清除此软件了。
因为机房近百台机器,如果一台一台恢复,等我恢复完了怕我也得跟着一块挂掉了,所以写个专杀工具更轻松。
编写程序
通常我们需要通过枚举系统进程来查找流氓软件。流氓软件的进程名为svchost.exe而系统中有好多svchost.exe进程,那么跟据进程名判断是行不通了,不过可以在枚举进程时列出程序路径,
跟据路径定位流氓软件,程序运行效果如图2示。
以下代码在VC6.0+WIN2000 WINXP下通过。
#include<stdio.h>
#include<windows.h>
#include"PSAPI.H"
#pragmacomment(lib,"PSAPI.LIB")
intTerminateProcessFromId(DWORDdwId);//结束进程函数
BOOLEnablePriv();//提升进程权限
intmain(void)
...{
printf("流氓软件ttdianying专杀工具by:冷风袭人 ");
DWORDprocessid[1024],needed,processcount,i;
HANDLEhProcess;
HMODULEhModule;
charpath[256]="";
charname[256]="system32\drivers\svchost.exe";//流氓进程字符串
BOOLret=true;
EnablePriv();//提升进程权限
EnumProcesses(processid,sizeof(processid),&needed);
processcount=needed/sizeof(DWORD);
for(i=0;i<processcount;i++)
...{
hProcess=OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,false,processid[i]);
EnumProcessModules(hProcess,&hModule,sizeof(hModule),&needed);//枚举进程
GetModuleFileNameEx(hProcess,hModule,path,sizeof(path));//得到进程路径
if(strstr(path,name))//是否包含流氓进程字符串
...{
printf("发现流氓进程... ");
TerminateProcessFromId(processid[i]);//调用结束进程函数
printf("正在删除文件... ");
::DeleteFile(path);
printf("正清理注册表... ");
HKEYkey;
LPCTSTRdata="SOFTWARE\Microsoft\Windows\CurrentVersion\Run";
::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data,0,KEY_WRITE,&key);
::RegDeleteValue(key,"svchost");
::RegCloseKey(key);
printf("软件清理成功... ");
ret=false;
}
}
if(ret)
...{
printf("没有发现流氓软件... ");
}
CloseHandle(hProcess);
CloseHandle(hModule);
return0;
}
intTerminateProcessFromId(DWORDdwId)//结束进程函数
...{
BOOLbRet=FALSE;
HANDLEhProcess=::OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwId);
if(hProcess!=NULL)
...{
bRet=::TerminateProcess(hProcess,0);
}
::CloseHandle(hProcess);
if(bRet)
printf("进程结束成功... ");
else
printf("进程结束失败... ");
return0;
}
BOOLEnablePriv()//提升进程权限
...{
HANDLEhToken;
if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken))
...{
TOKEN_PRIVILEGEStkp;
LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&tkp.Privileges[0].Luid);//修改进程权限
tkp.PrivilegeCount=1;
tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tkp,sizeoftkp,NULL,NULL);//通知系统修改进程权限
return((GetLastError()==ERROR_SUCCESS));
}
}
好了,如果以后碰到类似的问题,只要把上面的代码稍加修改,你也可以做出自己的专杀工具啦
代码参考了 如何在NT下获取进程的路径一文谢谢原作者
分享到:
相关推荐
【标题】:“流氓软件查杀可以查杀任何流氓软件” 在计算机领域,"流氓软件"是一种介于合法软件和恶意软件之间的程序,它通常未经用户许可就安装在用户的电脑上,进行广告弹出、系统篡改、隐私窃取等不受欢迎的行为...
【SoftCnKiller最新版-流氓软件查杀能手】是专为解决电脑中难以根除的恶意软件和流氓软件而设计的一款高效清理工具。在日常使用电脑时,我们可能会无意间下载或安装到一些带有捆绑软件、广告插件甚至是潜在威胁的...
【标题】"SoftCnKiller流氓软件查杀.7z"是一款专为电脑用户提供高效、便捷的病毒和流氓软件清除工具。这款软件的主要功能是针对计算机中的恶意程序进行深度扫描,并实施有效的清理,以保护用户的系统安全和数据隐私...
IE病毒专杀工具,我自已中过这个病毒,网上找了很多方法,都太麻烦,修改注册表之类的.很多时候跟本找不到....里面有三个小工具,都可以,我用了vsafe_95125一下就干掉了这个流氓软件.桌面IE图标清理.
它不仅限于传统的病毒查杀,还能针对那些难以通过常规方式卸载的软件进行处理。此外,强调"简单实用,绿色无病毒",表明此软件设计人性化,操作简便,且自身经过严格的安全验证,用户可以放心使用,不必担心会引入新...
此版本采用了最新得查杀引擎,可以检测更多得流氓软件同时也可以把流氓软件清除得更彻底. 注意:清理前请一定备份注册表!以防系统出问题时恢复.软件虽然经过了严格的测试,但不能保证在每台计算机上都能正常清理...
【标题】和【描述】提及的是一个专注于查杀木马和提供驱动级安全保护的软件源代码。这个软件设计的核心目标是确保用户系统的安全性,通过驱动级防护来阻止恶意木马病毒的侵入和活动。驱动级保护意味着该软件能够在...
虽然这款软件主要面向海外市场,但其对全球范围内的恶意软件,包括流氓软件,都有卓越的查杀能力。Malwarebytes采用先进的反恶意软件技术,能够快速扫描系统,找到并移除潜在的威胁。与传统杀毒软件不同,...
标题中的“U盘病毒查杀软件”指的是专门用于检测和清除U盘(USB闪存驱动器)中病毒的安全工具。U盘病毒,全称为“USB病毒”,是通过USB设备传播的一种恶意软件,常利用U盘的便携性和易共享性进行扩散。这类病毒可能...
RogueKiller是一款专业的流氓软件查杀软件。软件的主要作用是扫瞄用户电脑上正在执行的应用程序并删除那些恶意的流氓程序并将其清除。虽然 RogueKiller 将关闭它所不信任的启动处理程序,但不会删除其他文件和系统...
国外很好的木马查杀软件,支持开机查杀,关键它是免费的啊,我找了很多网站才看到的
【恶意软件查杀助手,rscleaner】是一款专门针对计算机系统中恶意软件进行检测和清除的工具。在当前的网络环境中,恶意软件已经成为威胁用户数据安全和系统稳定性的主要因素之一,因此,拥有一款高效且可靠的恶意...
"KillBadware流氓软件终结者"是一款专门针对恶意软件和潜在有害程序的查杀工具,旨在保护用户的计算机系统免受这些威胁的侵害。在IT安全领域,了解如何使用和理解这类工具至关重要,因为网络上的恶意软件和病毒...
因此,除了使用专门的查杀软件外,用户还应养成良好的网络安全习惯,例如定期更新CAD软件及其防病毒软件,不随便打开来源不明的CAD文件,以及使用强密码保护重要设计文件。 在提供的压缩包文件"CAD流行病毒专杀更新...
"AutoCAD病毒查杀软件"就是为了应对这类问题而开发的专业工具。 AutoCAD病毒主要通过DWG(设计图档)或ARX(应用程序扩展)文件传播,一旦感染,病毒可能破坏设计文件,导致数据丢失,甚至将病毒扩散到网络上的其他...
电脑感染性病毒的查杀 电脑感染性病毒的查杀是非常重要的一件事,它关系到我们的电脑安全和数据安全。在这里,我们将讨论电脑感染性病毒的查杀方法和防止电脑感染性病毒的方法。 电脑感染性病毒的种类 -----------...
【安全编程与木马查杀】是编程领域中不可或缺的一部分,尤其对于那些关注系统安全的开发者和用户来说,了解木马的性质、检测方法以及如何编写安全的代码至关重要。本文档详细介绍了木马的种类、查杀策略以及编程思想...
非常强大杀毒软件 几乎可以查杀全部木马和病毒
在IT安全领域,"超强恶意软件查杀"是一种高级的反病毒解决方案,旨在对抗日益复杂的网络威胁。这类软件通常具备强大的病毒查杀引擎,能够检测并清除那些极具隐蔽性的恶意软件,确保用户的计算机系统安全无虞。下面...