"Reverse Engineering for Beginners" free book

Also known as RE4B. Written by Dennis Yurichev (yurichev.com).

Download PDF files

English Russian

Sorry, there are no more A5/ebook versions. It's too hard for me to maintain several versions. And there were also "lite" shortened versions, which were also dropped.

PGP Signatures

For those, who wants to be sure the PDF files has been compiled by me, it's possible to check PGP signatures, which are: RE4B-EN.pdf.sig, RE4B-RU.pdf.sig.

My PGP public keys are here: https://yurichev.com/pgp.html.

Other languages

There are partial translations:

Want to help?

There is also partial translation to Chinese: as a single HTML file; epub file.

Praise for the book

Also, this book is used at least in:

I've also heard about:

If you know about others, please drop me a note: dennis(a)yurichev.com.

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.

Call for translators!

See https://github.com/dennis714/RE-for-beginners/blob/master/Translation.md.

Donors

Those who supported me during the time when I wrote significant part of the book:

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+50), Sergey Lukianov (300 RUR), Ludvig Gislason (200 SEK), Gérard Labadie (€40), Sergey Volchkov (10 AUD), Vankayala Vigneswararao ($50), Philippe Teuwen ($4), Martin Haeberli ($10), Victor Cazacov (€5), Tobias Sturzenegger (10 CHF), Sonny Thai ($15), Bayna AlZaabi ($75), Redfive B.V. (€25), Joona Oskari Heikkilä (€5), Marshall Bishop ($50), Nicolas Werner (€12), Jeremy Brown ($100), Alexandre Borges ($25), Vladimir Dikovski (€50), 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), Salikov Alexander (500 RUR), Oliver Whitehouse (30 GBP), Katy Moe ($14), Maxim Dyakonov ($3), Sebastian Aguilera (€20), Hans-Martin Münch (€15), Jarle Thorsen (100 NOK), Vitaly Osipov ($100), Yuri Romanov (1000 RUR), Aliaksandr Autayeu (€10), Tudor Azoitei ($40), Z0vsky (€10), Yu Dai ($10).

Thanks a lot to every donor!

As seen on...

... hacker news, reddit, habrahabr.ru, Russian-speaking RE forum.

The book at Goodreads website.

mini-FAQ

English; Russian; Spanish; Brazilian Portuguese; Italian; French; Hebrew; Deutsch; Polish; Indonesian; Chinese.

Supplementary materials

All exercises are moved to standalone website: challenges.re.

Be involved!

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

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.

My blog.

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

Chinese translation

In April 2017, translation to Chinese has been finished by Chinese PTPress publisher. They are also the Chinese translation copyright holder.

It's available for order here: http://www.epubit.com.cn/book/details/4174. Some kind of review and history behind the translation: http://www.cptoday.cn/news/detail/3155.

Principal translator is Archer, to whom I owe so much. He was extremely meticulous (in good sense) and reported most of known mistakes and bugs, which is very important to literature like this book. I'll recommend his services to any other author!

Guys from Antiy Labs has also helped with translation. Here is preface written by them.

Farsi (Persian language) translation

In 2016 the book has been translated by Mohsen Mostafa Jokar (who is also known to Iranian community by his translation of Radare manual). It is available on the publisher’s website (Pendare Pars).

40 page excerpt.

Registration of the book in National Library of Iran: http://opac.nlai.ir/opac-prod/bibliographic/4473995.

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.

On google books.