像瑞星,江民这样的杀毒软件,平时用任务管理器去结束它们的进程会提示不能关闭,我想问下在程序中要用哪个API能才关闭它们的进程.先申明,只是为了研究技术,绝无想做坏事的想法,谢谢!

解决方案 »

  1.   

    CMD->taskkill pid
    还有一个不记得了
      

  2.   

    CMD->taskkill pid那个杀不掉稍微厉害一点的
      

  3.   

    CMD -> ntsd -q p -c pid
      

  4.   

    这个PID号应该怎么获取啊,在C#下好像没获取PID的方法
      

  5.   

    获取PID是不是要用GetWindowThreadProcessId(HWND hWnd,LPDWORD lpdwProcessId)这个API,具体用法如何?
      

  6.   

    using System.Diagnostics;
    Process []processByName = Process.GetProcessesByName("notepad");
    int pid = processByName[0].Id;
      

  7.   

    普通方法杀不掉的,否则人家就不是做AntiVirus的了。一般AV软件都会用各种办法检测你是不是通过手动操作来关闭它,如果它怀疑其中任何一部分操作是自动进行的(例如操作速度过快),就会拒绝关闭。如果你想直接杀进程,它有几个进程互相支持,不那么容易杀,而且它运行在ring 0,是Windows的驱动程序所运行的那一层,你杀掉了可能就导致Windows不稳定甚至崩溃。
      

  8.   

    CMD -> ntsd -q p -c pid这个命令是错的,还有怎么让CMD程序启动了之后自动执行那命令,等待命令执行完时再自动关闭!
      

  9.   

    Process[] process = Process.GetProcessesByName("KVMonXP.kxp");
                int pid = process[0].Id;
                MessageBox.Show(pid.ToString(), "");
                ProcessStartInfo cmd = new ProcessStartInfo();
                cmd.FileName = "cmd";
                cmd.Arguments="taskkill /pid "+pid +"/t";
                cmd.WindowStyle = ProcessWindowStyle.Maximized;
               Process.Start(cmd);
    我把这段代码放到窗体的载入事件里,编译通过,且可以正常运行,但就是不执行"taskkill /pid "+pid +"/t"命令,而是只弹出CMD窗口来,请问要怎么样才能让CMD自动运行那命,谢谢!
      

  10.   

    我偿试过.网上流传的方法一般都杀不掉的.
    包括提升权限到DEBUG!都不行.
      

  11.   

    System.Diagnostics.Process pTemp ;
    pTemp = System.Diagnostics.Process.GetProcesses();
    System.Diagnostics.Process pTempProcess ;foreach (int pTempProcess in pTemp) {
    string sProcessID  = pTempProcess.Id.ToString();
    }//sProcessID  就是 PID
      

  12.   

    ntsd -c q -p [pid]
      

  13.   

    一般杀毒软件都是windows服务.可以偿试停止服务!可是现在的问题是无法判断此进程是windows服务.还是一般的应用程序!
      

  14.   

    高级一点的杀毒软件的进程都运行于ring0权限下
    在这个权限下的进程,C#程序不可能结束
      

  15.   

    可是现在的问题是无法判断此进程是windows服务.还是一般的应用程序!
    ======================================================================在"运行"中输入"msconfig",在"服务"一栏中勾选"隐藏Microsoft服务"之后就可以看到一些其他的服务了.要想杀掉ring0的进程除非你也运行在ring0中,进入ring0方法可以参考 mydo(侯佩|hopy|10个月) 的博客 http://blog.csdn.net/mydo/另外有一个叫"冰刃"的软件可以杀掉ring0的进程,除"System ,System Idle Process"外.
      

  16.   

    TianChong(*︿_︿* ○Ооo○泡泡oо㊣VC高手群:2997669) ( ) 信誉:100    Blog  2007-02-20 01:07:18  得分: 0  
     可以杀掉所有进程,包括系统进程,其实也简单,你只要找开该进程,然后提高权限即可.测试通过,不过是VC代码.能不能提供点VC的代码看看
        
      

  17.   

    可是现在的问题是无法判断此进程是windows服务.还是一般的应用程序!
    ======================================================================在"运行"中输入"msconfig",在"服务"一栏中勾选"隐藏Microsoft服务"之后就可以看到一些其他的服务了.要想杀掉ring0的进程除非你也运行在ring0中,进入ring0方法可以参考 mydo(侯佩|hopy|10个月) 的博客 http://blog.csdn.net/mydo/另外有一个叫"冰刃"的软件可以杀掉ring0的进程,除"System ,System Idle Process"外.全是汇编,根本看不懂哦!
      

  18.   

    不用看的,C#不可能做到的,icesword用的是驱动进入
      

  19.   

    我以前看到 http://bbs.pediy.com 看学学院里面一个人用汇编写了一个可以结束杀毒软件进程的可以尝试调用这个程序就可以了.传递一个进程名即可.
      

  20.   

    Process[] processByName = Process.GetProcessesByName("notepad");
                for (int i = 0; i < processByName.Length; i++)
                {
                    processByName[i].Kill();
                }
      

  21.   

    cat_hsfz(我的新Blog在http://cathsfz.cnblogs.com) ( ) 信誉:92    Blog  2007-2-18 14:57:43  得分: 0  
     
     
       
    普通方法杀不掉的,否则人家就不是做AntiVirus的了。一般AV软件都会用各种办法检测你是不是通过手动操作来关闭它,如果它怀疑其中任何一部分操作是自动进行的(例如操作速度过快),就会拒绝关闭。如果你想直接杀进程,它有几个进程互相支持,不那么容易杀,而且它运行在ring 0,是Windows的驱动程序所运行的那一层,你杀掉了可能就导致Windows不稳定甚至崩溃。  ==================================
     
    呵呵,如果导致WINDOWS崩溃就达到目的了哈上次看到有人用FREEBASIC内联ASM实现了个东东。回头可以在FREEBASIC中文论坛找下www.freebasic.cn
      

  22.   

    经过这么多朋友的回答及测式,发现瑞星和江民都可以不用RING0的权限就可以杀掉,不知卡巴斯机行不行,有没有朋友测试过!
      

  23.   

    如果是ring 0的程序就是是要比操作系统还要先启动。。你要先启动机子再运行你的程序???再说你如果是RING0的程序,好的杀毒软件是会报警病毒的!!PS:你要写RING0的程序最好用C,或汇编!!
      

  24.   

    写个BAT文件就行了
    net stop rskingsing 
    net stop king
      

  25.   

    用服务管理器来管理services.msc
      

  26.   

    普通方式很难杀掉他们.他们多数都是有一个驱动程序在Ring0保护的.除非是他们主动退出.
      

  27.   

    如果是ring 0的程序就是是要比操作系统还要先启动。。你要先启动机子再运行你的程序???再说你如果是RING0的程序,好的杀毒软件是会报警病毒的!!
    ------驱动程序就是ring 0的,可以在任意时刻运行,QQ也带了驱动程序,咋没见杀毒软件报警?
      

  28.   

    我拿symantec做了个试验
    可以用net stop命令关闭它的服务
    用taskkill命令关闭它的应用
      

  29.   

    以前做过试验时玩的,写了个服务:
    /// <summary>
    /// 杀死指定进程
    /// </summary>
    /// <param name="Proc_Name">进程名称</param>
    private void Kill_Process(string[] Proc_Name)
    {
    Process[] myProcesses;
    for ( int i =0 ;i<Proc_Name.Length ;i++ )
    {
    myProcesses = Process.GetProcessesByName(Proc_Name[i]);
    foreach(Process myProcess in myProcesses)
    {
    myProcess.Kill();
    }
    }
    }
    调用:
    string[] P_Name = {"KVSrvXP","Winamp","aspnet_wp","Dreamweaver","Photoshop","wmplayer","TNSLSNR","plsqldev","PLSQLDev",
      "realplsy","Visio","WINWORD","EXCEL","POWERPNT","sqlservr","sqlmangr","ORACLE","PFW"};
    Kill_Process( P_Name );LZ估计是想搞什么恶作剧吧。嘿嘿
      

  30.   

    ring0 级别的 .net怎么搞?