Частина 36 - Хакінг ASM 5 [Indirect Addressing Зареєстрованими реєстрів]

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

Давайте знову переглянемо джерело.

Давайте знову завантажимо бінарний файл у GDB і зупинимося на _start.

Як ми бачимо вище, ми бачимо команду print *0x804909e.. Ми бачимо, що вона повертає значення 5 десятичне. Бінарний файл під час виконання розміщує значення всередині константної метки в відповідну адресу пам'яті.

У цьому випадку ми бачимо, що вказівник на 0x804909e або *0x804909e містить 5 десятичне, як ми вказували вище. Целочисельний тип даних містить 4 байти даних. Наступне значення в нашій масиві буде збережене в 0x80490a2. Ця адреса пам'яті буде містити значення 8.

Якщо ми продовжимо просуватися далі в масиві, ми рухатимемося далі на 4 байти до наступного значення і так далі. Пам'ятайте, кожна адреса пам'яті в x86 32-бітної збірки містить 4 байти даних.

Давайте хакнемо!

Після зупинки на _start і виконання ми дослідили масив, як ми робили це в попередньому урокі. Тут ми змінили значення в 0x80490a2 на 66 десятичне замість 8 десятичного і ми побачили, що ми успішно змінили одне елемент масиву.

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

Я чекаю на побачення всіх наступної тижня, коли ми розпочнемо розробку нашого шостого програми збірки!

Дякую за увагу!

results matching ""

    No results matching ""