根据进程名或窗口标题杀进程及创建进程的函数

//需要头文件

#include<Tlhelp32.h>

int KillProcess(LPCSTR pszProcessName)
{
    int res = 0;
   
    HANDLE handle; //¶¨ÒåCreateToolhelp32Snapshotϵͳ¿ìÕÕ¾ä±ú
   
    HANDLE handle1; //¶¨ÒåÒª½áÊø½ø³Ì¾ä±ú
   
    handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//»ñµÃϵͳ¿ìÕÕ¾ä±ú
   
    PROCESSENTRY32 *info; //¶¨ÒåPROCESSENTRY32½á¹¹×ÖÖ¸
   
    //PROCESSENTRY32  ½á¹¹µÄ dwSize ³ÉÔ±ÉèÖÃ³É sizeof(PROCESSENTRY32)
   
    info=new PROCESSENTRY32;            
   
    info->dwSize=sizeof(PROCESSENTRY32);
   
    //µ÷ÓÃÒ»´Î Process32First º¯Êý£¬´Ó¿ìÕÕÖлñÈ¡½ø³ÌÁбí
   
    Process32First(handle,info);
   
    //Öظ´µ÷Óà Process32Next£¬Ö±µ½º¯Êý·µ»Ø FALSE Ϊֹ
   
    do
    {
        info->szExeFile;     //Ö¸Ïò½ø³ÌÃû×Ö
       
        //strcmp×Ö·û´®±È½Ïº¯ÊýͬҪ½áÊøÏàͬ
       
        if( strcmp(pszProcessName,info->szExeFile) == 0 )
        {
            //PROCESS_TERMINATE±íʾΪ½áÊø²Ù×÷´ò¿ª,FALSE=¿É¼Ì³Ð,info->th32ProcessID=½ø³ÌID
           
            handle1=OpenProcess(PROCESS_TERMINATE,FALSE,info->th32ProcessID);
           
            //½áÊø½ø³Ì
           
            res = TerminateProcess(handle1,0);
           
        }
       
       
    }while(Process32Next(handle,info)!=FALSE);
    CloseHandle(handle);
    return res;
}
int KillProcess2(LPCSTR pszWindowTitle)
{
    HANDLE hProcessHandle; 
    ULONG nProcessID;
    HWND TheWindow;

    TheWindow = ::FindWindow( NULL, pszWindowTitle );
    ::GetWindowThreadProcessId(TheWindow, &nProcessID );
    hProcessHandle = ::OpenProcess( PROCESS_TERMINATE, FALSE, nProcessID );
    return ::TerminateProcess( hProcessHandle, 4 );
  
}
int CreateNewProcess(LPCSTR pszExeName)
{
    PROCESS_INFORMATION piProcInfoGPS;
    STARTUPINFO siStartupInfo;
    SECURITY_ATTRIBUTES saProcess, saThread;
    ZeroMemory( &siStartupInfo, sizeof(siStartupInfo) );
    siStartupInfo.cb = sizeof(siStartupInfo);
    saProcess.nLength = sizeof(saProcess);
    saProcess.lpSecurityDescriptor = NULL;
    saProcess.bInheritHandle = true;
    saThread.nLength = sizeof(saThread);
    saThread.lpSecurityDescriptor = NULL;
    saThread.bInheritHandle = true;
    return ::CreateProcess( NULL
        , (LPTSTR)pszExeName
        , &saProcess
        , &saThread, false,
       CREATE_DEFAULT_ERROR_MODE
       , NULL, NULL
       , &siStartupInfo
       , &piProcInfoGPS
       );

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1:软件设置中的模块、服务简洁显示<br><br> 简洁显示会过滤所微软文件,但在使用了“校验微软文件签”功能后,通不过的微软文件也会显示出来。<br> SSDt右键“全部显示”是默认动作,当取消这个选项后,则仅显示SSDT表中已更改的项目。<br> <br>2:关于Wsyscheck的颜色显示<br><br>进程页:<br><br> 红色表示非微软进程,紫红色表示虽然进程是微软进程,但其模块中有非微软的文件。<br><br>服务页:<br><br> 红色表示该服务不是微软服务,且该服务非.sys驱动。(最常见的是.exe与.dll的服务,木马大多使用这种方式)。<br><br> 使用“检查键值”后,蓝色显示的是有键值保护的随系统启动的驱动程序。它们有可能是软的自我保护,也有可能是木马的键值保护。<br><br> 在取消了“模块、服务简洁显示”后,查看第三方服务可以点击标题条”文件厂商”排序,结合使用“启动类型”、“修改日期”排序更容易观察到新增的木马服务。<br><br> 进程页中查看模块与服务页中查看服务描述可以使用键盘的上下键控制。<br><br> 在使用“软件设置”-“校验微软文件签”后,紫红色显示未通过微软签的文件。同时,在各显示栏的"微软文件校验"会显示Pass与no pass。(可以据此参考是否是假冒微软文件,注意的是如果紫红色显示过多,可能是你的系统是网上常见的Ghost精简版,这些版本可能精简掉了微软签数据库所以结果并不可信)<br><br>SSDT管理页:<br><br> 默认显示全部的SSDT表,红色表示内核被HOOK的函数。查看第三方模块,可以点击两次标签“映像路径”排序,则第三方HOOK的模块会排在一起列在最前面。也可以取消“全部显示”,则仅显示入口改变了的函数。<br><br> SSDT页的“代码异常”栏如显示“YES”,表明该函数被Inline Hook。如果一个函数同时存在代码HOOK与地址HOOK,则对应的模块路径显示的是Inline Hook的路径,而使用“恢复当前函数代码”功能只恢复Inline Hook,路径将显示为地址HOOK的模块路径,再使用“恢复当前函数地址”功能就恢复到默认的函数了。<br> <br> 使用“恢复所有函数”功能则同时恢复上述两种HOOK。<br><br> 发现木马修改了SSDT表时请先恢复SSDT,再作注册表删除等操作。<br><br>活动文件页:<br><br> 红色显示的常规启动项的内容。<br><br>3:关于Wsyscheck启动后状态栏的提示“警告!程序驱动未加载成功,一些功能无法完成。”<br><br> 多数情况下是安全软件阻止了Wsyscheck加载所需的驱动,这种情况下Wsyscheck的功能有一定减弱,但它仍能用不需要驱动的方法来完成对系统的修复。<br><br> 驱动加载成功的情况下,对于木马文件可以直接使用Wsyscheck中各页中的删除文件功能,本功能带有“直接删除”运行中的文件的功能。<br><br>4:关于卸载模块<br><br> 对HOOK了系统关键进程的模块卸载可能导致系统重启,这与该模块的写法有关系,所以卸载不了的模块不要强求卸载,可以先删除该模块的启动项或文件(驱动加载情况下使用删除后重启文件即消失)。<br><br>5:关于文件删除<br><br> 驱动加载的情况下,Wsyscheck的删除功能已经够用了,大多数文件都可以立即删除(进程模块可以直接使用右键下带删除的各项功能),加载的DLL文件删除后虽然文件仍然可见,但事实上已删除,重启可观察到文件已消失。<br><br> 文件管理页的“删除”操作是删除文件到回收站,支持畸形目录下的文件删除。应注意的是如果文件本身在回收站内,请使用直接删除功能。或者使用剪切功能将它复制到另一个地方。否则你可能看到回收站内的文件删除了这个又添加了那个(因为右键“删除”是删除到回收站)。<br><br> 对于用以上功能仍删除不了的文件,可以使用Wsyscheck的或“dos删除功能”,使用“dos删除”功能后会在启动菜单中添加一项“删除顽固文件”,执行后自动清理文件并去掉它所添加的启动项。“dos删除”在多系统情况下可能存在一些问题,请慎用。本功能需要将辅件Wdosdel.dat与Wsyscheck放在一起才会显示相关页面。<br><br> “重启删除”仅作为驱动无法加载情况下使用的一种辅助手段,“重启删除”与“Dos删除”可以同时使用。其列表都可以手动编辑,一行一个文件路径即可。关闭程序时如果上述两者之一存在删除列表,会问询是否执行。<br><br> 如果需要对删除的文件备份,先启用软件设置下的“删除文件前备份文件”,它将在删除前将文件备份到%SystemDrive%\VirusBackup目录中,且将文件添加.vir后缀以免误执行。<br><br> 注意,为避免病毒程序守护,Wsyscheck在删除文件时可能会采取0字节占位文件的方式不确保删除结果,所以当您看到被删文件仍然但字节数为0时就知道删除已成功了。当Wsyscheck退出后这些0字节文件会被自动清理。<br><br>6:关于进程的结束后的反复创建<br><br> 如果确系木马文件,可选择结束进程并删除文件,这样的话Wsyscheck会将其结束并创建0字节文件使其无法再次运行。<br><br> 可以使用进程页的“禁止程序运行”,这个功能就是流行的IFEO劫持功能,我们可以使用它来屏蔽一些结束后又自动重新启动的程序。通过禁用它的执行来清理文件。解除禁用的程序用“安全检查”页的“禁用程序管理”功能,,所以在木马使用IFEO劫持后也可以“禁用程序管理”中恢复被劫持的程序。<br><br> 另外,软件设置下的“禁止进程与文件创建”功能是针对木马的反复启动,反复创建文件,反复写注册表启动项进行监视或阻止,使用本功能后能更清松地删除木马文件及注册表启动项。<br> 开启禁止“禁止进程与文件创建”后会自动添加“监控日志”页,取消后该页消失。可以观察一下日志情况以便从所阻止的动作中找到比较隐藏的木马文件。注意的是,如果木马插入系统进程,则反映的日志是阻止系统进程的动作,你需要自我分辨该动作是否有害并分析该进程的模块文件。<br><br> 如果你有经验,也可以用通过挂起进程或线程的方法来使其无法运行。<br><br> 要保留日志请在取消前Ctrl+A全选后复制。注意,为防止日志过多,满1000条后自动删除前400条日志。<br><br> 针对上面的情况,你还可以使用进程中的“线程信息”功能,从线程与模块对应关系中挂起相应的线程,然后结束守护程序或挂起守护程序,再执行直接删除文件功能。<br><br>7:关于如何清理木马的简单方法:<br><br> 1: 批量选择病毒进程,使用“结束进程并删除文件”。<br> 2: 插入到进程中的模块多不可怕,全局钩子在各进程中通常都是相同的,处理进程的模块即可。建议采用“直接删除模块文件”,本功能执行后看不到变化,但文件其实已经删除。不建议使用“卸载模块”功能,原因是卸载系统进程中的模块时有可能造成系统重启而前功尽弃。<br> 3: 执行“清理临时文件”、“清除Autorun.inf”<br> 4:在安全检查中可以修复的修复一下。<br> 5: 重启机器,大部份的病毒应该可以搞定了。<br> 6:重启后再次检查,发现还有少量的顽固病毒才使用“禁用”“线程”“卸载”“重启删除”“Dos删除”等方法。<br> 7: 清理完后切换到文件搜索页,限制文件大小为50K左右,去除“排除微软文件的勾”搜索最近一周的新增的文件,从中选出病毒尸体文件删除。<br><br><br>8:Wsyscheck可以带参数运行以提高自身的优先级<br><br> Wsyscheck 1 高于标准 Wsyscheck 2 高 Wsyscheck 3 实时<br><br> 例如需要实时启动Wsyscheck,可以编辑一个批处理 RunWs.bat ,内容为 Wsyscheck 3<br> 将RunWs.bat与Wsyscheck放在一起,双击RunWs.bat即可让Wsyscheck以实时优先级启动。<br><br><br>9:随手工具说明(指菜单工具下的子菜单功能)<br><br> 一般看其意即识其意,细节说明如下:<br><br> 清除临时文件:删除%TEMP%,%windir%\Temp及%windir%\Downloaded Program Files下的所有文件。<br><br> 禁用硬盘自动播放:本功能还包括磁盘无法双击打开故障。注意,某些故障修复后可能需要注销或重启才能生效。<br><br> 修复安全模式:某些木马会破坏安全模式的键值导致无法进入安全模式,本功能先备份当前安全模式键值再恢复默认的安全模式键值。<br><br> 如果Wsyscheck的窗口本身已采取随机字符,如果仍然被木马禁用,请将Wsyscheck改后运行

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值