forked from wangyif2/RE-for-beginners
-
Notifications
You must be signed in to change notification settings - Fork 3
/
FAQ_EN.tex
49 lines (35 loc) · 2.72 KB
/
FAQ_EN.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
\subsection*{mini-FAQ}
\par Q: What are the prerequisites for reading this book?
\par A: A basic understanding of C/C++ is desirable.
\par Q: Should I really learn x86/x64/ARM and MIPS at once? Isn't it too much?
\par A: Starters can read about just x86/x64, while skipping or skimming the ARM and MIPS parts.
\par Q: Can I buy a Russian or English hard copy/paper book?
\par A: Unfortunately, no. No publisher got interested in publishing a Russian or English version so far.
Meanwhile, you can ask your favorite copy shop to print and bind it.
\par Q: Is there an epub or mobi version?
\par A: No. The book is highly dependent on TeX/LaTeX-specific hacks, so converting to HTML (epub/mobi are a set of HTMLs)
would not be easy.
\par Q: Why should one learn assembly language these days?
\par A: Unless you are an \ac{OS} developer, you probably don't need to code in assembly\textemdash{}the latest compilers (2010s) are much better at performing optimizations than humans \footnote{A very good text on this topic: \InSqBrackets{\AgnerFog}}.
Also, the latest \ac{CPU}s are very complex devices, and assembly knowledge doesn't really help towards understand their internals.
That being said, there are at least two areas where a good understanding of assembly can be helpful:
First and foremost, for security/malware research. It is also a good way to gain a better understanding of your compiled code while debugging.
This book is therefore intended for those who want to understand assembly language rather
than to code in it, which is why there are many examples of compiler output contained within.
\par Q: I clicked on a hyperlink inside a PDF-document, how do I go back?
\par A: In Adobe Acrobat Reader click Alt+LeftArrow. In Evince click ``<'' button.
\par Q: May I print this book / use it for teaching?
\par A: Of course! That's why the book is licensed under the Creative Commons license (CC BY-SA 4.0).
\par Q: Why is this book free? You've done great job. This is suspicious, as with many other free things.
\par A: In my own experience, authors of technical literature write mostly for self-advertisement purposes. It's not possible to make any decent money from such work.
\par Q: How does one get a job in reverse engineering?
\par A: There are hiring threads that appear from time to time on reddit, devoted to RE\FNURLREDDIT{}
(\RedditHiringThread{}).
Try looking there.
A somewhat related hiring thread can be found in the \q{netsec} subreddit: \NetsecHiringThread{}.
\myindex{LISP}
\par Q: How can I learn programming in general?
\par A: Mastering both C and LISP languages makes programmer's life much, much easier.
I would recommend solving exercises from [\KRBook] and \ac{SICP}.
\par Q: I have a question...
\par A: Send it to me by email (\EMAIL).