"Reverse Engineering for Beginners" free book

Written by Dennis Yurichev (yurichev.com).

Praise for the book

Contents

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.

Download PDF files

Download English version A4 (for browsing or printing) A5 (for ebook readers)
Скачать русскую (Russian) версию A4 (для просмотра или печати) A5 (для электронных читалок)

Lite (introductory) version

There are also lite (introductory) version. It is approximately 6 times shorter than full version (~150 pages) and intended to those who wants very quick introduction to reverse engineering basics. There are nothing about MIPS, ARM, OllyDBG, GCC, GDB, IDA, there are no exercises, examples, etc.
Download English lite version A4 (for browsing or printing) A5 (for ebook readers)
Скачать русскую (Russian) сокращенную версию A4 (для просмотра или печати) A5 (для электронных читалок)

mini-FAQ

Q: I clicked on hyperlink inside of PDF-document, how to get back?
A: (Adobe Acrobat Reader) Alt + LeftArrow

Q: Your book is so huge! Is there anything shorter?
A: There is shortened lite version.

Q: May I print this book? Use it for teaching?
A: Of course, that's why book is licensed under Creative Commons terms. Someone may also want to build their own version of book, read here about it.

Q: I want to translate your book to some other language.
A: Read my note to translators.

Q: I have a question...
A: Write me it by email (dennis(a)yurichev.com) or ask your question at my forum: forum.yurichev.com.

Supplementary materials

Exercises, exercise solutions

Be involved!

Feel free to send me corrections, or, it's even possible to submit patches on book's source code (LaTeX) on GitHub or gitorious or BitBucket, or SourceForge!

There is also supporting forum! You may ask/answer any questions there!

Any suggestions, what also should be added to my book?

Write me an email: dennis(a)yurichev.com

News

See ChangeLog

Stay tuned!

My current plans for this book: Objective-C, Visual Basic, anti-debugging tricks, Windows NT kernel debugger, .NET, Oracle RDBMS.

Follow @yurichev Here is also my blog.

Web 2.0 hater? Subscribe to my mailing list for receiving updates of this book to email.

About Korean publication

In January 2015, Acorn publishing company (www.acornpub.co.kr) in South Korea did huge amount of work in translating and publishing my book (state which is it in August 2014) in Korean language.

Now it's available at their website.

Translator is Byungho Min (@tais9).

Cover pictures was done by my artist friend Andy Nechaevsky: facebook/andydinka.

They are also the Korean translation copyright holder.

So if you want to have a "real" book on your shelf in Korean language and/or want to support my work, now you may buy it.

Please donate!

Ways to donate

This book is free, freely available, also in source code form (LaTeX), and it will be so forever. So if you want me to continue, you may consider donating. Several ways to are available on this page: donate. Every donor name will be included in the book! Donor also have a right to rearrange items in my writing plan.

Donors

22 * anonymous, 2 * Oleg Vygovsky (50+100 UAH), Daniel Bilar ($50), James Truscott ($4.5), Luis Rocha ($63), Joris van de Vis ($127), Richard S Shultz ($20), Jang Minchang ($20), Shade Atlas (5 AUD), Yao Xiao ($10), Pawel Szczur (40 CHF), Justin Simms ($20), Shawn the R0ck ($27), Ki Chan Ahn ($50), Triop AB (100 SEK), Ange Albertini (10 EUR), Sergey Lukianov (300 RUR), Ludvig Gislason (200 SEK), Gérard Labadie (40 EUR), Sergey Volchkov (10 AUD), Vankayala Vigneswararao ($50), Philippe Teuwen ($4), Martin Haeberli ($10), Victor Cazacov (5 EUR), Tobias Sturzenegger (10 CHF), Sonny Thai ($15), Bayna AlZaabi ($75), Redfive B.V. (25 EUR), Joona Oskari Heikkilä (5 EUR), Marshall Bishop ($50), Nicolas Werner (12 EUR), Jeremy Brown ($100), Alexandre Borges ($25), Vladimir Dikovski (50 EUR), Jiarui Hong (100.00 SEK), Jim Di (500 RUR), Tan Vincent ($30), Sri Harsha Kandrakota (10 AUD), Pillay Harish (10 SGD), Timur Valiev (230 RUR), Carlos Garcia Prado (10 EUR), Salikov Alexander (500 RUR), Oliver Whitehouse (30 GBP), Katy Moe ($14), Maxim Dyakonov ($3).