Skip to content
"Reverse Engineering for Beginners" free book
TeX M4 Assembly C C++ Makefile
Latest commit ce8b991 May 30, 2016 @dennis714 ...
Failed to load latest commit information.
Java_and_NET ... May 30, 2016
OS Dutch translation by m1das(a)protonmail.ch; clean up Apr 15, 2016
advanced English cleanup of most of the new changes since last time May 30, 2016
appendix Portuguese translation by Thales Stevan de A. Gois May 5, 2016
digging_into_code English cleanup of most of the new changes since last time May 30, 2016
examples typo fix May 27, 2016
ff English cleanup of most of the new changes since last time May 30, 2016
fundamentals translation by Leonardo Guedez May 30, 2016
other bugfix, etc May 7, 2016
patterns translation by Leonardo Guedez May 30, 2016
.gitattributes file modes corrected May 28, 2015
.gitignore Dutch language support; some cleanup; etc Apr 13, 2016
ARM_X0_register.tex Dutch language support; some cleanup; etc Apr 12, 2016
AUTHORS file modes corrected May 28, 2015
BUGS file modes corrected May 28, 2015
C3_in_AH.tex file modes corrected May 28, 2015
C3_in_AX.tex file modes corrected May 28, 2015
CONTRIBUTING.md ... Jun 2, 2015
C_book_en.bib file modes corrected May 28, 2015
C_book_ru.bib file modes corrected May 28, 2015
ChangeLog all exercises are moved to http://challenges.re Nov 4, 2015
Dennis_Yurichev.jpg file modes corrected May 28, 2015
FAQ.tex English cleanup of most of the new changes since last time May 30, 2016
HACKING.md file modes corrected May 28, 2015
INSTALL Thai language support; restructuring Apr 2, 2016
LICENSE file modes corrected May 28, 2015
LITE_warning.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
Makefile Dutch translation by m1das(a)protonmail.ch; clean up Apr 15, 2016
PLANS file modes corrected May 28, 2015
RE4B-DE-lite.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-DE.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-EN-A5-lite.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-EN-A5.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-EN-lite.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-EN.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-ES-lite.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-ES.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-IT-lite.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-IT.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-NL-lite.tex Dutch language support; some cleanup; etc Apr 12, 2016
RE4B-NL.tex Dutch translation by m1das(a)protonmail.ch; clean up Apr 15, 2016
RE4B-PL-lite.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-PL.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-PTBR-lite.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-PTBR.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-RU-A5-lite.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-RU-A5.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-RU-lite.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-RU.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
RE4B-TH-lite.tex Thai language support; restructuring Apr 1, 2016
README.md cleanup, etc Sep 5, 2015
SAHF_LAHF.tex file modes corrected May 28, 2015
Translation.md Spanish translation by Luis EC Apr 13, 2016
XOR_property.tex English cleanup of most of the new changes since last time May 30, 2016
abs.c file modes corrected May 28, 2015
acorn_cover.jpg file modes corrected May 28, 2015
acronyms.tex Portuguese translation by Thales Stevan de A. Gois May 7, 2016
afterword.tex Dutch language support; some cleanup; etc Apr 12, 2016
articles.bib file modes corrected May 28, 2015
books.bib file modes corrected May 28, 2015
call_for_translators.tex ... Mar 24, 2016
common_URLS.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
common_errors.sh fixes May 30, 2015
common_phrases.tex Spanish translation part 2. Feb 25, 2016
commons.m4 PDF filenames shortened; \DE macro for German language Mar 5, 2016
contents.tex file modes corrected May 28, 2015
cover.jpg file modes corrected May 28, 2015
cover.tex Dutch translation by m1das(a)protonmail.ch; clean up Apr 15, 2016
cover2.jpg file modes corrected May 28, 2015
cover3.jpg file modes corrected May 28, 2015
cover4.jpg file modes corrected May 28, 2015
filestat.sh Portuguese translation by Thales Stevan de A. Gois May 5, 2016
float_IEEE754.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
glossary.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
macros.tex Dutch language support; some cleanup; etc Apr 12, 2016
main.tex Dutch language support; some cleanup; etc Apr 12, 2016
memcpy.c file modes corrected May 28, 2015
misc.bib file modes corrected May 28, 2015
page_after_cover.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
parts.tex all exercises are moved to http://challenges.re Nov 4, 2015
praise.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
preface.tex ... May 30, 2016
reading.tex Dutch language support; some cleanup; etc Apr 12, 2016
rotate_left.tex file modes corrected May 28, 2015
rotate_right.tex file modes corrected May 28, 2015
shift_left.tex file modes corrected May 28, 2015
shift_right.tex file modes corrected May 28, 2015
survey.tex PDF filenames shortened; \DE macro for German language Mar 5, 2016
tools.tex Dutch translation by m1das(a)protonmail.ch; clean up Apr 15, 2016
usenet.bib file modes corrected May 28, 2015

README.md

"Reverse Engineering for Beginners" free book

Topics discussed: x86/x64, ARM/ARM64, MIPS, Java/JVM.

Topics touched: Oracle RDBMS, Itanium, copy-protection dongles, LD_PRELOAD, stack overflow, ELF, win32 PE file format, x86-64, critical sections, syscalls, TLS, position-independent code (PIC), profile-guided optimization, C++ STL, OpenMP, win32 SEH.

Compiled versions are found here:

English: A4 (for browsing/printing); A5 (for e-book readers)

Russian: A4 (for browsing/printing); A5 (for e-book readers)

There is also a lite (introductory) version. It is approximately 6 times shorter than the full version (~150 pages) and intended for those who want a very quick introduction to the basics of reverse engineering. It does not however, cover the topics of: MIPS, ARM, OllyDBG, GCC, GDB and IDA. There are also no exercises, examples, etc.

English lite: A4 (for browsing/printing); A5 (for e-book readers)

Russian lite: A4 (for browsing/printing); A5 (for e-book readers)

See also the ChangeLog for the latest changes.

Want to contribute in some way? Read here. Do not worry to bother me while writing me about any petty mistakes you found, even if you are not very confident. I'm writing for beginners, after all, so beginners' opinions and comments are crucial for my job.

Want to translate this book into some other language? Read here.

It's also possible to build your own version of book, see the HACKING.md file.

Something went wrong with that request. Please try again.