Розділ 11 - Позначники

Для повного змісту всіх уроків натисніть нижче, оскільки це надасть вам короткий зміст кожного уроку, а також теми, які будуть розглянуті.

https://github.com/mytechnotalent/Reverse-Engineering-Tutorial використовує плоский модель пам'яті, до якої ми маємо одне велике масив адрес, які існують всередині процесора.

Позначник нічого не більше ніж адреса певного значення в пам'яті. Давайте візьмемо приклад:

mov rax, 0x10

У цьому прикладі ми переміщаємо 10 в шістнадцятковому вигляді в регістр rax .

Аби отримати значення всередині rax в 0x10, ви використовуєте наступну синтаксис:

mov rbx, слово ptr [rax] 

Позачітаємо, що значення всередині пам'яті 0x10 було 0x20. Тому rax вказує на значення всередині 0x10, яке коли ви позначите за допомогою [rax] містить 0x20. 0x20 — це значення всередині регістру rax.

Ми переміщаємо слово значення вказаного всередині rax в регістр rbx.

Якщо ми зробимо:

mov слово ptr [rax], 0x66

Це помістить значення 0x66 в пам'ятну місцину 0x10. Ми знаємо, що значення всередині 0x10 пам'ятної місцини було 0x20. Тому нове значення всередині пам'ятної місцини 0x10 буде 0x66.

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

Наступна неділя ми потрапимо в завантаження ефективної адреси! Підтримуйте нас!

results matching ""

    No results matching ""