天河晓霜's profile龙笛吟寒水,天河落晓霜PhotosBlogListsMore Tools Help

Blog


    February 09

    <转贴>常见危险文件及病毒

    CnsHook.dll
    文件描述:
    CnsHook.dll是网络实名客户端相关文件,用于Hook地址栏消息。
    所属软件:
    3721实名上网
    清除方法:
    使用流氓软件清除工具进行清除

    SPTED.dll
    文件描述:
    这是一个PE木马病毒,目前还不清楚是安装了什么软件后带来的
    清除方法:
    进入安全模式后删除。

    IRJIT.dll
    文件描述:
    这个是 9991.com 上带的一个流氓软件
    安装了QQ多多表情后,就会自动装上这个软件,请大家注意
    现在多家杀毒软件都将此文件定义成病毒
    清除方法:
    使用F8进入安全模式后,进行删除

    update.exe
    文件描述:
    这个是 9991.com 上的一个流氓软件
    经常出现的目录是
    C:Program FilesCommon FilesUPDATE
    清除方法:
    使用F8进入安全模式后,进行删除

    wc98pp.dll
    文件描述:
    网络协议处理器 - 电子书编译工具Web Compiler相关。
    wc98pp.dll文件本身并没有影响,很多计算机上都有此文件,但是当explorer.exe出错的时候,删除此文件可以解决问题,然后从注册表中搜索相关键值 删除。 usign.dll,有人提到这个文件与wc98pp.dll两个文件类似,删除这两个文件可以清除IE中不断跳出小广告。

    stdup.dll
    文件描述:
    超级无聊恶毒的广告插件
    很难彻底删除

    1:进入安全模式
    2:删除系统里所有的stdup.dll
    3:注册表搜索stdup.dll,全删除之

    除了stdup.dll外,还有一个类似叫做stdsver.dll,也要一并删除。

    日tnnd,通过rundll32.exe偷偷在后台加载!

    另外注意是否有一个target.dll,也是一个流氓插件。

    res.exe
    描述:
    Downloader.win32.Sma (木马病毒 )
    该病毒修改注册表实现自启动,用于下载其他病毒或更改主页为9991.com等,并可能造成计算机关机缓慢,甚至无法正常关机。

    yasbar.dll
    文件描述:
    这个因为安装了雅虎工具条后产生的文件。属于流氓软件了,强烈建议使用置顶的流氓软件清除工具清除。

    BDSrHook.dll
    文件描述:
    这个是因为安装了百度的插件后产生的文件, 也属于流氓软件, 因为系统中有一个 bdguard.sys在保护这个文件,
    所以用普通的方法很难删除掉这个文件, 强烈建议使用置顶的流氓软件清除工具清除

    cdnns.dll
    文件描述:
    安装了3721中文上网后就会有这个垃圾文件, 属于流氓软件, 经常发现上网会不成功,最终查到是因为这个文件导致的。
    强烈建议使用置顶的流氓软件清除工具清除

    advsc.dll
    文件描述:
    advsc.dll是Adware.Win32.Newweb.c木马相关文件,建议删除。

    HelperService.dll
    文件描述:
    HelperService.dll是Adware.Win32.Delf.g木马相关文件,建议删除。

    cdnup.exe
    文件描述:
    cdnup.exe是中国互联网信息中心CNNIC出品的中文域名及中文邮件客户端,建议到添加/删除程序中删除。

    hbhelper.dll
    文件描述:
    hbhelper.dll是很棒小秘书广告软件相关文件,该软件随一些软件捆绑,建议立即删除。

    lup.dll
    文件描述:
    lup.dll是广告程序的文件,建议使用反间谍软件进行扫描或将其删除。

    miniserver.exe
    程序名称:
    QQ视频木马或Trojan-Downloader.Win32.Delf.ca
    程序用途:
    木马病毒 用于窃密 32位的Windows病毒,可以在所有32位的Windows平台上进行感染。

    MMSASS~1.dll
    文件描述:
    MMSASS~1.dll是一款广告软件相关程序,建议立即删除。

    msdc32.dll
    文件描述:
    msdc32.dll是Trojan-Downloader.Win32.Small.crw木马相关文件,建议立即删除。

    obwbkya.dll
    文件描述:
    obwbkya.dll是一个国内Adware广告软件相关文件,建议立即删除。

    Service.exe
    文件描述:
    木马病毒,Service.exe用于数十种蠕虫木马病毒,危害各异。大部分以窃取密码为主,恶意攻击者用来实现远程控制。

    usrinit.exe
    程序名称:
    W32.Kedebe.E@mm或W32.Maddis.B
    程序用途:
    木马病毒 破坏系统、程序
    进程分析:
    从带有特定扩展名的文件中收集邮件地址,向收集到的地址发送自身副本。试图终止带有某些文本的进程并删除相关文件以降低安全设置。向hosts文件增加条目以阻止对一些与安全相关网站的访问。删除一些安全程序的文件。病毒随机打开一个端口, 使用HTTP和SOCKS协议代理。病毒还将扫描局域网,通过网络共享传播

    win32bootcfg.exe
    程序名称:
    Troj_ADWARE.cku
    程序用途:
    木马病毒
    进程分析:
    病毒修改注册表实现自启动,启动后运行C:iexplorer.exe。这是一个用于下载或广告目的木马病毒,可能会在用户上网时下载其他病毒和显示广告。建议立即进行删除。

    winscntrl.exe
    文件描述:
    Backdoor/AimBot蠕虫的最新变种,可以利用多种系统漏洞传播。

    wmpdrm.dll
    文件描述:
    wmpdrm.dll是Trojan.DL.Small.ibr木马相关文件,建议立即删除。

    syssmss.exe
    程序名称:
    QQRobber变种n”(Troj.QQRobber.n)
    病毒特征:
    这是一个盗取QQ号码和密码的木马病毒。
    发作症状:
    病毒先释放文件到以下目录:C:Program FilesInternet Explorersyssmss.exe,并增加到注册表项,使开机自启动。该病毒通过搜索当前打开的QQ窗口,读取敏感信息,随即把盗取的敏感信息发送到指定邮箱或提交到指定网页,还将关闭大量安全软件,对用户系统安全造成很大的影响。

    cnsminkp.sys
    文件描述:
    cnsminkp.sys是3721网络实名的相关文件

    vfp02.exe
    程序名称:
    Troj_Backdoor.msService
    程序用途:
    后门病毒病毒,监听和远程控制。
    进程分析:
    该病毒修改注册表实现自启动,病毒运行后打开端口,恶意攻击者进行监听和远程控制。

    win.exe
    程序名称:
    W32/Sdbot-QI
    程序用途:
    蠕虫病毒,包含后门木马,远程控制。
    进程分析:
    该病毒修改注册表创建系统服务win-xp实现自启动win.exe,同时修改注册表创建系统服务COM+ System 实现自注入病毒模块System Volume Information er.dll,病毒利用计算机网络与利用弱密码共享文件夹传播,包含的后门木马功能,能够让非法入侵者远程控制。病毒会尝试删除网络共享,参予Dos攻击,窃取计算机信息下载和管理档案,并可能窃取密码。

    system.exe
    文件描述:
    system.exe是netcontroller木马病毒生成的文件,出现在c:windows目录下,建议将其删除。但要系统的system进程区分开来。

    msinfo.exe
    文件描述:
    msinfo.exe是Gator的广告软件。这个进程监视你的浏览习惯,并将相关数据回传到其服务器上用于分析。这个程序也会弹出广告窗口,建议立即删除。

    SVKP.sys
    程序名称:
    W32/Spybot-FB
    程序用途:
    p2p蠕虫病毒,IRC后门木马,远程控制。
    进程分析:
    该病毒创建SVKP系统服务实现自启动,运行后开启后门连接某IRC服务器,为恶意攻击者提供远程控制。

    KakaTool.dll
    文件描述:
    KakaTool.dll是卡卡安全助手工具条软件相关程序。

    ntdhcp.exe
    进程文件:
    ntdhcp 或者 ntdhcp.exe
    进程名称:
    Trojan-PSW.Win32.QQRob.218
    文件描述:
    ntdhcp.exe是Trojan-PSW.Win32.QQRob.218木马相关程序,建议立即删除。

    pp6.dll
    DLL 文件:
    pp6 或者 pp6.dll
    DLL 名称:
    Trojan.PWS.Gamania
    文件描述:
    pp6.dll是Trojan.PWS.Gamania木马相关文件,建议立即删除。

    obwbkya.dll
    文件描述:
    obwbkya.dll是一个国内Adware广告软件相关文件,建议立即删除。

    May 31

    [转贴]程序员的生活

    呵呵,偶尔看到的,比较象我现在的生活
     
    除了顺序执行,
    就是分支循环.
    寻思队列链表,
    心系入栈出栈.
    编程调试不易,
    式样理解更难.
    为了纳期纳品,
    加班家常便饭.
    说着夹生外语,
    发音英日两掺.
    若问汉语怎样,
    实在有辱祖先.
    外表看似风光,
    内心有苦难言.
    生活难见规律,
    透支青春吃饭.
    技术飞速发展,
    自己脚步却慢.
    看到眼花缭乱,
    只感压力如山.
    生活归根到底,
    无非饥餐倦眠.
    何必庸人自扰,
    快乐原本简单
    May 16

    路由器的两个重要参数(转贴)

    补充一点路由器的基本知识,最近在写技术白皮书,发现很多东东都是不太清楚~~
     
    谈到路由协议和路由器时,管理间距(administrative distance)和量度(Metrics)是两组重要的参数。这两组参数真正的意思是什么呢?David Davis将向你介绍这两组参数,并解释了使用Cisco路由器需要了解管理参数重要性的原因。

      当提到路由协议和路由器使用哪条通道时,管理间距和量度是两组重要参数。充分熟悉这两组参数对了解网络性能、可靠性以及回路选择等各个部分具有非常重要的作用。

      如果你对管理间距和量度不太熟悉,你即便是看到了这些参数,也不会重视它们。如果你输入一条show ip route命令,你就会注意到在路由器后面的括弧里出现这两个参数。这里为一个例子:

    O 10.1.103.0/24 [110/791] via 10.1.100.2, 00:39:44, Serial1/0:0.21

      在这一例子中,110表示管理间距,791代表量度。通过输入相同的show ip route命令并指定路由器的方式,你可以看到更详细的信息,这有一个例子:

    Router# show ip route 10.1.103.0
    Routing entry for 10.1.103.0/24
    Known via "ospf 100", distance 110, metric 791, type intra area
    Last update from 10.1.100.2 on Serial1/0:0.21, 01:09:25 ago
    Routing Descriptor Blocks:
    * 10.1.100.2, from 172.16.1.1, 01:09:25 ago, via Serial1/0:0.21
    Route metric is 791, traffic share count is 1

      但是,这些数字真正的意思是什么呢?让我们详细了解每一个参数的含义。

    管理间距

      管理间距(简称AD)即为路由器面对不同来源的两路相同通道时决定对哪路通道的选择。也就是说,如果路由器收到来自不同来源但是内容相同的信息的时候,路由器信任哪一条通道。一个比较好的办法是,由于要尽力选择局部信息,而全局信息多少有些重复事件,所以局部信息更值得信任。

      如果你的路由器只有一个路由协议和一条WAN回路,或者如果你只使用静态路由,管理间距不会对你产生影响。但是这并不表示你不需要了解管理间距的作用。

      但是如果你有一个比较复杂的网络系统,比如有两条WAN回路,或者你使用了两个路由协议(即使其中有一个是静态路由),你就更应该了解管理间距的重要性。

      路由资源不只是诸如RIP、OSPF或者BGP这样一些路由协议,另外可能还有一些与路由器相连接的资源(比如路由器的界面)和静态路由(你作为管理服务器使用的路由器)。

      路由器根据管理间距来选择信任哪路资源。管理间距越小,其路由资源就越值得信任。

      为了便于作出这一决定,路由器安装了一个在所有可能资源和默认管理间距中展示的预程序安排表。表A提供了这一表格的示范。(虽然通过使用路由器配置模式中的distance命令,使管理器改变默认的管理间距,但这通常是一种不可取的方法。)

    SOURCE OF THE ROUTE DEFAULT DISTANCE

    Connected Interface or static route to an Interface 0
    Static route to an IP Address 1
    EIGRP Summary 5
    BGP External 20
    EIGRP Internal 90
    IGRP 100
    OSPF 110
    IS-IS 115
    RIP 120
    EIGRP External 170
    BGP Internal 200
    Unknown Source 255

      例如,如果路由器收到一个来自OSPF的路由和一个来自RIP的路由,它就会选择OSPF路由。因为OSPF的管理间距是110,而RIP的管理间距是120。

      这里有另外一个例子:比如说,你的路由器收到一个来自EIGRP Internal路由,它的管理间距是90,但是你不小心把一个静态路由输入到一个IP地址中,这个IP地址的间距管理地址是1。那么路由器将使用静态路由而不会使用EIGRP路由。

      最后强调一点:管理间距是CCNA考试中的重点。如果你正准备参加这场考试的话,一定要知道一般路由协议的管理间距。

    量度

      路由协议使用量度来确定当有两路有效路由可以送往同一目标文件时,把路由表放入哪个路由中。路由器把路由表放入量度最小的路由中,因为它认为这个路由是最近的因此是最好的。

      与管理间距相反,量度只有一个路由协议。他们不能处理多个资源库中路由。

    例如:输入一个show ip eigrp topology命令:

    P 10.55.103.0/24, 1 successors, FD is 6049536
    via 10.220.100.1 (6049536/5537536), Serial3/0
    via 10.55.100.14 (52825600/281600), Tunnel55

      注意这个EIGRP路由协议有两路路由输送给这个网络。但是,这个路由器只接受路由表中量度最短的其中一个路由。这有一个关于路由表条目的例子:

    Router# show ip route 10.55.103.0
    Routing entry for 10.55.103.0/24
    Known via "eigrp 100", distance 120, metric 6049536, type internal
    Redistributing via eigrp 100
    Last update from 10.220.100.1 on Serial3/0, 00:56:12 ago
    Routing Descriptor Blocks:
    * 10.220.100.1, from 10.220.100.1, 00:56:12 ago, via Serial3/0
    Route metric is 6049536, traffic share count is 1
    Total delay is 41000 microseconds, minimum bandwidth is 512 Kbit
    Reliability 226/255, minimum MTU 1500 bytes
    Loading 1/255, Hops 2

      不同的路由协议对量度有不同的算法。RIP的算法是基于跳数的,OSPF是基于带宽,而EIGRP根据带宽、延滞时间、负荷和可靠度来决定的。
    May 10

    数值转换

    最近项目中需要大量用到java的数值转换,忽然发现有些自己还真是不熟悉,网上的数值转换大多是针对c的,找了半天才找到一个,先记下,以后慢慢补充
     
    各种数字类型转换成字符串型:
    Strings=String.valueOf(value);//其中value为任意一种数字类型。
    字符串型转换成各种数字类型:
    Strings="169";
    byteb=Byte.parseByte(s);
    shortt=Short.parseShort(s);
    inti=Integer.parseInt(s);
    longl=Long.parseLong(s);
    Floatf=Float.parseFloat(s);
    Doubled=Double.parseDouble(s);
    数字类型与数字类对象之间的转换:
    byteb=169;
    Bytebo=newByte(b);
    b=bo.byteValue();
    shortt=169;
    Shortto=newShort(t);
    t=to.shortValue();
    inti=169;
    Integerio=newInteger(i);
    i=io.intValue();
    longl=169;
    Longlo=newLong(l);
    l=lo.longValue();
    floatf=169f;
    Floatfo=newFloat(f);
    f=fo.floatValue();
    doubled=169f;
    DoubledObj=newDouble(d);
    d=dObj.doubleValue();
    April 24

    java ftp 客户端代码

    这几天在做java的ftp客户端,在网上发现了一个写的很不错了,赶紧记下来,省得忘了!^_^
     
    import sun.net.ftp.*;
    import sun.net.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    import java.io.*;
    public class FtpApplet extends Applet
    {
    FtpClient aftp;
    DataOutputStream outputs ;
    TelnetInputStream ins;
    TelnetOutputStream outs;
    TextArea lsArea;
    Label LblPrompt;
    Button BtnConn;
    Button BtnClose;
    TextField TxtUID;
    TextField TxtPWD;
    TextField TxtHost;
    int ch;
    public String a="没有连接主机";
    String hostname="";
    public void init () {
    setBackground(Color.white);
    setLayout(new GridBagLayout());
    GridBagConstraints GBC = new GridBagConstraints();
    LblPrompt = new Label("没有连接主机");
    LblPrompt.setAlignment(Label.LEFT);
    BtnConn = new Button("连接");
    BtnClose = new Button("断开");
    BtnClose.enable(false);
    TxtUID = new TextField("",15);
    TxtPWD = new TextField("",15);
    TxtPWD.setEchoCharacter(’*’);
    TxtHost = new TextField("",20);
    Label LblUID = new Label("User ID:");
    Label LblPWD = new Label("PWD:");
    Label LblHost = new Label("Host:");
    lsArea = new TextArea(30,80);
    lsArea.setEditable(false);
    GBC.gridwidth= GridBagConstraints.REMAINDER;
    GBC.fill = GridBagConstraints.HORIZONTAL;
    ((GridBagLayout)getLayout()).setConstraints(LblPrompt,GBC);
    add(LblPrompt);
    GBC.gridwidth=1;
    ((GridBagLayout)getLayout()).setConstraints(LblHost,GBC);
    add(LblHost);
    GBC.gridwidth=GridBagConstraints.REMAINDER;
    ((GridBagLayout)getLayout()).setConstraints(TxtHost,GBC);
    add(TxtHost);
    GBC.gridwidth=1;
    ((GridBagLayout)getLayout()).setConstraints(LblUID,GBC);
    add(LblUID);
    GBC.gridwidth=1;
    ((GridBagLayout)getLayout()).setConstraints(TxtUID,GBC);
    add(TxtUID);
    GBC.gridwidth=1;
    ((GridBagLayout)getLayout()).setConstraints(LblPWD,GBC);
    add(LblPWD);
    GBC.gridwidth=1;
    ((GridBagLayout)getLayout()).setConstraints(TxtPWD,GBC);
    add(TxtPWD);
    GBC.gridwidth=1;
    GBC.weightx=2;
    ((GridBagLayout)getLayout()).setConstraints(BtnConn,GBC);
    add(BtnConn);
    GBC.gridwidth=GridBagConstraints.REMAINDER;
    ((GridBagLayout)getLayout()).setConstraints(BtnClose,GBC);
    add(BtnClose);
    GBC.gridwidth=GridBagConstraints.REMAINDER;
    GBC.fill = GridBagConstraints.HORIZONTAL;
    ((GridBagLayout)getLayout()).setConstraints(lsArea,GBC);
    add(lsArea);
    }
    public boolean connect(String hostname, String uid,String pwd)
    {
    this.hostname = hostname;
    LblPrompt.setText("正在连接,请等待.....");
    try{
    aftp =new FtpClient(hostname);
    aftp.login(uid,pwd);
    aftp.binary();
    showFileContents();
    }
    catch(FtpLoginException e){
    a="无权限与主机:"+hostname+"连接!";
    LblPrompt.setText(a);
    return false;
    }
    catch (IOException e){
    a="连接主机:"+hostname+"失败!";
    LblPrompt.setText(a);
    return false;
    }
    catch(SecurityException e)
    {
    a="无权限与主机:"+hostname+"连接!";
    LblPrompt.setText(a);
    return false;
    }
    LblPrompt.setText("连接主机:"+hostname+"成功!");
    return true;
    }
    public void stop()
    {
    try
    {
    aftp.closeServer();
    }
    catch(IOException e)
    {
    }
    }
    public void paint(Graphics g){
    }
    public boolean action(Event evt,Object obj)
    {
    if (evt.target == BtnConn)
    {
    LblPrompt.setText("正在连接,请等待.....");
    if (connect(TxtHost.getText(),TxtUID.getText(),TxtPWD.getText()))
    {
    BtnConn.setEnabled(false);
    BtnClose.setEnabled(true);
    }
    return true;
    }
    if (evt.target == BtnClose)
    {
    stop();
    BtnConn.enable(true);
    BtnClose.enable(false);
    LblPrompt.setText("与主机"+hostname+"连接已断开!");
    return true;
    }
    return super.action(evt,obj);
    }
    public boolean sendFile(String filepathname)
    {
     boolean result=true;
     if (aftp != null)
     {
     LblPrompt.setText("正在粘贴文件,请耐心等待....");
     String contentperline;
     try
     {
      a="粘贴成功!";
      String fg =new String("\\");
      int index = filepathname.lastIndexOf(fg);
      String filename = filepathname.substring(index+1);
      File localFile ;
      localFile = new File(filepathname) ;
      RandomAccessFile sendFile = new RandomAccessFile(filepathname,"r");
    //
      sendFile.seek(0);
      outs = aftp.put(filename);
      outputs = new DataOutputStream(outs);
      while (sendFile.getFilePointer() < sendFile.length() )
      {
       ch = sendFile.read();
       outputs.write(ch);
      }
      outs.close();
      sendFile.close();
     }
     catch(IOException e)
     {
      a = "粘贴失败!";
      result = false ;
     }
     LblPrompt.setText(a);
     showFileContents();
     }
     else{
      result = false;
     }
     return result;
    }
    public void showFileContents()
    {
    StringBuffer buf = new StringBuffer();
    lsArea.setText("");
    try
    {
    ins= aftp.list();
    while ((ch=ins.read())>=0){
    buf.append((char)ch);
    }
    lsArea.appendText(buf.toString());
    ins.close();
    }
    catch(IOException e)
    {
    }
    }
    public static void main(String args[]){
    Frame f = new Frame("FTP Client");
    f.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){
    System.exit(0);
    }
    });
    FtpApplet ftp = new FtpApplet();
    ftp.init();
    ftp.start();
    f.add(ftp);
    f.pack();
    f.setVisible(true);
    }
    }
     
    这是用awt写的,等有空把我用eclispe写的也贴上,^_^。其实实现的机制几乎是一样的
    April 06

    解决eclipse关于Error occurred during initialization of VM错误

    错误:Error occurred during initialization of VM
    java/lang/NoClassDefFoundError: java/lang/Object
     
    如果在安装eclipse后运行代码出现上述错误,需要检查JRE是否安装正确,主要是eclipse属性的install JREs项。因为系统启动要读默认的JRE,所以里面引用的内容不能出现错误;其次要检查buildpath中的classpath是否指向正确,尤其是eclipse的home指向要正确,如:C:/eclipse-SDK-3.0-win32/eclipse,指向的是该文件夹下的src.zip(好像是这个)
     
    如果是由于其他操作导致上述错误,需要检查JRE版本是否正确(检查JDK版本是否混乱也可以);其次,要在“运行”的classpath中将bootstrap entries和user entries恢复成默认值(这两项不可以为空)
     
    终于把eclipse环境恢复过来了,想想用了将近四五个小时其实就是classpath出现问题,恢复回去就好了,这个问题似乎具有很大的共性,不知道还有没有其他情况了,我的经验就是这样,赶紧先记下来省得忘了