ÇÁ·Î±×·¡¹Ö

 3206, 8/161 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   tlsdbcjs
   http://¾øÀ½
   ¾î¼Àºí·¯ ºÎÆ®·Îµå¿¡ ³í¸®¿À·ù ÇØ°á ºÎŹµå¸³´Ï´Ù. ¤Ð.¤Ð

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=2453 [º¹»ç]


boot.asm
==========================================================

[org 0]
            jmp 07C0h:start    

start:
            
            mov ax, cs
            mov ds, ax
            mov es, ax
  
            mov ax, 0xB800                    
            mov es, ax                    
            mov di, 0                
            mov ax, word [msgBack]         
            mov cx, 0x7FF                             
paint:
            mov word [es:di], ax
            add di,2                
            dec cx                    
            jnz paint                   
                          

    read:
            mov ax, 0x1000      ; ES:BX = 1000:0000
            mov es, ax          ;
            mov bx, 0           ;

            mov ah, 2           ; µð½ºÅ©¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ es:bx ÀÇ ÁּҷΠ 
            mov al, 1           ; 1 ¼½Å͸¦ ÀÐÀ» °ÍÀÌ´Ù.
            mov ch, 0           ; 0¹ø° Cylinder
            mov cl, 2           ; 2¹ø° ¼½ÅͺÎÅÍ Àб⠽ÃÀÛÇÑ´Ù.
            mov dh, 0           ; Head=0
            mov dl, 0           ; Drive=0  A:µå¶óÀ̺ê
            int 0x13            ; Read!

            jc read             ; ¿¡·¯°¡ ³ª¸é, ´Ù½Ã ÇÔ.

            jmp 0x1000:0000     ; kernel.bin ÀÌ À§Ä¡ÇÑ °÷À¸·Î Á¡ÇÁÇÑ´Ù.

            msgBack db '.', 0x67

            times 510-($-$$) db 0
            dw 0AA55h



kernel.asm
=========================================================
[org 0]
[bits 16]

start:        
        mov ax,cs                  ; CS ¿¡´Â 0x1000 ÀÌ µé¾î ÀÖ´Ù.
        mov ds,ax
        xor ax,ax
        mov ss,ax

        cli

        lgdt[gdtr]

        mov eax, cr0
        or eax, 0x00000001
        mov cr0, eax

        jmp $+2
        nop
        nop

        db 0x66
        db 0x67
        db 0xEA        
        dd PM_Start
        dw SysCodeSelector

[bits 32]


PM_Start:
        
        mov bx, SysDataSelector
        mov ds, bx
        mov es, bx
        mov fs, bx
        mov gs, bx
        mov ss, bx

        xor eax, eax
        mov ax, VideoSelector
        mov es, ax
        mov edi, 80*2*10+2*10
        lea esi, [ds:msgPMode]
        call printf
        
        jmp $






;-----------------------------------------;
;*************Sub Rutines*****************;
;-----------------------------------------;
printf:
        push eax
                
printf_loop:
        or al, al        
        jz printf_end
        mov al, byte [esi]        
        mov byte [es:edi], al        
        inc edi        
        mov byte [es:edi], 0x06
        inc esi                
        inc edi        
        jmp printf_loop
        
printf_end:
        pop eax                
        ret        

msgPMode db "We are in Protected Mode", 0        


;------------------------------------------;
;*********** GDT Table ********************;
;------------------------------------------;
gdtr:
        dw gdt_end - gdt - 1        ; GDTÀÇ limit
        dd gdt+0x10000          ; GDTÀÇ º£À̽º ¾îµå·¹½º

gdt:
        dw 0                        ; limit 0~15 ºñÆ®
        dw 0                        ; º£À̽º¾îµå·¹½ºÀÇ ÇÏÀ§ µÎ ¹ÙÀÌÆ®
        db 0                        ; º£À̽º¾îµå·¹½º 16~23 ºñÆ®
        db 0                        ; ŸÀÔ
        db 0                        ; limit 16~19 ºñÆ®, Ç÷¡±×
        db 0                        ; º£À̽º¾îµå·¹½º 31~24 ºñÆ®

