Reverse Engineering for Beginners

The book is also known as RE4B. Written by Dennis Yurichev (yurichev.com).

My other writing I'm working on is SAT/SMT by example.

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.

Other languages

There are partial translations:

German (~560 pp) French (~600 pp) Japanese (~180 pp)

Books

Translated and published:

Chinese Korean Farsi

Rarely updated:

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

Want to help?

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/DennisYurichev/RE-for-beginners/blob/master/Translation.md.

Donors

Those who supported me during the time when I wrote significant part of the book: https://github.com/DennisYurichev/RE-for-beginners/blob/master/donors.tex.

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; Japanese.

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@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.

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 or https://www.amazon.cn/dp/B06XZ9JKH3. 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.