Частина 9: Базова Архітектура x86

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

Комп'ютерна програма — це просто таблиця машинних інструкцій, що зберігається в пам'яті, в якій двійкові числа, що складають програму, є унікальними лише в тому сенсі, як з ними працює центральний процесор.

Основна архітектура складається з центрального процесора, пам'яті та пристроїв введення-виведення, які з'єднані між собою системною шиною, як описано нижче.

Процесор складається з 4 частин, а саме:

1) Блок управління - отримує та декодує інструкції з процесора, а потім зберігає та витягує їх з пам'яті.

2) Блок виконання - місце, де відбувається виконання команд отримання та витягання інструкцій.

3) Регістри - внутрішні комірки пам'яті процесора, що використовуються для тимчасового зберігання даних.

4) Прапорці - вказують на події, що відбуваються під час виконання.

Ми будемо обговорювати 32-бітну архітектуру x86, тому 32-бітний процесор спочатку витягує подвійне слово (довжиною 4 байти або 32 біти) з певної адреси в пам'яті, яке зчитується з пам'яті та завантажується в процесор. На цьому етапі процесор аналізує двійковий шаблон бітів у подвійному слові та починає виконувати процедуру, яку йому вказує витягнута машинна інструкція.

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

Ми відразу бачимо, що якщо ми контролюємо потік EIP, ми можемо змінити програму, щоб вона виконувала дії, які НЕ були передбачені. Це популярна техніка, на якій базується робота шкідливого програмного забезпечення.

Весь процес вилучення та виконання пов'язаний із системним годинником, який є генератором, що випромінює імпульси прямокутної форми з точними інтервалами.

У наступній частині ми глибше зануримося в архітектуру IA-32, обговоривши регістри загального призначення.

results matching ""

    No results matching ""