SysCodeSelector        equ 0x08
        dw 0xFFFF               ; limit:0xFFFF
        dw 0x0000                ; base 0~15 bit
        db 0x01                        ; base 16~23 bit
        db 0x9A                        ; P:1, DPL:0, Code, non-conforming, readable
        db 0xCF                 ; G:1, D:1, limit 16~19 bit:0xF
        db 0x00                        ; base 24~32 bit

SysDataSelector        equ 0x10
        dw 0xFFFF               ; limit 0xFFFF
        dw 0x0000                ; base 0~15 bit
        db 0x01                        ; base 16~23 bit
        db 0x92                        ; P:1, DPL:0, data, expand-up, writable
        db 0xCF                 ; G:1, D:1, limit 16~19 bit:0xF
        db 0x00                        ; base 24~32 bit

VideoSelector        equ 0x18
        dw 0xFFFF               ; limit 0xFFFF
        dw 0x8000                ; base 0~15 bit
        db 0x0B                        ; base 16~23 bit
        db 0x92                        ; P:1, DPL:0, data, expand-up, writable
        db 0x40                 ; G:0, D:1, limit 16~19 bit:0
        db 0x00                        ; base 24~32 bit
gdt_end:


ºÎÆ®·Îµå¿¡¼­ Ä¿³ÎÀ» È£ÃâÇؼ­ We are in Protected ModeÀ» Ãâ·ÂÇϴ°ǵ¥¿ä

¹®Á¦´Â ÀÌ°ÍÀ» .img ¸¸µé¾î ºÎÆÃÇϸé We are in Protected ModeÀÌ Ãâ·ÂÀÌ ¾ÊµË´Ï´Ù.

±×·¡¼­ µð½º¾î¼Àºí·¯¸¦ Çß½À´Ï´Ù. ±×·±µ¥ ¿µ ¸ð¸£°Ú³×¿ä.. ¾îµð ¹«ÇÑ·çÇÁ¿¡ ºüÁø°Í°°Àºµ¥

¿ä... ¾îµð°¡ À߸øµÇ¾ú´ÂÁö °¡¸£ÃÄÁÖ¼¼¿ä ¤Ð.¤Ð

