Частина 43 - Хакінг Пойнтерів!
Для повного змісту всіх уроків натисніть нижче, оскільки це надасть вам короткий зміст кожного уроку, а також теми, які будуть розглянуті.
Ми дійшли кінця шляху. Це останній відео в серії x64. Остання тема - це вказівники.
Що таке вказівники? Давайте почнемо з прикладу.
Вказівник нічого більше, ніж адреса пам'яті. Коли ми компілюємо, ми побачимо, де живе lottery_number у відображеній пам'яті (це є діючим прикладом, як на нашому нерозмапованому Radare).
Давайте додамо справжній вказівник до прикладу:
Ми бачимо той же значення:
Давайте експериментувати далі:
Ми бачимо, що адреса вказівника вказує на нову адресу:
Пам'ятайте, вказівники - це адреси пам'яті інших змінних. Давайте розглянемо це інакше:
Давайте компілюємо:
Ми віддераціюємо, виконавши наступні дії:
Далі ми компілюємо:
Ми бачимо, що віддераційований вказівник рівний 777.
Ми бачимо приклад із масивом:
Давайте відлагодимо:
Далі ми розіб'ємо:
Давайте хакнемо!
Давайте знову розглянемо байновий файл:
Ми бачимо, що ми хакнули значення 3 на 6.
Ми бачимо, що ми здійснили успішний хак.
Я сподіваюся, що протягом багатьох років через справжні сотні x86, ARM і x64 уроків ви маєте базову знання, як виконувати ХОД, щоб захистити критичні інфраструктури від зловмисних дій, розуміючи, як працює ворог. Ідіть і виконуйте ХОД