Частина 36 - x64 C++ 3 Хакінг [Part 3]

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

Давайте переглянемо свій код:

Компілюємо:

Запускаємо:

Давайте згадаємо цю лінію вище, коли ми порівняємо її зі зміненим байном.

Давайте відкриємо свій байн для запису та просто аналізуємо байн.

Ок, тут багато чого відбувається. Давайте розберемо це. Спочатку відкриємо Radare 2 у режимі запису, натиснувши 'r2 -w./1' і потім використаємо команду 'aaa' для аналізу байна. Потім використаємо команду 's sym.main' для звернення до головної частини байна, яка є нашим вхідним точкою. Потім ми виконувємо команду 'pdf' для розбору байна.

Ми бачимо, що називають прологом, де ми піднімаємо rbp вказівник стека на стек. Потім ми переміщаємо rsp в rbp для збереження та потім резервуємо 0x10 хекс-байти або 16 десятичних байтів на стеку, щоб звільнити місце для нашої рядка.

Якщо нічого цього не зрозуміло, будь ласка, поверніться до початку навчальної серії, щоб переглянути основи збірки та регістрів, оскільки це КРИТИЧНО важливо, щоб ви зрозуміли це, перш ніж продовжувати далі.

Ми можемо чітко побачити qword 'Hello World\n' в пам'яті адреси 0x2005 і потім бачимо нашу бібліотеку C++ call для виведення потоку, який є cout для виведення нашої рядки в термінал.

Давайте розглянемо 0x2005 для підтвердження того, що наша рядка знаходиться в цьому місці:

ТЕПЕР ЧАС НА ХАК!

Давайте змінимо значення на щось подібне:

Тепер давайте побачимо, що тепер знаходиться в пам'яті значення @ 0x2005!

БОМ! Як ми бачимо, ми змінили значення і коли ми вийдемо з Radare 2, воно буде записано і змінити наш байн відповідно.

Як ви бачите, ми змінили байн! Це дуже базове, але тепер ви маєте примітивний рівень розуміння відтворення інженерії C++ байна.

Наступна неділя ми продовжимо наш шлях у C і крок за кроком відтворюємо інженерію.

Український:.

results matching ""

    No results matching ""