BQQHook.dll挂接到系统所有的应用程序上了,怎么把这个垃圾杀掉删除?已经0分了,没法给分

解决方案 »

  1.   

    是内存挂接吗?是的话用MoveFileEx()加上MOVEFILE_DELAY_UNTIL_REBOOT,lpNewFileName指定为NULL,那么重新启动时,它就被删除掉了,这时是由smss.exe执行的,win32子系统还没起来呢.
      

  2.   

    主要的代码:
    // TODO: Add your control notification handler code here
    hRemoteProcess=OpenProcess(PROCESS_CREATE_THREAD|PROCESS_VM_OPERATION|PROCESS_VM_WRITE,FALSE,dwRemoteProcessId);
    //打开远程进程

    //把dll文件名写入申请的空间
    phmd=GetModuleHandle("kernel32.dll");
    LPTHREAD_START_ROUTINE fnStartAddr=(LPTHREAD_START_ROUTINE)
    GetProcAddress(phmd,"FreeLibrary");

    //获取动态链接库函数地址
    hRemoteThread1=CreateRemoteThread(hRemoteProcess,
    NULL,0,fnStartAddr,me.modBaseAddr,0,NULL);

    if(hRemoteThread1 == NULL)
    return;

    WaitForSingleObject(hRemoteThread1,INFINITE);
      

  3.   

    如果用代码杀,比较麻烦,应该用api钩子就可以,如果手工删除。看他是哪个exe来注入的,看看注册表,就应该了解了,到安全模式下去
      

  4.   

    taianmonkey说的方法可以,但不是总能成功,打开有些进程必须要增加该进程的权限,比如debug,再则,该动态库的引用次数不一定是1, 否则的话要多次调用该方法,直到该动态库的引用计数变为0为止,另外,对于静态绑定的动态库,该引用计数为65535,也就是说,FreeLibrary是卸不掉它的