Введение в reverse engineering для начинающих [Денис Юричев] (pdf) читать постранично Книга в формате pdf ! Изображения и текст могут не отображаться!
Настройки текста:
Цвет фона
черный
светло-черный
бежевый
бежевый 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
Webdings, sans-serif
Wingdings, "Zapf Dingbats", 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
Введение в reverse engineering для начинающих
Денис Юричев cbnd
c
○2013,
Денис Юричев.
Это произведение доступно по лицензии Creative Commons
«Attribution-NonCommercial-NoDerivs» («Атрибуция — Некоммерческое использование — Без
производных произведений») 3.0 Непортированная. Чтобы увидеть копию этой лицензии,
посетите http://creativecommons.org/licenses/by-nc-nd/3.0/.
Версия этого текста (12 января 2014 г.).
Возможно, более новая версии текста, а так же англоязычная версия, также доступна по ссылке
http://yurichev.com/RE-book.html
Вы также можете подписаться на мой twitter для получения информации о новых версиях этого
текста, итд: @yurichev_ru, либо подписаться на список рассылки.
Начните изучение языка ассемблера и
reverse engineering сегодня!
Автор этой книги также доступен как преподаватель (по крайней мере в 2014).
Обращайтесь:
i
ОГЛАВЛЕНИЕ
ОГЛАВЛЕНИЕ
Оглавление
Предисловие
0.1 Мини-ЧаВО1 . . . . .
0.2 Об авторе . . . . . . .
0.3 Благодарности . . . .
0.4 Краудфандинг . . . .
0.4.1 Жертвователи
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
vii
. vii
. vii
. viii
. viii
. viii
1 Паттерны компиляторов
1.1 Hello, world! . . . . . . . . . . . . . . . . . . . .
1.1.1 x86 . . . . . . . . . . . . . . . . . . . . .
1.1.2 ARM . . . . . . . . . . . . . . . . . . . . .
1.2 Стек . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Для чего используется стек? . . . . . .
1.3 printf() с несколькими агрументами . . . .
1.3.1 x86 . . . . . . . . . . . . . . . . . . . . .
1.3.2 ARM: 3 аргумента в printf() . . . . .
1.3.3 ARM: 8 аргументов в printf() . . . .
1.3.4 Кстати . . . . . . . . . . . . . . . . . . . .
1.4 scanf() . . . . . . . . . . . . . . . . . . . . . . . .
1.4.1 Об указателях . . . . . . . . . . . . . . .
1.4.2 x86 . . . . . . . . . . . . . . . . . . . . .
1.4.3 ARM . . . . . . . . . . . . . . . . . . . . .
1.4.4 Глобальные переменные . . . . . . . . .
1.4.5 Проверка результата scanf() . . . . . . .
1.5 Передача параметров через стек . . . . . . . .
1.5.1 x86 . . . . . . . . . . . . . . . . . . . . .
1.5.2 ARM . . . . . . . . . . . . . . . . . . . . .
1.6 И еще немного о возвращаемых результатах .
1.7 Указатели . . . . . . . . . . . . . . . . . . . . . .
1.8 Условные переходы . . . . . . . . . . . . . . . .
1.8.1 x86 . . . . . . . . . . . . . . . . . . . . .
1.8.2 ARM . . . . . . . . . . . . . . . . . . . . .
1.9 switch()/case/default . . . . . . . . . . . . . . . .
1.9.1 Если вариантов мало . . . . . . . . . . .
1.9.2 И если много . . . . . . . . . . . . . . . .
1.10 Циклы . . . . . . . . . . . . . . . . . . . . . . . .
1.10.1 x86 . . . . . . . . . . . . . . . . . . . . .
1.10.2 ARM . . . . . . . . . . . . . . . . . . . . .
1.10.3 Еще кое-что . . . . . . . . . . . . . . . .
1.11 strlen() . . . . . . . . . . . . . . . . . . . . . . . .
1.11.1 x86 . . . . . . . . . . . . . . . . . . . . .
1.11.2 ARM . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Последние комментарии
1 час 24 минут назад
1 час 35 минут назад
1 час 49 минут назад
2 часов 35 минут назад
2 часов 37 минут назад
17 часов 25 минут назад
17 часов 58 минут назад
18 часов 5 минут назад
18 часов 7 минут назад
18 часов 22 минут назад