Введение в reverse engineering для начинающих [Денис Юричев] (pdf) читать постранично

-  Введение в reverse engineering для начинающих  2.09 Мб, 362с. скачать: (pdf) - (pdf+fbd)  читать: (полностью) - (постранично) - Денис Юричев

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Введение в 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 . . . . . . . . . . . . . . . . . . . .