forked from wangyif2/RE-for-beginners
-
Notifications
You must be signed in to change notification settings - Fork 1
/
preface.tex
150 lines (117 loc) · 7.96 KB
/
preface.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
\section*{\RU{Предисловие}\EN{Preface}}
\iffalse
\RU{Здесь (будет) немного моих заметок о \gls{reverse engineering} на русском языке для начинающих,
для тех кто хочет научиться понимать создаваемый \CCpp компиляторами код для x86 (коего,
практически, больше всего остального) и ARM.}
\EN{Here are some of my notes in English for beginners in \gls{reverse engineering}
who would like to learn to understand x86 (which accounts for almost
all executable software in the world) and ARM code created by \CCpp compilers.}
\fi
\RU{У термина \q{\gls{reverse engineering}} несколько популярных значений:
1) исследование скомпилированных
программ; 2) сканирование трехмерной модели для последующего копирования;
3) восстановление структуры СУБД. Настоящий сборник заметок
связан с первым значением.}
\EN{There are several popular meanings of the term \q{\gls{reverse engineering}}:
1) The reverse engineering of software: researching compiled programs;
2) The scanning of 3D structures and the subsequent digital manipulation required order to duplicate them;
3) recreating \ac{DBMS} structure.
This book is about the first meaning.}
\ifx\LITE\undefined
\subsection*{\RU{Рассмотренные темы}\EN{Topics discussed in-depth}}
x86/x64, ARM/ARM64, MIPS, Java/JVM.
\subsection*{\RU{Затронутые темы}\EN{Topics touched upon}}
\oracle (\myref{oracle}),
Itanium (\myref{itanium}),
\RU{донглы для защиты от копирования}\EN{copy-protection dongles} (\myref{dongles}),
LD\_PRELOAD (\myref{ld_preload}),
\RU{переполнение стека}\EN{stack overflow},
\ac{ELF},
\RU{формат файла PE в win32}\EN{win32 PE file format} (\myref{win32_pe}),
x86-64 (\myref{x86-64}),
\RU{критические секции}\EN{critical sections} (\myref{critical_sections}),
\RU{системные вызовы}\EN{syscalls} (\myref{syscalls}),
\ac{TLS},
\RU{адресно-независимый код}\EN{position-independent code} (\ac{PIC}) (\myref{sec:PIC}),
profile-guided optimization (\myref{PGO}),
C++ STL (\myref{cpp_STL}),
OpenMP (\myref{openmp}),
SEH (\myref{sec:SEH}).
\fi
\subsection*{\RU{Об авторе}\EN{About the author}}
\begin{tabularx}{\textwidth}{ l X }
\raisebox{-\totalheight}{
\includegraphics[scale=0.60]{Dennis_Yurichev.jpg}
}
&
\RU{Денис Юричев~--- опытный reverse engineer и программист.}
\EN{Dennis Yurichev is an experienced reverse engineer and programmer.}
\EN{He can be contacted by email:}
\RU{С ним можно контактировать по емейлу:} \textbf{\EMAIL{}},
\EN{or on Skype:}
\RU{или по Skype:} \textbf{dennis.yurichev}.
% FIXME: no link. \tablefootnote doesn't work
\end{tabularx}
\subsection*{\RU{Благодарности}\EN{Thanks}}
\RU{Тем, кто много помогал мне отвечая на массу вопросов}\EN{For patiently answering all my questions}:
\HERMIT, \RU{Слава \q{Avid} Казаков}\EN{Slava \q{Avid} Kazakov}.
\RU{Тем, кто присылал замечания об ошибках и неточностях}\EN{For sending me notes
about mistakes and inaccuracies}:
\RU{Станислав \q{Beaver} Бобрицкий, Александр Лысенко}%
\EN{Stanislav \q{Beaver} Bobrytskyy, Alexander Lysenko}, Shell Rocket, Zhu Ruijin, Changmin Heo.
\RU{Просто помогали разными способами}\EN{For helping me in other ways}:
\RU{Андрей Зубинский}\EN{Andrew Zubinski},
Arnaud Patard (rtp \RU{на}\EN{on} \#debian-arm IRC),
\EN{Aliaksandr Autayeu}\RU{Александр Автаев}.
\RU{Переводчику на китайский язык}\EN{For translating the book into Simplified Chinese}: Archer.
\RU{Переводчику на корейский язык}\EN{For translating the book into Korean}: Byungho Min.
\RU{Корректорам}\EN{For proofreading}:
\RU{Александр \q{Lstar} Черненький}\EN{Alexander \q{Lstar} Chernenkiy},
\RU{Владимир Ботов}\EN{Vladimir Botov},
\RU{Андрей Бражук}\EN{Andrei Brazhuk},
\RU{Марк}\EN{Mark} ``Logxen'' \RU{Купер}\EN{Cooper},
Yuan Jochen Kang, Mal Malakov, Lewis Porter, Jarle Thorsen.
\RU{Васил Колев сделал очень много исправлений и указал на многие ошибки.}
\EN{Vasil Kolev did a great amount of work in proofreading and correcting many mistakes.}
\RU{За иллюстрации и обложку: Андрей Нечаевский.}\EN{For illustrations and cover art: Andy Nechaevsky.}
\RU{И ещё всем тем на github.com кто присылал замечания и исправления.}
\EN{Thanks also to all the folks on github.com who have contributed notes and corrections.}
\RU{Было использовано множество пакетов \LaTeX. Их авторов я также хотел бы поблагодарить.}
\EN{Many \LaTeX\ packages were used: I would like to thank the authors as well.}
% subsections
\input{donate}
\input{FAQ}
\input{praise}
\ifdefined\ebook
\RU{Это версия формата A5 для электронных читалок}\EN{This is the A5-format version for e-book readers}.
\RU{Хотя, тут всё то же самое, но иллюстрации уменьшены и не очень хорошо читаемы}
\EN{Although the content is mostly the same, the illustrations are resized and probably not readable}.
\EN{You may try to change scale in your e-book reader.}
\RU{Вы можете попробовать изменить масштаб в вашей читалке.}
\RU{Так или иначе, вы всегда можете посмотреть их в версии формата A4 здесь}
\EN{Otherwise, you can always view them in the A4-format version here}: \href{http://go.yurichev.com/17009}{beginners.re}.
\fi
% {\RU{Целевая аудитория}\EN{Target audience}}
\subsection*{\RU{О переводе на корейский язык}\EN{About the Korean translation}}
\EN{In January 2015, the Acorn publishing company (\href{http://www.acornpub.co.kr}{www.acornpub.co.kr}) in South Korea did huge amount of work in translating and publishing
my book (as it was in August 2014) into Korean.}
\RU{В январе 2015, издательство Acorn в Южной Корее сделало много работы в переводе
и издании моей книги (по состоянию на август 2014) на корейский язык.}
\RU{Она теперь доступна на}\EN{It's now available at}
\href{http://go.yurichev.com/17343}{\EN{their website}\RU{их сайте}}.
\iffalse
\begin{figure}[H]
\centering
\includegraphics[scale=0.3]{acorn_cover.jpg}
\end{figure}
\fi
\RU{Переводил}\EN{Translator is} Byungho Min (\href{http://go.yurichev.com/17344}{twitter/tais9}).
\EN{The cover art was done by my artistic friend, Andy Nechaevsky}
\RU{Обложку нарисовал мой хороший знакомый художник Андрей Нечаевский}:
\href{http://go.yurichev.com/17023}{facebook/andydinka}.
\RU{Они также имеют права на издании книги на корейском языке.}
\EN{They also hold the copyright to the Korean translation.}
\RU{Так что если вы хотите иметь \IT{настоящую} книгу на полке на корейском языке и
хотите поддержать мою работу, вы можете купить её.}
\EN{So, if you want to have a \IT{real} book on your shelf in Korean and
want to support my work, it is now available for purchase.}