Денис Юричев - Reverse Engineering для начинающих (Понимание языка ассемблера)
Название: | Reverse Engineering для начинающих (Понимание языка ассемблера) | |
Автор: | Денис Юричев | |
Жанр: | Самиздат, сетевая литература, Литература ХXI века (эпоха Глобализации экономики), Крэкинг и реверсинжиниринг, Assembler | |
Изадано в серии: | неизвестно | |
Издательство: | СИ | |
Год издания: | 2020 | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Reverse Engineering для начинающих (Понимание языка ассемблера)"
Основы реверсинжиниринга.
Читаем онлайн "Reverse Engineering для начинающих (Понимание языка ассемблера)". [Страница - 2]
- 1
- 2
- 3
- 4
- . . .
- последняя (115) »
значениях
iii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
2
2
4
8
8
8
8
9
10
10
11
11
11
12
12
20
24
33
39
39
40
40
40
41
1.9 Стек . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.9.1 Почему стек растет в обратную сторону? . . . . . . . . . . . . . .
1.9.2 Для чего используется стек? . . . . . . . . . . . . . . . . . . . . . . .
1.9.3 Разметка типичного стека . . . . . . . . . . . . . . . . . . . . . . . .
1.9.4 Мусор в стеке . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.9.5 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.10 Почти пустая ф-ция . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.11 printf() с несколькими аргументами . . . . . . . . . . . . . . . . . . . . .
1.11.1 x86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.11.2 ARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.11.3 MIPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.11.4 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.11.5 Кстати . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.12 scanf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.12.1 Простой пример . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.12.2 Классическая ошибка . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.12.3 Глобальные переменные . . . . . . . . . . . . . . . . . . . . . . . .
1.12.4 Проверка результата scanf() . . . . . . . . . . . . . . . . . . . . . .
1.12.5 Упражнение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.13 Стоит отметить: глобальные и локальные переменные . . . . . . . .
1.14 Доступ к переданным аргументам . . . . . . . . . . . . . . . . . . . . . .
1.14.1 x86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14.2 x64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14.3 ARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14.4 MIPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.15 Ещё о возвращаемых результатах . . . . . . . . . . . . . . . . . . . . . .
1.15.1 Попытка использовать результат функции возвращающей
void . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.15.2 Что если не использовать результат функции? . . . . . . . . .
1.15.3 Возврат структуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.16 Указатели . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.16.1 Возврат значений . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.16.2 Обменять входные значения друг с другом . . . . . . . . . . . .
1.17 Оператор GOTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.17.1 Мертвый код . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.17.2 Упражнение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.18 Условные переходы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.18.1 Простой пример . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.18.2 Вычисление абсолютной величины . . . . . . . . . . . . . . . . .
1.18.3 Тернарный условный оператор . . . . . . . . . . . . . . . . . . . .
1.18.4 Поиск минимального и максимального значения . . . . . . . .
1.18.5 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.18.6 Упражнение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.19 Взлом ПО . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.20 Пранк: невозможность выйти из Windows 7 . . . . . . . . . . . . . . . .
1.21 switch()/case/default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.21.1 Если вариантов мало . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.21.2 И если много . . . . . . . . . --">
iii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
2
2
4
8
8
8
8
9
10
10
11
11
11
12
12
20
24
33
39
39
40
40
40
41
1.9 Стек . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.9.1 Почему стек растет в обратную сторону? . . . . . . . . . . . . . .
1.9.2 Для чего используется стек? . . . . . . . . . . . . . . . . . . . . . . .
1.9.3 Разметка типичного стека . . . . . . . . . . . . . . . . . . . . . . . .
1.9.4 Мусор в стеке . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.9.5 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.10 Почти пустая ф-ция . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.11 printf() с несколькими аргументами . . . . . . . . . . . . . . . . . . . . .
1.11.1 x86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.11.2 ARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.11.3 MIPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.11.4 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.11.5 Кстати . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.12 scanf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.12.1 Простой пример . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.12.2 Классическая ошибка . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.12.3 Глобальные переменные . . . . . . . . . . . . . . . . . . . . . . . .
1.12.4 Проверка результата scanf() . . . . . . . . . . . . . . . . . . . . . .
1.12.5 Упражнение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.13 Стоит отметить: глобальные и локальные переменные . . . . . . . .
1.14 Доступ к переданным аргументам . . . . . . . . . . . . . . . . . . . . . .
1.14.1 x86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14.2 x64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14.3 ARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14.4 MIPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.15 Ещё о возвращаемых результатах . . . . . . . . . . . . . . . . . . . . . .
1.15.1 Попытка использовать результат функции возвращающей
void . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.15.2 Что если не использовать результат функции? . . . . . . . . .
1.15.3 Возврат структуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.16 Указатели . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.16.1 Возврат значений . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.16.2 Обменять входные значения друг с другом . . . . . . . . . . . .
1.17 Оператор GOTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.17.1 Мертвый код . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.17.2 Упражнение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.18 Условные переходы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.18.1 Простой пример . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.18.2 Вычисление абсолютной величины . . . . . . . . . . . . . . . . .
1.18.3 Тернарный условный оператор . . . . . . . . . . . . . . . . . . . .
1.18.4 Поиск минимального и максимального значения . . . . . . . .
1.18.5 Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.18.6 Упражнение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.19 Взлом ПО . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.20 Пранк: невозможность выйти из Windows 7 . . . . . . . . . . . . . . . .
1.21 switch()/case/default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.21.1 Если вариантов мало . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.21.2 И если много . . . . . . . . . --">
- 1
- 2
- 3
- 4
- . . .
- последняя (115) »