虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

PRINTF

  • C语言实现病毒源码 当含有病毒部分的程序被执行时

    C语言实现病毒源码 当含有病毒部分的程序被执行时,首先进入病毒程序。它在磁盘上找扩展名为C的匹配文件,如果找到,查找是否有被传染过的标志“INFECTED”。如果有此标志,继续找其它的C文件,直至全部检查一遍。若没有这个标志,则 (1)在未被感染的C程序头部加入“INFECTED”已被传染标志。 (2)读取病毒文件的头文件,将其插入到即将被感染的文件头部。如果发现有重复则不插入。 (3)在主程序中插入“VIRUSES();”调用VIRUSES函数。寻找PRINTF、for、while、break语句,如果找到就在之前插入。 (4)在文件尾部插入VIRUSES_SUB子程序。 (5)在插入到将感染文件里面的VIRUSES_SUB子程序里面,必须把文件名改为当前自身的文件名,否则被传染后的文件经过编译、连接和运行后不能再继续传染。 (6)最后插入VIRUSES子程序。这个子程序里面调用了VIRUSES_SUB,执行到这里返回执行结果信息。

    标签: 病毒 C语言 源码

    上传时间: 2013-12-24

    上传用户:缥缈

  • //获得当前的模式 oldmode = vga_getcurrentmode[] //初始化 vga_init[] //判断是否支持该模式 if[vga_ha

    //获得当前的模式 oldmode = vga_getcurrentmode[] //初始化 vga_init[] //判断是否支持该模式 if[vga_hasmode[mode]] vga_setmode[mode] else { PRINTF["No such mode\n"] exit[1] } //取得信息 width = vga_getxdim[] height = vga_getydim[] colors = vga_getcolors[] //绘图 for[i=0 i<colors i++]{ vga_setcolor[i] vga_drawline[0, i, width-1, i] }

    标签: vga_getcurrentmode vga_init oldmode vga_ha

    上传时间: 2014-12-19

    上传用户:maizezhen

  • //获得当前的模式 oldmode = vga_getcurrentmode[] //初始化 vga_init[] //判断是否支持该模式 if[vga_ha

    //获得当前的模式 oldmode = vga_getcurrentmode[] //初始化 vga_init[] //判断是否支持该模式 if[vga_hasmode[mode]] vga_setmode[mode] else { PRINTF["No such mode\n"] exit[1] } //获得当前的模式 mode = vga_getcurrentmode[] info = vga_getmodeinfo[mode]

    标签: vga_getcurrentmode vga_init oldmode vga_ha

    上传时间: 2017-03-24

    上传用户:ecooo

  • srand[getpid[]] /* initialize some of the memory */ memset[heightmap, 0, MAPSIZE*MAPSIZE]

    srand[getpid[]] /* initialize some of the memory */ memset[heightmap, 0, MAPSIZE*MAPSIZE] memset[vpage, 0, RENDERWIDTH * RENDERHEIGHT] PRINTF["Creating dx d fractal terrain\n", MAPSIZE, MAPSIZE] heightmap[0] = [rand[] 128] + 64 // initialize starting point on map CreateFractalMap[0, 0, MAPSIZE, MAPSIZE] PRINTF["Smoothing terrain\n"] for [i = 0 i < 5 i++] SmoothMap[] MakeColorMap[]

    标签: MAPSIZE initialize heightmap getpid

    上传时间: 2014-01-04

    上传用户:ainimao

  • srand[getpid[]] /* initialize some of the memory */ memset[heightmap, 0, MAPSIZE*MAPSIZE]

    srand[getpid[]] /* initialize some of the memory */ memset[heightmap, 0, MAPSIZE*MAPSIZE] memset[vpage, 0, RENDERWIDTH * RENDERHEIGHT] PRINTF["Creating dx d fractal terrain\n", MAPSIZE, MAPSIZE] heightmap[0] = [rand[] 128] + 64 // initialize starting point on map CreateFractalMap[0, 0, MAPSIZE, MAPSIZE] PRINTF["Smoothing terrain\n"] for [i = 0 i < 5 i++] SmoothMap[] MakeColorMap[]

    标签: MAPSIZE initialize heightmap getpid

    上传时间: 2013-12-25

    上传用户:CSUSheep

  • //结构 struct fb_fix_screeninfo finfo struct fb_var_screeninfo vinfo //打开设备 fd = open[

    //结构 struct fb_fix_screeninfo finfo struct fb_var_screeninfo vinfo //打开设备 fd = open["/dev/fb0", O_RDWR] if [!fd] { PRINTF["Cannot open framebuffer device.\n"] exit[1] } //取得固定信息 if [ioctl[fd, FBIOGET_FSCREENINFO, &finfo]] { PRINTF["Error reading fixed information.\n"] exit[1] } if [ioctl[fd, FBIOGET_VSCREENINFO, &vinfo]] { PRINTF["Error reading variable information.\n"] exit[1] }

    标签: struct fb_fix_screeninfo fb_var_screeninfo finfo

    上传时间: 2014-08-16

    上传用户:gut1234567

  • 移植uip-1.0到Atmega32 1)把 uip-1.0 的所有文件加入到工程

    移植uip-1.0到Atmega32 1)把 uip-1.0 的所有文件加入到工程,包括 uip 目录的文件(除uip-split.c)、unix 目录的文件、lib 目录的文件; 2)修改 uip/uip-neighbor.c 文件的 void uip_neighbor_add(uip_ipaddr_t ipaddr, struct uip_neighbor_addr *addr) 函数,一般注释掉 PRINTF 语句即可,或者改为你自己的串口格式化打印实现。 3)uip 目录里的源文件除 uipopt.h 外一般都无需修改;uipopt.h 包含了 uip-conf.h ,所以大部分修改可以在 uip-conf.h 里进行。 uip-conf.h 里加入如下定义,可以减少编译的警告: #define notdef 0 #define UIP_CONF_IPV6 0 #define UIP_ARCH_ADD32 0 #define UIP_ARCH_CHKSUM 0 #define UIP_NEIGHBOR_CONF_ADDRTYPE 0 4)移植工作主要是 定时器中断程序 与 网络驱动 的编写

    标签: uip 1.0 Atmega 32

    上传时间: 2013-12-20

    上传用户:csgcd001

  • client socket include <sys/types.h> include <sys/socket.h> include <stdio.h> i

    client socket include <sys/types.h> include <sys/socket.h> include <stdio.h> include <netinet/in.h> include <arpa/inet.h> include <unistd.h> int main() { int sockfd int len struct sockaddr_in address int result char ch = A sockfd = socket(AF_INET, SOCK_STREAM, 0) address.sin_family = AF_INET address.sin_addr.s_addr = inet_addr("127.0.0.1") address.sin_port = 9734 len = sizeof(address) result = connect(sockfd, (struct sockaddr *)&address, len) if(result == -1) { perror("oops: client") exit(1) } write(sockfd, &ch, 1) read(sockfd, &ch, 1) PRINTF("char from server = c\n", ch) close(sockfd) exit(0) }

    标签: include socket sys gt

    上传时间: 2017-07-29

    上传用户:wab1981

  • 基于S3C2440移植的uC/OS-II最新源码(V2.83)

    基于S3C2440移植的uC/OS-II最新源码(V2.83),以及Flash、LCD、Nand Flash驱动和PRINTF库。 使用ADS开发环境。

    标签: S3C2440 OS-II 2.83 uC

    上传时间: 2017-09-07

    上传用户:colinal

  • 两个链表的交集

    两个链表的交集 #include<stdio.h> #include<stdlib.h> typedef struct Node{   int data;   struct  Node *next; }Node; void initpointer(struct Node *p){   p=NULL; } int  printlist(struct Node* head){   int flag=1;   head=head->next;   /*   因为标记1的地方你用了头结点,所以第一个数据域无效,应该从下一个头元结点开始   */   if(head==NULL)     PRINTF("NULL\n");   else   {     while(head!=NULL)     {       if(flag==1)       {       PRINTF("%d",head->data);       flag=0;       }       else       {         PRINTF(" %d",head->data);       }       head=head->next;     }     PRINTF("\n");   }   return 0; } struct Node *creatlist(struct Node *head) {      int n;    struct  Node *p1=(struct Node *)malloc(sizeof(struct Node));   p1->next=NULL; while(scanf("%d",&n),n!=-1) {   struct Node *pnode=(struct Node *)malloc(sizeof(struct Node));   pnode->next=NULL;      pnode->data=n;   if(head==NULL)     head=pnode;   p1->next=pnode;   p1=pnode; } return head; } struct Node *Intersect(struct Node *head1, struct Node *head2) { struct Node *p1=head1,*p2=head2;/*我这里没有用头指针和头结点,这里是首元结点head1里面就是第一个数据,一定要理解什么事头指针, 头结点,和首元结点 具体你一定要看这个博客:http://blog.sina.com.cn/s/blog_71e7e6fb0101lipz.html*/ struct Node *head,*p,*q; head = (struct Node *)malloc(sizeof(struct Node)); head->next = NULL; p = head; while( (p1!=NULL)&&(p2!=NULL) ) { if (p1->data == p2->data) { q = (struct Node *)malloc(sizeof(struct Node)); q->data = p1->data; q->next = NULL; p->next = q;//我可以认为你这里用了头结点,也就是说第一个数据域无效     **标记1** p = q; p1 = p1->next; p2 = p2->next; } else if (p1->data < p2->data) { p1 = p1->next; } else { p2 = p2->next; } } return head; } int main() {   struct Node *head=NULL,*headt=NULL,*t;   //initpointer(head);//这里的函数相当于head=NULL;  // initpointer(headt);//上面已经写了headt=NULL那么这里可以不用调用这个函数   head=creatlist(head);   headt=creatlist(headt);   t=Intersect(head,headt);   printlist(t); }

    标签: c语言编程

    上传时间: 2015-04-27

    上传用户:coco2017co