½Ã½ºÅÛ ÇØÅ·

 1576, 1/79 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   jwkzzangs
   MBR WriteFile()ÇÔ¼ö °ü·Ã Áú¹® µå¸³´Ï´Ù.

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1548 [º¹»ç]


mbr code
0x00000000  33 c0 8e d0 bc 00 7c fb 50 07 50 1f fc be 1b 7c   3.....|.P.P....|
0x00000010  bf 1b 06 50 57 b9 e5 01 f3 a4 cb bd be 07 b1 04   ...PW...........
0x00000020  38 6e 00 7c 09 75 13 83 c5 10 e2 f4 cd 18 8b f5   8n.|.u..........
0x00000030  83 c6 10 49 74 19 38 2c 74 f6 a0 b5 07 b4 07 8b   ...It.8,t.......
0x00000040  f0 ac 3c 00 74 fc bb 07 00 b4 0e cd 10 eb f2 88   ..<.t...........
0x00000050  4e 10 e8 46 00 73 2a fe 46 10 80 7e 04 0b 74 0b   N..F.s*.F..~..t.
0x00000060  80 7e 04 0c 74 05 a0 b6 07 75 d2 80 46 02 06 83   .~..t....u..F...
0x00000070  46 08 06 83 56 0a 00 e8 21 00 73 05 a0 b6 07 eb   F...V...!.s.....
0x00000080  bc 81 3e fe 7d 55 aa 74 0b 80 7e 10 00 74 c8 a0   ..>.}U.t..~..t..
0x00000090  b7 07 eb a9 8b fc 1e 57 8b f5 cb bf 05 00 8a 56   .......W.......V
0x000000a0  00 b4 08 cd 13 72 23 8a c1 24 3f 98 8a de 8a fc   .....r#..$?.....
0x000000b0  43 f7 e3 8b d1 86 d6 b1 06 d2 ee 42 f7 e2 39 56   C..........B..9V
0x000000c0  0a 77 23 72 05 39 46 08 73 1c b8 01 02 bb 00 7c   .w#r.9F.s......|
0x000000d0  8b 4e 02 8b 56 00 cd 13 73 51 4f 74 4e 32 e4 8a   .N..V...sQOtN2..
0x000000e0  56 00 cd 13 eb e4 8a 56 00 60 bb aa 55 b4 41 cd   V......V.`..U.A.
0x000000f0  13 72 36 81 fb 55 aa 75 30 f6 c1 01 74 2b 61 60   .r6..U.u0...t+a`
0x00000100  6a 00 6a 00 ff 76 0a ff 76 08 6a 00 68 00 7c 6a   j.j..v..v.j.h.|j
0x00000110  01 6a 10 b4 42 8b f4 cd 13 61 61 73 0e 4f 74 0b   .j..B....aas.Ot.
0x00000120  32 e4 8a 56 00 cd 13 eb d6 61 f9 c3 49 6e 76 61   2..V.....a..Inva
0x00000130  6c 69 64 20 70 61 72 74 69 74 69 6f 6e 20 74 61   lid partition ta
0x00000140  62 6c 65 00 45 72 72 6f 72 20 6c 6f 61 64 69 6e   ble.Error loadin
0x00000150  67 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74   g operating syst
0x00000160  65 6d 00 4d 69 73 73 69 6e 67 20 6f 70 65 72 61   em.Missing opera
0x00000170  74 69 6e 67 20 73 79 73 74 65 6d 00 00 00 00 00   ting system.....
0x00000180  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x00000190  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x000001a0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x000001b0  00 00 00 00 00 2c 44 63 00 00 00 00 00 00 00 00   .....,Dc........
0x000001c0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x000001d0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x000001e0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x000001f0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa   ..............U.

¹°¸® µð½ºÅ© 0¹ø ¼½ÅÍ¿¡ mbrºÎºÐÀÔ´Ï´Ù(length = 512)
¿©±â mbrºÎºÐÀ» µ¤¾î¾²±â(¿øÇÏ´Â byteÄÚµå·Î)¸¦ ½ÃµµÇÏ·Á´Âµ¥¿ä
WriteFile()¿¡¼­ ¸®ÅÏÀÌ false·Î µË´Ï´Ù.. write¸¦ ÇÏÁö ¸øÇÑ´Ù´Â ¶æÀä...
¿Ö ¾ÈµÇ´ÂÁö ÄÚµå º¸½Ã°í ´äº¯ ºÎʵ右´Ï´Ù ¤Ð

DWORD dwpointjump;
HANDLE hMbrwrite;
unsigned char tbuf[4];

tbuf[0] = 'a', tbuf[1] = 'a', tbuf[2] = 'a', tbuf[3] = '\0';

hMbrwrite = CreateFile("\\\\.\\PhysicalDrive0", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ |
                      FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);

if(hMbrread == INVALID_HANDLE_VALUE)
{
        printf("PhysicalDrive0 Open Error\n");
        return 0;
}

dwpointjump = SetFilePointer(hMbrwrite, 0, NULL, FILE_BEGIN);

if(dwpointjump == 0xFFFFFFFF)
{
        printf("Write SetFilePointer error\n");
}

if(WriteFile(hMbrwrite, tbuf, 3, NULL, NULL) == FALSE)   // writefile¿¡·¯ ó¸® ºÎºÐ
{
        printf("Write Error\n");                              // writefileÀ» ÇÏÁö ¸øÇÏ´Â ÀÌÀ¯´Â ¹»±î¿ä?¤Ð
}

CloseHandle(hMbrwrite);


  Hit : 3992     Date : 2011/12/13 12:34



    
phpmyadmin ¤»¤» Àú°Å µ¤¾î¾º¿ö¼­ ³¯¶ó°¡¸é º¹±¸ÄַܼΠ´Ù½Ã ¸¸µé±â ±ÍÂúÀºµ¥.. 2011/12/14  
kjwon15 À©7À̶ó¸é UAC È®ÀÎÇϼ¼¿ä 2011/12/14