Частина 25 - Основи Сектору Запуску [Part 8]

Для повного змісту змісту всіх уроків натисніть нижче, оскільки це надасть вам короткий зміст кожного уроку, а також теми, які будуть розглянуті. https://github.com/mytechnotalent/Reverse-Engineering-Tutorial

Сьогодні ми об’єднаємо всі частини. Ми створимо свій власний ОС, який нічого не робить, крім запуску, встановлення режиму відео та потім тільки приймає числові цифри в консолі. Це останній урок цієї міні-серії Основи Сектора Запуску.

Давайте розглянемо наш код:

Перше, що ми робимо, це переміщаємося в програмований сектор коду сектора запуску за адресою 0x7c00. Потім встановлюємо базовий стек і ідентифікуємо область для нашого стека та встановлюємо вказівник бази в вказівник стека.

Потім call нашу функцію режиму відео, де встановлюємо консоль 640x200 у грейску. Потім call нашу функцію отримання вхідних даних, яка тільки дозволяє цифри 0-9, як ви бачите 0x30 це є хекс-ASCII-значення 0, а 0x39 це є хекс-ASCII-значення 9. Якщо користувач вводить щось інше в консолі, нічого не потрапляє в консоль. Це абсолютний контроль, який ви маєте в Асемблері.

Давайте скомпілюємо та запустимо:

Потім ми бачимо консоль qemu:

Як ви бачите, я тільки можу вводити числові цифри в наш ОС. Спробуйте це самостійно. Напишіть код та скомпілюйте та запустіть в редакторі qemu. Якщо ви не маєте встановленого qemu, я показую вам в деталях, як встановити його в останніх двох уроках.

Ви маєте взяти час, щоб добре вивчити, що я роблю тут, оскільки це критично зрозуміти, як ваш комп'ютер запускається перед входом в 32, потім 64-бітний режим.

Наступна неділя ми просто обговоримо високорівневий концепт, як ваш комп'ютер переправляє 64-бітний ОС.

results matching ""

    No results matching ""