00000000  EA0500C007        jmp word 0x7c0:0x5
00000005  8CC8              mov ax,cs
00000007  8ED8              mov ds,ax
00000009  8EC0              mov es,ax
0000000B  B800B8            mov ax,0xb800
0000000E  8EC0              mov es,ax
00000010  BF0000            mov di,0x0
00000013  A14000            mov ax,[0x40]
00000016  B9FF07            mov cx,0x7ff
00000019  268905            mov [es:di],ax
0000001C  81C70200          add di,0x2
00000020  49                dec cx
00000021  75F6              jnz 0x19
00000023  B80010            mov ax,0x1000
00000026  8EC0              mov es,ax
00000028  BB0000            mov bx,0x0
0000002B  B402              mov ah,0x2
0000002D  B001              mov al,0x1
0000002F  B500              mov ch,0x0
00000031  B102              mov cl,0x2
00000033  B600              mov dh,0x0
00000035  B200              mov dl,0x0
00000037  CD13              int 0x13
00000039  72E8              jc 0x23
0000003B  EA00000010        jmp word 0x1000:0x0
00000040  2E670000          add [cs:eax],al
00000044  0000              add [bx+si],al
00000046  0000              add [bx+si],al
00000048  0000              add [bx+si],al
0000004A  0000              add [bx+si],al
0000004C  0000              add [bx+si],al
0000004E  0000              add [bx+si],al
00000050  0000              add [bx+si],al
00000052  0000              add [bx+si],al
00000054  0000              add [bx+si],al
00000056  0000              add [bx+si],al
00000058  0000              add [bx+si],al
0000005A  0000              add [bx+si],al
0000005C  0000              add [bx+si],al
0000005E  0000              add [bx+si],al
00000060  0000              add [bx+si],al
00000062  0000              add [bx+si],al
00000064  0000              add [bx+si],al
00000066  0000              add [bx+si],al
00000068  0000              add [bx+si],al
0000006A  0000              add [bx+si],al
0000006C  0000              add [bx+si],al
0000006E  0000              add [bx+si],al
00000070  0000              add [bx+si],al
00000072  0000              add [bx+si],al
00000074  0000              add [bx+si],al
00000076  0000              add [bx+si],al
00000078  0000              add [bx+si],al
0000007A  0000              add [bx+si],al
0000007C  0000              add [bx+si],al
0000007E  0000              add [bx+si],al
00000080  0000              add [bx+si],al
00000082  0000              add [bx+si],al
00000084  0000              add [bx+si],al
00000086  0000              add [bx+si],al
00000088  0000              add [bx+si],al
0000008A  0000              add [bx+si],al
0000008C  0000              add [bx+si],al
0000008E  0000              add [bx+si],al
00000090  0000              add [bx+si],al
00000092  0000              add [bx+si],al
00000094  0000              add [bx+si],al
00000096  0000              add [bx+si],al
00000098  0000              add [bx+si],al
0000009A  0000              add [bx+si],al
0000009C  0000              add [bx+si],al
0000009E  0000              add [bx+si],al
000000A0  0000              add [bx+si],al
000000A2  0000              add [bx+si],al
000000A4  0000              add [bx+si],al
000000A6  0000              add [bx+si],al
000000A8  0000              add [bx+si],al
000000AA  0000              add [bx+si],al
000000AC  0000              add [bx+si],al
000000AE  0000              add [bx+si],al
000000B0  0000              add [bx+si],al
000000B2  0000              add [bx+si],al
000000B4  0000              add [bx+si],al
000000B6  0000              add [bx+si],al
000000B8  0000              add [bx+si],al
000000BA  0000              add [bx+si],al
000000BC  0000              add [bx+si],al
000000BE  0000              add [bx+si],al
000000C0  0000              add [bx+si],al
000000C2  0000              add [bx+si],al
000000C4  0000              add [bx+si],al
000000C6  0000              add [bx+si],al
000000C8  0000              add [bx+si],al
000000CA  0000              add [bx+si],al
000000CC  0000              add [bx+si],al
000000CE  0000              add [bx+si],al
000000D0  0000              add [bx+si],al
000000D2  0000              add [bx+si],al
000000D4  0000              add [bx+si],al
000000D6  0000              add [bx+si],al
000000D8  0000              add [bx+si],al
000000DA  0000              add [bx+si],al
000000DC  0000              add [bx+si],al
000000DE  0000              add [bx+si],al
000000E0  0000              add [bx+si],al
000000E2  0000              add [bx+si],al
000000E4  0000              add [bx+si],al
000000E6  0000              add [bx+si],al
000000E8  0000              add [bx+si],al
000000EA  0000              add [bx+si],al
000000EC  0000              add [bx+si],al
000000EE  0000              add [bx+si],al
000000F0  0000              add [bx+si],al
000000F2  0000              add [bx+si],al
000000F4  0000              add [bx+si],al
000000F6  0000              add [bx+si],al
000000F8  0000              add [bx+si],al
000000FA  0000              add [bx+si],al
000000FC  0000              add [bx+si],al
000000FE  0000              add [bx+si],al
00000100  0000              add [bx+si],al
00000102  0000              add [bx+si],al
00000104  0000              add [bx+si],al
00000106  0000              add [bx+si],al
00000108  0000              add [bx+si],al
0000010A  0000              add [bx+si],al
0000010C  0000              add [bx+si],al
0000010E  0000              add [bx+si],al
00000110  0000              add [bx+si],al
00000112  0000              add [bx+si],al
00000114  0000              add [bx+si],al
00000116  0000              add [bx+si],al
00000118  0000              add [bx+si],al
0000011A  0000              add [bx+si],al
0000011C  0000              add [bx+si],al
0000011E  0000              add [bx+si],al
00000120  0000              add [bx+si],al
00000122  0000              add [bx+si],al
00000124  0000              add [bx+si],al
00000126  0000              add [bx+si],al
00000128  0000              add [bx+si],al
0000012A  0000              add [bx+si],al
0000012C  0000              add [bx+si],al
0000012E  0000              add [bx+si],al
00000130  0000              add [bx+si],al
00000132  0000              add [bx+si],al
00000134  0000              add [bx+si],al
00000136  0000              add [bx+si],al
00000138  0000              add [bx+si],al
0000013A  0000              add [bx+si],al
0000013C  0000              add [bx+si],al
0000013E  0000              add [bx+si],al
00000140  0000              add [bx+si],al
00000142  0000              add [bx+si],al
00000144  0000              add [bx+si],al
00000146  0000              add [bx+si],al
00000148  0000              add [bx+si],al
0000014A  0000              add [bx+si],al
0000014C  0000              add [bx+si],al
0000014E  0000              add [bx+si],al
00000150  0000              add [bx+si],al
00000152  0000              add [bx+si],al
00000154  0000              add [bx+si],al
00000156  0000              add [bx+si],al
00000158  0000              add [bx+si],al
0000015A  0000              add [bx+si],al
0000015C  0000              add [bx+si],al
0000015E  0000              add [bx+si],al
00000160  0000              add [bx+si],al
00000162  0000              add [bx+si],al
00000164  0000              add [bx+si],al
00000166  0000              add [bx+si],al
00000168  0000              add [bx+si],al
0000016A  0000              add [bx+si],al
0000016C  0000              add [bx+si],al
0000016E  0000              add [bx+si],al
00000170  0000              add [bx+si],al
00000172  0000              add [bx+si],al
00000174  0000              add [bx+si],al
00000176  0000              add [bx+si],al
00000178  0000              add [bx+si],al
0000017A  0000              add [bx+si],al
0000017C  0000              add [bx+si],al
0000017E  0000              add [bx+si],al
00000180  0000              add [bx+si],al
00000182  0000              add [bx+si],al
00000184  0000              add [bx+si],al
00000186  0000              add [bx+si],al
00000188  0000              add [bx+si],al
0000018A  0000              add [bx+si],al
0000018C  0000              add [bx+si],al
0000018E  0000              add [bx+si],al
00000190  0000              add [bx+si],al
00000192  0000              add [bx+si],al
00000194  0000              add [bx+si],al
00000196  0000              add [bx+si],al
00000198  0000              add [bx+si],al
0000019A  0000              add [bx+si],al
0000019C  0000              add [bx+si],al
0000019E  0000              add [bx+si],al
000001A0  0000              add [bx+si],al
000001A2  0000              add [bx+si],al
000001A4  0000              add [bx+si],al
000001A6  0000              add [bx+si],al
000001A8  0000              add [bx+si],al
000001AA  0000              add [bx+si],al
000001AC  0000              add [bx+si],al
000001AE  0000              add [bx+si],al
000001B0  0000              add [bx+si],al
000001B2  0000              add [bx+si],al
000001B4  0000              add [bx+si],al
000001B6  0000              add [bx+si],al
000001B8  0000              add [bx+si],al
000001BA  0000              add [bx+si],al
000001BC  0000              add [bx+si],al
000001BE  0000              add [bx+si],al
000001C0  0000              add [bx+si],al
000001C2  0000              add [bx+si],al
000001C4  0000              add [bx+si],al
000001C6  0000              add [bx+si],al
000001C8  0000              add [bx+si],al
000001CA  0000              add [bx+si],al
000001CC  0000              add [bx+si],al
000001CE  0000              add [bx+si],al
000001D0  0000              add [bx+si],al
000001D2  0000              add [bx+si],al
000001D4  0000              add [bx+si],al
000001D6  0000              add [bx+si],al
000001D8  0000              add [bx+si],al
000001DA  0000              add [bx+si],al
000001DC  0000              add [bx+si],al
000001DE  0000              add [bx+si],al
000001E0  0000              add [bx+si],al
000001E2  0000              add [bx+si],al
000001E4  0000              add [bx+si],al
000001E6  0000              add [bx+si],al
000001E8  0000              add [bx+si],al
000001EA  0000              add [bx+si],al
000001EC  0000              add [bx+si],al
000001EE  0000              add [bx+si],al
000001F0  0000              add [bx+si],al
000001F2  0000              add [bx+si],al
000001F4  0000              add [bx+si],al
000001F6  0000              add [bx+si],al
000001F8  0000              add [bx+si],al
000001FA  0000              add [bx+si],al
000001FC  0000              add [bx+si],al
000001FE  55                push bp
000001FF  AA                stosb
00000200  8CC8              mov ax,cs
00000202  8ED8              mov ds,ax
00000204  31C0              xor ax,ax
00000206  8ED0              mov ss,ax
00000208  FA                cli
00000209  0F01168500        lgdt [0x85]
0000020E  0F20C0            mov eax,cr0
00000211  660D01000000      or eax,0x1
00000217  0F22C0            mov cr0,eax
0000021A  E9FFFF            jmp word 0x21c
0000021D  90                nop
0000021E  90                nop
0000021F  6667EA2800000008  jmp dword 0x8:0x28
         -00
