Reverse Engineering для начинающих (Понимание языка ассемблера) [Денис Юричев] (pdf) читать постранично Книга в формате pdf ! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
Цвет фона черный светло-черный бежевый бежевый 2 персиковый зеленый серо-зеленый желтый синий серый красный белый
Цвет шрифта белый зеленый желтый синий темно-синий серый светло-серый тёмно-серый красный
Размер шрифта 14px 16px 18px 20px 22px 24px
Шрифт Arial, Helvetica, sans-serif "Arial Black", Gadget, sans-serif "Bookman Old Style", serif "Comic Sans MS", cursive Courier, monospace "Courier New", Courier, monospace Garamond, serif Georgia, serif Impact, Charcoal, sans-serif "Lucida Console", Monaco, monospace "Lucida Sans Unicode", "Lucida Grande", sans-serif "MS Sans Serif", Geneva, sans-serif "MS Serif", "New York", sans-serif "Palatino Linotype", "Book Antiqua", Palatino, serif Symbol, sans-serif Tahoma, Geneva, sans-serif "Times New Roman", Times, serif "Trebuchet MS", Helvetica, sans-serif Verdana, Geneva, sans-serif
Насыщенность шрифта жирный
Обычный стиль курсив Ширина текста 400px 500px 600px 700px 800px 900px 1000px 1100px 1200px Показывать меню Убрать меню Абзац 0px 4px 12px 16px 20px 24px 28px 32px 36px 40px
Межстрочный интервал 18px 20px 22px 24px 26px 28px 30px 32px
____
| _ \ _____
_____ _ __ ___ ___
| |_) / _ \ \ / / _ \ '__/ __|/ _ \
| _ < __/\ V / __/ | \__ \ __/
|_| \_\___| \_/ \___|_| |___/\___|
_____
_
_
| ____|_ __
__ _(_)_ __
___ ___ _ __(_)_ __
__ _
| _| | '_ \ / _` | | '_ \ / _ \/ _ \ '__| | '_ \ / _` |
| |___| | | | (_| | | | | | __/ __/ | | | | | | (_| |
|_____|_| |_|\__, |_|_| |_|\___|\___|_| |_|_| |_|\__, |
|___/
|___/
__
/ _| ___ _ __
| |_ / _ \| '__|
| _| (_) | |
|_| \___/|_|
____
_
| __ ) ___ __ _(_)_ __ _ __
___ _ __ ___
| _ \ / _ \/ _` | | '_ \| '_ \ / _ \ '__/ __|
| |_) | __/ (_| | | | | | | | | __/ | \__ \
|____/ \___|\__, |_|_| |_|_| |_|\___|_| |___/
|___/
i
Reverse Engineering для начинающих
(Понимание языка ассемблера)
Почему два названия? Читайте здесь: (стр. xvi).
Денис Юричев
cb a
©2013-2020, Денис Юричев.
Это произведение доступно по лицензии Creative Commons
«Attribution-ShareAlike 4.0 International» (CC BY-SA 4.0). Чтобы увидеть копию
этой лицензии, посетите
https://creativecommons.org/licenses/by-sa/4.0/.
Версия этого текста (27
ноября 2020 г.).
Самая новая версия текста (а также англоязычная версия) доступна на сайте
https://beginners.re/.
Нужны переводчики!
Возможно, вы захотите мне помочь с переводом этой работы на другие языки,
кроме английского и русского. Просто пришлите мне любой фрагмент переведенного текста (не важно, насколько короткий), и я добавлю его в исходный
код на LaTeX.
Не спрашивайте, нужно ли переводить. Просто делайте хоть что-нибудь. Я уже
перестал отвечать на емейлы вроде “что нужно сделать?”
Также, прочитайте это.
Посмотреть статистику языков можно прямо здесь: https://beginners.re/.
Скорость не важна, потому что это опен-сорсный проект все-таки. Ваше имя будет указано в числе участников проекта. Корейский, китайский и персидский
языки зарезервированы издателями. Английскую и русскую версии я делаю
сам, но английский у меня все еще ужасный, так что я буду очень признателен
за коррективы, итд. Даже мой русский несовершенный, так что я благодарен
за коррективы и русского текста!
Не стесняйтесь писать мне: .
Если вы заметили опечатку, ошибку или имеете какие-то либо соображения,
пожелания, пожалуйста, напишите мне: . Спасибо!
Краткое оглавление
1 Образцы кода
1
2 Важные фундаментальные вещи
574
3 Более сложные примеры
604
4 Java
857
5 Поиск в коде того что нужно
910
6 Специфичное для ОС
956
7 Инструменты
1030
8 Примеры из практики
1033
9 Примеры разбора закрытых (проприетарных) форматов файлов 1189
10 Прочее
1266
11 Что стоит почитать
1288
12 Сообщества
1292
ii
Послесловие
1294
Приложение
1296
Список принятых сокращений
1335
Глоссарий
1342
Предметный указатель
1345
Оглавление
1 Образцы кода
1.1 Метод . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Некоторые базовые понятия . . . . . . . .
1.2.1 Краткое введение в CPU . . . . . . .
1.2.2 Представление чисел . . . . . . . . .
1.3 Пустая функция . . . . . . . . . . . . . . . . .
1.3.1 x86 . . . . . . . . . . . . . . . . . . . . .
1.3.2 ARM . . . . . . . . . . . . . . . . . . . . .
1.3.3 MIPS . . . . . . . . . . . . . . . . . . . . .
1.3.4 Пустые функции на практике . . .
1.4 Возврат значения . . . . . . . . . . . . . . . .
1.4.1 x86 . . . . . . . . . . . . . . . . . . . . .
1.4.2 ARM . . . . . . . . . . . . . . . . . . . . .
1.4.3 MIPS . . . . . . . . . . . . . . . . . . . . .
1.4.4 На практике . . . . . . . . . . . . . . .
1.5 Hello, world! . . . . . . . . . . . . . . . . . . . .
1.5.1 x86 . . . . . . . . . . . . . . . . . . . . .
1.5.2 x86-64 . . . . . . . . . . . . . . . . . . .
1.5.3 ARM . . . . . . . . . . . . . . . . . . . . .
1.5.4 MIPS . . . . . . . . . . . . . . . . . . . . .
1.5.5 Вывод . . . . . . . . . . . . . . . . . . .
1.5.6 Упражнения . . . . . . . . . . . . . . .
1.6 Пролог и эпилог функций . . . . . . . . . .
1.6.1 Рекурсия . . . . . . . . . . . . . . . . .
1.7 Еще кое-что о пустой ф-ции . . . . . . . .
1.8 Еще кое-что о возвращаемых
Последние комментарии
5 часов 36 минут назад
15 часов 56 минут назад
1 день 4 часов назад
1 день 11 часов назад
1 день 12 часов назад
1 день 13 часов назад