Sektor rozruchowy
Sektor rozruchowy – konkretny obszar obejmujący najczęściej pierwsze 512 bajtów dysku twardego, dyskietki, podobnego nośnika danych lub samej partycji. Zawiera kluczowe informacje potrzebne do rozpoczęcia procesu rozruchu systemu operacyjnego.
Każda partycja posiada sektor rozruchowy, natomiast cały dysk posiada główny sektor rozruchowy (MBR). Sektor rozruchowy partycji może posiadać własny program rozruchowy, co wykorzystuje program NT OS Loader służący do uruchamiania systemów operacyjnych z rodziny Windows NT starszych niż Windows Vista. Program rozruchowy zawarty w sektorze rozruchowym partycji może zostać wykonany tylko po przekazaniu mu sterowania przez program rozruchowy zawarty w MBR-ze, ponieważ BIOS umie uruchamiać program rozruchowy tylko z MBR-u.
Sektory rozruchowe często były wykorzystywane przez różnego rodzaju wirusy. Wirus zmieniał adres programu rozruchowego systemu na adres swojego kodu, wykonywał się i automatycznie instrukcją w assemblerze JMP FAR oddawał sterowanie programowi wczytującemu system. Celem tej operacji było uruchomienie wirusa przed uruchomieniem systemu.
Po uruchomieniu sektora rozruchowego rejestry mogą mieć wartość:
Rejestr | USB Pendrive | NT OS Loader |
---|---|---|
EAX | 7D3DBCC1h | 0000001Eh |
ECX | 18F00000h | 0000FFFEh |
EDX | 00000080h | 00000080h |
EBX | 00563EB5h | 00063000h |
ESP | 00007BF0h | 00000100h |
EBP | 00937C00h | 00000000h |
ESI | 1EAD7C0Bh | 00000000h |
EDI | 00107BF0h | 00000000h |
ES | 0000h | 0000h |
CS | 0000h | 0000h |
SS | 2000h | 001Eh |
DS | 2000h | 0000h |
FS | F000h | |
GS | 0661h | |
EIP | 00000000h | 00007C00h |
Przy starcie z DVD ds=0700h, program jest wrzucany podobnie jak z dyskietki w adres 00007C00h.