00000228  66BB10008EDB      mov ebx,0xdb8e0010
0000022E  8EC3              mov es,bx
00000230  8EE3              mov fs,bx
00000232  8EEB              mov gs,bx
00000234  8ED3              mov ss,bx
00000236  31C0              xor ax,ax
00000238  66B818008EC0      mov eax,0xc08e0018
0000023E  BF5406            mov di,0x654
00000241  0000              add [bx+si],al
00000243  3E8D35            lea si,[ds:di]
00000246  6C                insb
00000247  0000              add [bx+si],al
00000249  00E8              add al,ch
0000024B  050000            add ax,0x0
0000024E  00E9              add cl,ch
00000250  FB                sti
00000251  FF                db 0xff
00000252  FF                db 0xff
00000253  FF5008            call word near [bx+si+0x8]
00000256  C0                db 0xc0
00000257  7411              jz 0x26a
00000259  8A062688          mov al,[0x8826]
0000025D  07                pop es
0000025E  47                inc di
0000025F  26C60706          mov byte [es:bx],0x6
00000263  46                inc si
00000264  47                inc di
00000265  E9EBFF            jmp word 0x253
00000268  FF                db 0xff
00000269  FF58C3            call word far [bx+si-0x3d]
0000026C  57                push di
0000026D  65206172          and [gs:bx+di+0x72],ah
00000271  6520696E          and [gs:bx+di+0x6e],ch
00000275  205072            and [bx+si+0x72],dl
00000278  6F                outsw
00000279  7465              jz 0x2e0
0000027B  637465            arpl [si+0x65],si
0000027E  64204D6F          and [fs:di+0x6f],cl
00000282  6465001F          add [gs:bx],bl
00000286  008B0001          add [bp+di+0x100],cl
0000028A  0000              add [bx+si],al
0000028C  0000              add [bx+si],al
0000028E  0000              add [bx+si],al
00000290  0000              add [bx+si],al
00000292  00FF              add bh,bh
00000294  FF00              inc word [bx+si]
00000296  0001              add [bx+di],al
00000298  9ACF00FFFF        call word 0xffff:0xcf
0000029D  0000              add [bx+si],al
0000029F  0192CF00          add [bp+si+0xcf],dx
000002A3  FF                db 0xff
000002A4  FF00              inc word [bx+si]
000002A6  800B92            or byte [bp+di],0x92
000002A9  40                inc ax
000002AA  00                db 0x00

  Hit : 3325     Date : 2010/05/18 10:19



    
