他的主要原理是什么,有知道的吗,做这样一个要那方面的资料,有知道的给来点意见,谢谢,!本功能是客户需要,我保证决不为了做坏事,为这事我查资料好久了,被经理说了好几回。唉!

解决方案 »

  1.   

    网络上对于3721事件已经炒的沸沸扬扬,我想大家也多少知道一些,对于尝过苦头
    的朋友来说,安装了3721,就好比做了一场恶梦般的可怕~3721的内存驻留和文件保
    护机制做的太强大了,以至于在你不想使用3721时,使用卸载程序将3721删除后,
    3721的主要文件仍然存留在你的机器里,像个恶魔一样缠着你,挥之不去!今天我
    就给大家好好分析一下3721的内存驻留和文件保护机制,后面会跟大家介绍完全删
    除3721的详细方法。希望大家可以认真的看完这篇文章,然后把自己电脑里的3721
    全部K光光~呵呵,世界清净了!1. CnsMin.dll的驻留方式    3721的核心文件:CnsMin.dll通常存在于<Windows Directory>Downloaded Pr
    ogram Files下。    通过注册表Run键值加载:Rundll32 <dir>CnsMin.dll, Rundll32 CnsMin.dll
    提供了一个函数Rundll32供Rundll32.exe调用,但这个函数只是调用一个真正的驻
    留函数Rundll32Main()。Rundll32Main()伪代码:void Rundll32Main(){hMutex = CreateMutex("CNSMINMUTEX");        if(ERROR_ALREADY_EXISTS)        {                CloseHandle(hMutex);                exit;        }        if(IsWindowsNT()) {                SetProcessSecurityInfo();        }        else {                RegisterProcessAsService();        }        CheckVersion();                // CnsMinKP.sys/vxd 内核驱动程序,保护3721关键文件和注册表项不被删除        ContactWithCnsMinKPDriver();                // 关键的hook,负责将CnsMin.dll注入其他进程空间        InstallCBTHook();                // 关键的hook,负责将CnsMin.dll注入其他进程空间        InstallCallWndProcHook();                // CnsMinIO.dll 负责IE地址栏下方的提示        InitCnsMinIO();                // 一些注册表信息        InitRegistry();                // 保护CnsMin.dll的钩子不被卸载或抢先        InstallGuardTimer();        CreateMsgWindow();        // Message loop        while (true)        {                GetMessage(&msg);                TranslateMessage(&msg);                DispatchMessage(&msg);        }}    CnsMin主要是通过WH_CBT和WH_CALLWNDPROC两个全局钩子注入IE进程空间的。
    注入IE后,又安装了WH_KEYBOARD,WH_DEBUG等钩子。其中对3721实现其“实名转换
    ”有用的是WH_KEYBOARD。这是一个本地钩子。    CnsMin为了保证自己的优先级最高,用了一个定时器函数反复安装钩子,无疑
    会造成系统性能的下降。    强制结束Rundll32进程,可以暂时卸载3721的驻留代码。但CnsMin.dll通过CO
    M注册已经嵌入IE组件中,重新启动IE后,该进程又会重新启动。2. 3721的防删除手段    文件系统驱动:CnsMinKP*.sys 针对NT/2000/XP有不同版本(98下面是CnsMin
    KP.vxd)    通常存在于<System directory>drivers目录。    在设备驱动层加了保护,而且是boot时立即启动,即使在安全模式时也会启动
    。这个设备的名字就叫做 cnsminkp*,驱动程序位于<System directory>driverscn
    sminkp*.sys。    cnsminkp.sys 一旦加载,无法用命令方式卸载这个驱动程序,即 net stop c
    nsminkp 是无法停止这个驱动的。    该驱动程序过滤了对文件和注册表的删除操作。试图删除3721的关键文件和注
    册表项时,直接返回一个TRUE,使Windows认为删除已经成功,但文件和注册表实际
    上还是在那里。        该驱动程序还有一个黑名单(保存在某个外部文件中),阻止Windows读取其他
    3721的竞争对手的插件文件。    目前还没有找到停止该驱动的方法。这个驱动不停地检测cnsminkp.sys 是否存
    在,cnsmin.dll是否存在,如果不存在,立即会重建这两个文件,并且不停检测se
    rvice 和software 下面的注册表,确保cnsminkp这个服务的参数保持和它设置的一
    致,如果被改动,立即会恢复成原来的样子。另外,还确保 run 里有cnsmin.dll。
        这里我提到的不停的检测注册表中有关3721项的情况,是通过安装注册表监视
    器后,发现即使我在不进行任何操作的时候,也有一个进程在访问注册表,这样必
    然会占用一定的系统资源,于是顺藤摸瓜就找出是3721捣的鬼。    3721这种行为是决心要在内存和硬盘上驻留cnsminkp.sys 和cnsmin.dll,从而
    导致系统性能迅速下降。        删除方法:在Windows启动前(98下面退出到DOS或者安全模式下)删除CnsMin
    KP*.sys文件。        注意:3721具有自恢复能力。某些关键文件被删除后,其它模块会试图从3721
    网站重新下载。所以彻底删除前需要断开网络连接。3. 针对目前版本的删除方法:    a) 运行3721自己提供的删除程序。可以删掉大部分的文件。    b) 从DOS启动,删除残存文件,如CnsMin.dll,CnsMinKP*.*等    可能的目录:Downloaded Program Files目录,Program Filesú1目录,driv
    ers目录    c)重起后按F8,选“Saft Mode”,进入安全模式后,启动注册表编辑器,即
    在开始菜单中的运行里输入“regedit”,展开注册表到[HKEY_LOCAL_MACHINE\
    SOFTWARE\Microsoft\Windows\CurrentVersion\Run],在右侧窗口中删除CnsM
    in键。    d)展开注册表到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InternetE
    xplorer\AdvancedOptions],删除整个!CNS目录,这个目录在“Internet选项-高
    级”中加入了3721网络实名的选项;展开注册表到[HKEY_LOCAL_MACHINE\SOFTW
    ARE\3721]以及[HKEY_CURRENT_USER\Software\3721],删除整个3721目录;展
    开注册表到[HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\M
    ain],删除CNSEnable等几个以CNS开头的键。在HKEY_LOCAL_MACHINE: WindowsCur
    rentVersionRun SYSTEMCurrentControlSet中如果有关于3721或CNS等字符的键值也
    全部删除。    e) 启动Windows,进入桌面时Windows会报告一些模块找不到的错误,不用理会
    。继续搜索注册表,还有些零散的注册表信息未被删除,用关键字查找,见了就删
    ,注意不要误删了别的键值就好。    f)在删除完注册表中的项之后,还需要删除存储在硬盘中的3721网络实名文件
    ,一个比较快捷的方法是:打开“开始”菜单,点击【查找-文件或文件夹】,分三
    次在“名称”中输入3721、CnsMin、cnsio分别查找,然后把找到的文件全部删除。
        等这些工作都做完了,重启一下吧,看看,可恶的3721终于被我们清理干净了
    ~我们的PC,我们做主!    最后引用一位网民的话:“cnsminkp.sys 是否表示 cnsmin keep 还是cnsmin
     kill protect ?”。这也许就是应验了那句俗语:“物极必反!”。3721一开始
    开发出来的动机和目的都是好的,也的确受到了很多网民的支持,可就是这样,贪
    婪终究会毁灭一切,3721落到今天这个地步,也算是咎由自取,玩火自焚吧。这个
    教训值得所有中国人自省!      (本文参考了一部分网络上的资料,这里仅向原作者致敬!)