以文本方式查看主题 - ╋艺 镇╋ (http://zyzsky.com/bbs/index.asp) -- ┣◇玩转系统 (http://zyzsky.com/bbs/list.asp?boardid=28) ---- [维护]如何清除3721?CnsMin.dll 顶 热 ★★★ (http://zyzsky.com/bbs/dispbbs.asp?boardid=28&id=1414) |
|||||||||
-- 作者:admin -- 发布时间:2008/5/5 8:58:45 -- [维护]如何清除3721?CnsMin.dll 顶 热 ★★★ 如何清除3721?CnsMin.dll 顶 热 ★★★ [ 作者:佚名 转贴自:本站原创 点击数:7348 更新时间:2004-12-2 文章录入:jalihh ] 减小字体 增大字体 近日接到内网用户来报,在上到某些站点的时候,会被提示安装一个叫3721中文实名的插件,部分用户在不知情的情况下误点“安装”选项,导致该病毒驻留于硬盘上难以杀除。天缘虽是网络管理员,但是对Windows操作系统的确使用得不多,从来也没有用过这个名为3721的插件,但看到用户们焦急地神情,于是答应尽力而为。经过几番努力,终于将其斩于马下。 以下是杀除该病毒得经历及病毒解决方案。 天缘使用一台windowsxp机器,访问用户提供的站点,下载并执行了该插件。该插件为中文,自动安装后重新启动机器后生效,并自带卸载功能。通过安装/卸载前后的对比观察,其驻留性、自身保护性及对系统性能的大量损耗,让天缘确定了该插件确是病毒无疑! 病毒发作现象: 自动将浏览器的“搜索”功能重定向到一个叫www。3721。com的网站,该站点为中文站,且无法修改; 强行在用户ie上添加“情景聊天”、“上网加速”等几个图标; 不断刷新注册表相关键值,以达到成功驻留和大量消耗用户主机资源的目的; 每次启机加载,并自带进程保护功能,在正常地windows启动下难以杀除; 带自动升级功能,每次用户上网使用ie时,该病毒会后台执行升级; 病毒自身特点: 自带卸载功能;该病毒为达到隐藏自身目的,麻痹下载插件用户的目的,提供了卸载程序。但根据天缘的使用情况发现,在卸载后,该病毒程序依然驻留,启动时仍然加载,依然监视、改写注册表; 采用网络升级方式;该病毒为了防止用户以及杀毒软件的杀除,采取定期网上升级的方式,这点与近期的其他Windows主流病毒类似,但值得一提的是该病毒建有公开的病毒升级站点www。3721。com,且站点风格酷似门户、服务类站点,具有极大的欺骗性; 以驱动模式加载;该特性可说是近段时期以来病毒编写的一次技术飞跃,采用驱动模式加载配合挂接hook的方式,在windows下极难查杀(详细技术讨论见后); 提供在浏览器地址栏中输入中文后转到其站点进行关键字查询的搜索服务。前段时间的冲击波克星病毒也曾在感染用户机器后自动连接用户的机器到update.Microsoft.com下载补丁,看来新的病毒越来越多地喜欢提供一些另类功能了; 被动方式传播:利用一些站点来进行传播,而不是主动感染其他机器,这点与当前热门的“美女图片”病毒的方式相近。从主动转向被动,可说是今年一些病毒的新特点。 病毒详细分析: 当用户访问站点的时候,弹出一个控件下载窗口提示用户下载安装,表面上称自己是提供中文实名服务,引诱用户安装; 在安装过程中多处修改用户文件及注册表; 添加文件: 在Documents and SettingsAll Users「开始」菜单程序网络实名 目录下添加: 了解网络实名详细信息。url 86 字节 清理上网记录。url 100 字节 上网助手。url 99 字节 卸载网络实名。lnk 1,373 字节 修复浏览器。url 103 字节 在WINDOWSDownloaded Program Files 下添加: assis.ico 5,734 字节 cns02.dat 1,652 字节 CnsHook.dll 56,320 字节 CnsMin.cab 116,520 字节 CnsMin.dll 179,712 字节 CnsMin.inf 378 字节 sms.ico" 6,526 字节 yahoomsg.ico 5,734 字节 在WINDOWSSystem32Drivers 目录下添加: CnsminKP.sys 添加注册表键值: 增加HKEY_LOCAL_MACHINESOFTWARE3721 主键,下设多子键及属性值; 在HKEY_LOCAL_MACHINESOFTWAREClassesCLSID 主键下增加 两个子键 在HKEY_LOCAL_MACHINESOFTWAREClasses主键下增加 CnsHelper.CH CnsHelper.CH.1 CnsMinHK.CnsHook CnsMinHK.CnsHook.1四个子键 在HKEY_LOCAL_MACHINESOFTWAREClassesInterface主键下增加子键 在HKEY_LOCAL_MACHINESOFTWAREClassesTypeLib主键下增加 在HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerAdvancedOptions主键下增加!CNS子键 在HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions 主键下增加 五个子键 在HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerSearch主键下增加 CustomizeSearch OcustomizeSearch SearchAssistant OsearchAssistant 四个子键 在HKEY_LOCAL_MACHINESOFTWAREMicrosoft WindowsCurrentVersionExplorerShellExecuteHooks主键下增加子键 在HKEY_LOCAL_MACHINESOFTWAREMicrosoft WindowsCurrentVersionRun下增加CnsMin子键 在HKEY_LOCAL_MACHINESOFTWAREMicrosoft WindowsCurrentVersionRunOnce下增加EK_Entry 子键 (提示,这个键将在下次启动机器的时候生效,产生最令人头疼的部分,后文会叙述) 在HKEY_LOCAL_MACHINESOFTWAREMicrosoft WindowsCurrentVersionUninstall下增加CnsMin 子键 在HKEY_CURRENT_USERSoftware下增加3721子键 在HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain下增加 CNSAutoUpdate CNSEnable CNSHint CNSList CNSMenu CNSReset 在重新启动计算机后,上面提到的RunOnce下的EK_Entry生效,在注册表中多处生成最为邪恶的CnsMinKP键值,同时在系统盘的windows/system32/drivers目录下生成CnsMinKP.sys文件,噩梦由此开始。 由于win2k/xp在启动的时候(包括安全模式)默认会自动运行windows/system32/drivers下面的所有驱动程序,于是CnsMinKP.sys被加载,而这个驱动的作用之一,就是保证windows/ Downloaded Program Files目录下的Cnshook.dll和CnsMin.dll以及其自身不被删除;Cnshook.dll的作用则是提供中文实名功能,CnsMin.dll作用在于使其驻留在ie进程内的时候。CnsMin为了保证自己的优先级最高,用了一个定时器函数反复安装钩子,因此造成系统性能下降,在天缘测试的那台机器上,使得性能大概下降了20%左右。而且由于hook强行挂接的原因,当用户使用断点调试程序的时候将会导致频繁出错,这一点与早期版本的cih导致winzip操作和无法关机类似(关于详细的技术细节,可参看题目为《[转载]3721驻留机制简单研究》一文,原作者Quaful@水木清华) 防删除特性: 该病毒虽然自带一个所谓的“卸载程序”,但事实上核心部分的程序/注册表键值依然没有删除。而且该病毒更是利用各种技术手段,具有极其强大的反删除特性。 windows系统启机(包括安全模式下)便会加载windows/system32/drivers下的CnsMinKP.sys,该驱动该驱动程序过滤了对其自身及相关重要文件和注册表的删除操作。每当试图删除3721的关键文件和注册表项时,直接返回一个TRUE,使Windows认为删除已经成功,但文件和注册表实际上还是在那里。 技术亮点: 天缘不得不承认,3721这个病毒插件可称我作为网管以来面对的最难清除的病毒。近几年来病毒有几次质的突破:cih感染可升级的bios、红色代码打开windows的共享扩大战果、meliza让我们见识了什么是看得到源程序的病毒、mssqlserver蠕虫让我们留意到计算机病毒能攻击的不光是节点还有网络设备、冲击波病毒让我们认识到大量使用同一种操作系统时在出现安全漏洞时的可怕、美女图片病毒让我们知道了将欺骗艺术与软件漏洞结合的威力、而这次3721病毒首次展现了病毒强大的反删除特性,可说是在windows环境下无法杀除的病毒。虽然这是个良性病毒,对系统并没有破坏特性,但依据病毒的发展史,可以预见,这种几近完美的反删除技术将很快被其他病毒所利用,很快将被其他病毒所利用。届时结合网络传播,局网感染带强大反删除功能的病毒或许会让目前windows平台下的杀毒软件遭遇到最大的考验。而这次经历,也让我意识到微软的windows操作系统在人性化、美观化、傻瓜化的背后的危机。作为it同行,我个人对3721病毒作者所使用的种种技术表示钦佩,但新型病毒的潘多拉魔盒,已经被他们打开。 在目前已知的病毒历史上,之前只有几种病毒利用过windows nt下的system32/drivers 下的程序会被自动加载的特性来进行传播,但那些病毒本身编写地不够完善,会导致windows nt系统频繁蓝屏死机,象3721插件病毒这样完美地加载、驻留其他进程,只消耗主机资源,监测注册表及关键文件不导致系统出错的病毒,国内外尚属首次,在技术上比以前那些病毒更为成熟; 如同天缘和大家曾经探讨过的没打sp2以上patch的win2k如何上网下载sp4再安装补丁这样的连环套问题一样。由于drivers目录下的CnsMinKP.sys启机必定加载,而欲不加载它,只有在windows启动后,进注册表改写相应的CnsMinKP键值或者删除该文件,但由于CnsMinKP.sys过滤了对其自身及相关重要文件和注册表的删除操作。每当试图删除3721的关键文件和注册表项时,直接返回一个TRUE,使Windows认为删除已经成功,但文件和注册表实际上还是在那里。使得注册表无法修改/文件无法被删除,让我们传统的杀除病毒和木马的对策无法进行。 驻留ie进程,并自动升级,保证了该病毒有极强大的生命力,想来新的杀除方法一出现,该病毒就会立即升级。Windows上虽然还有mozilla等其他浏览器,但由于微软的捆绑策略和兼容性上的考虑,绝大多数用户一般只安装有ie.上网查资料用ie,寻找杀除3721资料的时候也用ie,如此一来,3721抢在用户前面将自身升级到最新版本以防止被杀除的可能性大大增加,更加增添了杀除该病毒的难度。或许在本文发出后,病毒将会在最短时间内进行一次升级。 附带其他“实用”功能。天缘记得早年在dos下的时候曾遇到一些病毒,在发作的时候会自动运行一个可爱的屏幕保护,或者是自动替用户清理临时文件夹等有趣的功能;后来在windows平台上也曾见过在病毒发作时自动提醒“今天是xx节,xx年前的今天发生了xx历史典故”这样的带知识教育意义的病毒;而3721病毒则是提供了一个所谓的中文域名与英文域名的翻译功能。随着病毒的发展,这样带隐蔽性、趣味性和欺骗性的病毒将越来越多。例如最近的邮件病毒以微软的名义发信,或以re开始的回信格式发信,病毒编写的发展从原来的感染传播、漏洞传播、后门传播逐步向欺骗传播过渡,越来越多的病毒编写者意识到社会工程学的重要性。或许在不久的将来,就会出现以简单的网络游戏/p2p软件为掩饰的病毒/木马。 极具欺骗性:该插件在win98下也能使用,但使用其自带的卸载程序则可比较完美地卸载,而在win2k/xp平台下卸载程序则几乎没用。由此可以看出病毒编写者对社会工程学极其精通:当一个人有一只表时他知道时间;而当他有两只表时则无从判断时间。当在论坛/bbs上win2k/xp的用户提到此病毒无法删除的时候,其他win2k/xp用户会表示赞同,而win98用户则会表示其不存在任何问题属于正常程序的反对意见。两方意见的对立,影响了旁观者的判断。 商业行为的参与。据传该病毒是由某公司编写的,为的是进一步推销其产品,增加其访问量和申请用户。这点上与某些色情站点要求用户下载xx插件,之后不断利用该插件弹出窗口进行宣传的方式很象。天缘不由得想起一个典故。话说当年某公司公司工作人员(当然也有可能是不法者冒充该公司的工作人员)经常打电话恐吓大型的企业单位,无外乎说其中文域名已被xx公司抢注,如不交钱将会导致xx后果云云。兄弟学校中似乎也有受到此公司骚扰的经历:该公司员工打电话到某高校网络中心,起初是建议其申请中文域名,其主任很感兴趣但因价格原因未果。第二次打来的时候,就由劝说变成了恐吓,说该校中文名字已经被xx私人学校注册,如果该校不交钱申请就会有种种可怕后果云云。谁想该校网络中心主任吃软不吃硬,回话:“你既然打电话到此,想来你也知道在中国,xx大学就我们一所是国家承认的,而你们公司在没有任何官方证明的情况下就替申请我校中文域名的私人学校开通,就这点上就可见你们的不规范性,那么如果我私人交钱申请xxx国家领导的名字做个人站点是不是贵公司也受理?遇到类似冒用我校名义行骗及协助其行骗的公司,我们一贯的做法是寻找法律途径解决!”回答甚妙,当然此事后果是不了了之。从相关报道中不难看到,计算机犯罪逐步开始面向经济领域。侵犯私人隐私,破坏私人电脑的病毒与商业结合,是病毒编写由个人行为到商业行为的一次转变,病毒发展的历史由此翻开了新的一章。 病毒查杀方案: 由于网管专题的栏目作用主要是“授人与渔”,天缘把病毒查杀过程经历一并写下,大家共同探讨。 第一回合: 当初见此病毒的时候,感觉不过如此,普通木马而已。依照老规矩,先把注册表里相关键值删除,再把病毒文件一删,然后重新启动机器,等待万事ok.启机一看,注册表完全没改过来,该删除的文件也都在。 结局:病毒胜,天缘败。 第二回合: 换了一台机器,下了个卸载帮助工具,以方便监视注册表/文件的改变。我下的是Ashampoo UnInstaller Suite这个软件,能监视注册表/文件/重要配置文件。Ok,再次安装3721插件,把对注册表的改变/文件的改变都记录下来。(值得注意,因为注册表run和runonce的键是下次启动的时候生效的,因此在重新启动后,还要对比一下文件/注册表的改变才能得到确切结果)。然后对比记录,把3721添加的键全部记下来,添加的文件也记录下来。之后我计划是用安全模式启动,删除文件和注册表,所以写了一个save.reg文件来删除注册表里的相关键值(写reg文件在网管笔记之小兵逞英雄那讲有介绍,等一下在文末我提供那个reg文件给大家参考),写了一个save.bat来删除相关文件,放到c盘根目录下。重新启动机器,进入安全模式下,我先用regedit /s save.reg 导入注册表,然后用save.bat删除相关文件。重新启动机器,却发现文件依然存在,注册表也没有修改成功。通常对付木马/病毒的方式全然无效,令我产生如临大敌之感。 结局:病毒胜,天缘败。 [此贴子已经被作者于2008-5-5 9:04:07编辑过]
|
|||||||||
-- 作者:admin -- 发布时间:2008/5/5 8:59:26 --
|
|||||||||
-- 作者:admin -- 发布时间:2008/5/5 8:59:41 -- 命令列: rundll32.exe shell32.dll,Control_RunDLL 功能: 显示控制面板 命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1 功能: 显示“控制面板-辅助选项-键盘”选项视窗 命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2 功能: 显示“控制面板-辅助选项-声音”选项视窗 命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3 功能: 显示“控制面板-辅助选项-显示”选项视窗 命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4 功能: 显示“控制面板-辅助选项-滑鼠”选项视窗 命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5 功能: 显示“控制面板-辅助选项-传统”选项视窗 命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1 功能: 执行“控制面板-添加新硬体”向导。 命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter 功能: 执行“控制面板-添加新印表机”向导。 命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1 功能: 显示 “控制面板-添加/删除程式-安装/卸载” 面板。 命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2 功能: 显示 “控制面板-添加/删除程式-安装Windows” 面板。 命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,3 功能: 显示 “控制面板-添加/删除程式-启动盘” 面板。 命令列: rundll32.exe syncui.dll,Briefcase_Create 功能: 在桌面上建立一个新的“我的公文包”。 命令列: rundll32.exe diskcopy.dll,DiskCopyRunDll 功能: 显示复制软碟视窗 命令列: rundll32.exe apwiz.cpl,NewLinkHere %1 功能: 显示“建立快捷方式”的对话框,所建立的快捷方式的位置由%1参数决定。 命令列: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0 功能: 显示“日期与时间”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,1 功能: 显示“时区”选项视窗。 命令列: rundll32.exe rnaui.dll,RnaDial [某个拨号连接的名称] 功能: 显示某个拨号连接的拨号视窗。如果已经拨号连接,则显示目前的连接状态的视窗。 命令列: rundll32.exe rnaui.dll,RnaWizard 功能: 显示“新建拨号连接”向导的视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0 功能: 显示“显示属性-背景”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1 功能: 显示“显示属性-萤屏保护”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2 功能: 显示“显示属性-外观”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3 功能: 显示显示“显示属性-属性”选项视窗。 命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL FontsFolder 功能: 显示Windows的“字体”档案夹。 命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3 功能: 同样是显示Windows的“字体”档案夹。 命令列: rundll32.exe shell32.dll,SHformatDrive 功能: 显示格式化软碟对话框。 命令列: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,0 功能: 显示“控制面板-游戏控制器-一般”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,1 功能: 显示“控制面板-游戏控制器-进阶”选项视窗。 命令列: rundll32.exe mshtml.dll,PrintHTML (HTML文档) 功能: 列印HTML文档。 命令列: rundll32.exe shell32.dll,Control_RunDLL mlcfg32.cpl 功能: 显示Microsoft Exchange一般选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @0 功能: 显示“控制面板-滑鼠” 选项 。 命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1 功能: 显示 “控制面板-键盘属性-速度”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,,1 功能: 显示 “控制面板-键盘属性-语言”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @2 功能: 显示Windows“印表机”档案夹。 命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3 功能: 显示Windows“字体”档案夹。 命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @4 功能: 显示“控制面板-输入法属性-输入法”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL modem.cpl,,add 功能: 执行“添加新调制解调器”向导。 命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0 功能: 显示“控制面板-多媒体属性-音频”属性页。 命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,1 功能: 显示“控制面板-多媒体属性-视频”属性页。 命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,2 功能: 显示“控制面板-多媒体属性-MIDI”属性页。 命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,3 功能: 显示“控制面板-多媒体属性-CD音乐”属性页。 命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,4 功能: 显示“控制面板-多媒体属性-设备”属性页。 命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1 功能: 显示“控制面板-声音”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl 功能: 显示“控制面板-网路”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL odbccp32.cpl 功能: 显示ODBC32资料管理选项视窗。 命令列: rundll32.exe shell32.dll,OpenAs_RunDLL {drive:\\path\\filename} 功能: 显示指定档案(drive:\\path\\filename)的“打开方式”对话框。 命令列: rundll32.exe shell32.dll,Control_RunDLL password.cpl 功能: 显示“控制面板-密码”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl 功能: 显示“控制面板-电源管理属性”选项视窗。 命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL PrintersFolder 功能: 显示Windows“印表机”档案夹。(同rundll32.exe shell32.dll,Control_RunDLL main.cpl @2) 命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0 功能: 显示“控制面板-区域设置属性-区域设置”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,1 功能: 显示“控制面板-区域设置属性-数字”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,2 功能: 显示“控制面板-区域设置属性-货币”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,3 功能: 显示“控制面板-区域设置属性-时间”选项视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,4 功能: 显示“控制面板-区域设置属性-日期”选项视窗。 命令列: rundll32.exe desk.cpl,InstallScreenSaver [萤屏保护档案名] 功能: 将指定的萤屏保护档案设置为Windows的屏保,并显示萤屏保护属性视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0 功能: 显示“控制面板-系统属性-传统”属性视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1 功能: 显示“控制面板-系统属性-设备管理器”属性视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,2 功能: 显示“控制面板-系统属性-硬体配置档案”属性视窗。 命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3 功能: 显示“控制面板-系统属性-性能”属性视窗。 命令列: rundll32.exe user.exe,restartwindows 功能: 强行关闭所有程式并重启机器。 命令列: rundll32.exe user.exe,exitwindows 功能: 强行关闭所有程式并关机。 命令列: rundll32.exe shell32.dll,Control_RunDLL telephon.cpl 功能: 显示“拨号属性”选项视窗 命令列: rundll32.exe shell32.dll,Control_RunDLL themes.cpl 功能: 显示“桌面主旨”选项面板 当然,不止是VisualBasic,象Delphi.VisualC++等其他程式设计语言也可以通过呼叫外部命令的方法来使用Rundll的这些功能,具体方法这里就不再详细叙述了。灵活的使用Rundll,一定会使你的程式设计轻轻松松,达到事半功倍的效果! |