sjh21a ¾Æ..ÀÌÃ¥À̱º¿ä ¤»
¾Æ¸¶ ÄÚµå»ó¿¡ ¿À·ù°¡ ¾ø´Ù¸é, ¾î¼Àºí·¯ ¹öÀü ¶§¹®¿¡ ±×·² °Ì´Ï´Ù.
ÇØ´ç ¿¹Á¦´Â nasm À» ¾²´Â°É·Î ¾Ë°í Àִµ¥, ƯÁ¤ ¹öÀüÀÇ nasm ÀÌÈÄ ºÎÅÏ ¸ðµç ·¹Áö½ºÅ͸¦ 32ºñÆ®·Î 󸮸¦ Çؼ­ ±×·² °Ì´Ï´Ù.
Ã¥¿¡ ³ª¿Â nasm ¹öÀüÀ» ¾²½Ã´øÁö, ¹öÀü ¸í½Ã°¡ ¾ÈµÇÀÖÀ¸¸é ¿¹Àü ¹öÀüÀ¸·Î Çѹø Çغ¸¼¼¿ä~
2010/05/19  
kjwon15 org ¸¦ 7c00À¸·Î Çغ¸¼¼¿ä
jmp 07c0 ÀÌ À߸øµÈ°ÉÁöµµ ¸ð¸£°Ú½À´Ï´Ù¸¸.. ¾Æ¸¶ 7c00ÀÏ°Ì´Ï´Ù.
2010/05/19  
tlsdbcjs µÑ´Ù ¾ÊµÇ³×¿ä. ¤Ð.¤Ð 7c00Àº ÄÄÆÄÀÏ ¿À·ù°¡ ³ª±¸¿ä.. ¹öÀüµµ 0.98.38 win ¹öÀüÀ¸·Î ¹Ù²ã¼­ µ¹·È´Âµ¥µµ Ãâ·Â »óÅ´ ¶È°°³×¿ä..
°á±¹ nask·Î ³Ñ¾î¿Í¾ß°Ú³×¿ä...¤Ð.¤Ð
2010/05/20  
¹Ùº¼ÀÌ db 0x66
db 0x67
db 0xEA
dd PM_Start
dw SysCodeSelector
À̺κÐÀ» jmp dword SysCodeSelector:PM_Start
·Î °íÃĺ¸¼¼¿ä..ÈåÀ½..
Àú¶û °°Àº ±æÀ» °È°í °è½Åµí ¤¾¤¾
2010/05/21  
3066   ¾î¼Àºí¸®¾î ....     leedoott
06/23 2779
3065   ¾î¼Àºí¸®¾î * Ãâ·Â ÇÁ·Î±×·¥ Áú¹®¿©.[1]     killer759
04/14 3463
3064   ¾î¼Àºí¸®ÀÇ ÀÌ¿ë[1]     ¶Ë¸¶·ç
12/17 3111
3063   ¾î¼Àºí¸®...[7]     µÎ·ç¹¶¼ú
02/28 5915
3062   ¾î¼Àºí¸® ¾ð¾î.Áú¹® µå¸³´Ï´Ù.[1]     ¸Û¸ÛÀÇÁ¦ÀÚ
10/21 2892
3061   ¾î¼Àºí¸® ¶óº§·Î Á¡ÇÁ...[5]     gamja
03/11 2770
3060   ¾î¼Àºí¸® °øºÎ Áß ±Ã±ÝÇÑ °ÍÀÌ ÀÖ¾î¿ä.     pjm2108
10/07 2686
3059   ¾î¼Àºí¸® °£´ÜÇÑ ¿¬»ê[5]     ¿Ã·¹
10/20 4196
3058   ¾î¼Àºí¸® °£´ÜÇÑ Åø.[4]     intmain1202
07/21 2722
3057   ¾î¼Àºí¸® getkeystate...     gws730
04/13 3112
3056   ¾î¼Àºí¸® Çؼ®Á» ÇØÁÖ¼¼¿ä [1]     dosam
12/08 3329
3055   ¾î¼Àºí¸® Á¾°áÀںР°è½Å°¡¿ä Áú¹®...     sdw2648
04/03 3117
3054   ¾î¼Àºí¸® Áú¹®..     ssonacy
11/02 2886
3053   ¾î¼Àºí·¯¿¡ °üÇؼ­ ±Ã±ÝÇÑ°Ô Àִµ¥¿ä[1]     mithacker
10/18 2833
  ¾î¼Àºí·¯ ºÎÆ®·Îµå¿¡ ³í¸®¿À·ù ÇØ°á ºÎŹµå¸³´Ï´Ù. ¤Ð.¤Ð[4]     tlsdbcjs
05/18 3324
3051   ¾î¼Àºí·¯ Äڵ忡 °üÇÏ¿©[2]     hotbloodswj
02/11 3442
3050   ¾î¼Àºí·¯ Áú¹®ÀÌ¿ä ¤Ð.¤Ð(½©ÄÚµå ÀÌÇØÇϽźпä^^)     overpowerman
11/04 3271
3049   ¾î¼Àºí·¯ Áú¹® ÀÖ½À´Ï´Ù!!     mkseo82
06/03 2600
3048   ¾î¼Àºí call ¸í·É[5]     µÎ·ç¹¶¼ú
02/28 2987
3047   ¾î¼À°ª ±¸ÇÏ´Â °ÍÁ»,,     lsh8731
08/04 3625
[1][2][3][4][5][6][7] 8 [9][10]..[161]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org