0% found this document useful (0 votes)
48 views7 pages

Final-Reverse Engineering & Malware Analysis RoadMap-RREMAR

The document outlines a comprehensive roadmap for reverse engineering, divided into three main sections: Warming Up, Getting Your Hands Dirty, and Advanced Part. It includes recommended books, courses, and resources for learning x86, C programming, malware analysis, and debugging techniques. The author emphasizes the flexibility of the roadmap, encouraging readers to create their own methodologies tailored to their learning needs.

Uploaded by

vc4miloc
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views7 pages

Final-Reverse Engineering & Malware Analysis RoadMap-RREMAR

The document outlines a comprehensive roadmap for reverse engineering, divided into three main sections: Warming Up, Getting Your Hands Dirty, and Advanced Part. It includes recommended books, courses, and resources for learning x86, C programming, malware analysis, and debugging techniques. The author emphasizes the flexibility of the roadmap, encouraging readers to create their own methodologies tailored to their learning needs.

Uploaded by

vc4miloc
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Reverse Engineering

Roadmap ​for​ ​CAT Reloaded

1 | ​P a g e
Table of Contents
Warming Up 3

● Quick Intro to x86 and C

● The Art of Exploitation

● Intro into Binary Exploitation

● Support Materials

Getting Your Hands Dirty 4

● Practical Malware Analysis book

● Windows Internals

● Secrets of Reverse Engineering book

● Practical Reverse Engineering book

● Support Materials

Advanced Part 6

● Windows Debugging book

● Rootkits and bootkits book

● Windows kernel programming book

● Memory dump analysis book series

● Malware Data Science book

[Must to Read]

Always Remember…all of these links, methodologies, checklists, courses,


and articles are just a recommendation from me ​BUT​ those are not the only
way. There is nothing called one and only one methodology or roadmap not
by me not by anyone. Finally Remember, you can create your own
methodology and roadmap…just choose the suitable for you.

[ Now you can proceed]

2 | ​P a g e
​Warming Up
There are some necessary things that you should know before we begin. Not only Assembly
and C basics, but also Googling skills that you need to gain for the future! You may need some
searching to efficiently understand all the topics here.

- Quick & Brief Intro to x86 and C


Here are some brief tutorials I found, of course that’s not just it but it’s pretty much enough for now as a
start. Also it’s worth taking a look at the first 2 chapters in Secrets of Reverse Engineering book if you like
(You can find it in the next section).
C​: ​[Link]
Assembly​: ​[Link]

- The Art of Exploitation book


This book is the very first introduction to programming from the hacker
perspective as well as an introduction to exploitation development.
recommend reading 1​st​&2​nd​ chapter
This one is not that easy so it’s better to study it in parallel with the rest of the
resources here. You’ll have some mad skills and knowledge if you make it through
without skipping this one!
[Link]

- Exploitation Playlist
Continue this playlist from video 5 until at least video 35. Some content is
rather advanced for now so you can stop if you can no longer advance.
[Link]

​Supporting Materials

- Recommended:​ ​It’s highly recommended to first take a look at “Secrets of Reverse


Engineering” Book Ch1 and Ch2 if you are new to this and want to get a more non-technical
and introductory approach to Reverse Engineering and its concepts.

- If you’re totally new to computer science, you can check out these books as well. Read the
very first 2 chapters of the 1st book. The rest of the content you can refer back to later when
needed. However, mind that some terms may sound different and odd as the content is in
Arabic.
​ ttps://[Link]/3eMnhBu
[Link] , h

- The C Programming Language book :


[Link]

- Useful Links :
Save those for the future, check them out now or whenever you feel stuck, curious
about x86, exploitation, binaries, rootkits, RE/Malware Analysis etc etc or even if you’re
just bored :D
Assembly: ​[Link]
GDB: ​[Link]
Malware Analysis: ​[Link]
Misc: ​[Link]
If you loved binary exploitation or wanted to practice it, check this out :
[Link]

3 | ​P a g e
Getting Your Hands Dirty

- Practical Malware Analysis book


It has many useful topics to any Reverse Engineer​ ​like: Static and Dynamic analysis,
Anti reversing techniques. It shows the importance of Windows API & ​its heavy
interaction with software.

​[Link]

NOTE :​ At this point you’ll be able to compete in CTFs in a good way! Additionally you can read
more Malware reports and start analyzing your own samples following up with the reports.

- Windows Internals
This course will provide a deep understanding of the way Windows works, its
mechanisms and algorithms. The course deals with all the major terms in
Windows, such as processes, threads, virtual memory and more.

[Link]

- Secrets of Reverse Engineering book


This book is introducing the first impact with windows EXE and windows internals
which will be one of the cores of RE as well as introduction to software Cracking and
bypassing protections. The core book for reverse engineering I think.(This is rather
for beginners and it’s a bit outdated, yet you may find Ch.6 interesting.)

​[Link]

- Practical Reverse Engineering book


The book covers x86, x64, and ARM (the first book to cover all three); Windows
kernel-mode code rootkits and drivers; virtual machine protection techniques; and
much more. Best of all, it offers a systematic approach to the material, with plenty
of hands-on exercises and real-world examples.

[Link]

4 | ​P a g e
Supporting Materials

- Malware Unicorn
You can check out its blog, it has really nice resources, articles and workshops..
Whether you’re a beginner or good at RE/Malware Analysis , you can always find
this one useful
[Link]

- CNIT 126 - Practical Malware Analysis


This one is nice to go in parallel with the book If you don’t have access to
Pluralsight’s Practical Malware Analysis Path or just want a summary for most of
the book’s topics
[Link]

- The IDA Pro book


[Link]
Note :​ ​This is rather a large book or documentation, if you’re more interested in a much
shorter tutorial, I suggest you take a look at those
[Link]
You can find the PDFs here
[Link]

- Practical Binary Analysis book


It covers the fundamentals of reversing concepts especially in the Linux
environment and the famous ELF binaries in outstanding details and simplicity +
the virtual machine with the book which provides hands-on exercises. If you are
not interested in reversing ELF for now, just read the first 3 chapters.
[Link]

- Still having a hard time with assembly ?


I highly recommend that u read the topics u lack knowledge in with ​RE4B​ book
(ignore ARM & MIPS for now)

- The Art Of Assembly book :

[Link]

- Operating Systems concepts :

[Link]

- Some Malware Analysis Reports Sources :


● [Link]
● [Link]
● [Link]
● [Link]
FYI … The first two repositories are actually made by our awesome
CATians!! Yet if you’re more interested in reading about recent malware
threats you can check McAfee and MalwareBytes Research Labs.

5| ​P a g e
Advanced Part
- ​Windows Debugging book

[Link]

- Rootkits and bootkits book

[Link]

- Windows kernel programming book

[Link]

- Memory dump analysis book series

[Link]

- Malware Data Science book

[Link]

Note :
Bare in mind that books are not measured by quantity .. finish 1 book well is better than
skimming all of those.
The advanced track is hard and is expected to take a significant amount of time so please
don't pressure yourself or your peers too much and take all the time and practice to
absorb each topic.

Also remember, you can always search for more alternatives or even make your own
RoadMap that suits you. As you can see here,​ this is a pretty nice roadmap made by a
fellow CATian !
[Link]

Big Thanks to Eng.​Menna Essa


R&D Engineer at ​EG-CERT ​and Current Circle Mentor.

6| ​P a g e

Common questions

Powered by AI

For a deeper understanding of rootkits and bootkits in reverse engineering, the recommended advanced books include the 'Rootkits and Bootkits' book and the 'Windows Debugging' book. These resources help to explore the intricacies of malicious software that operates at the kernel level and techniques for debugging and analyzing such software .

'Practical Reverse Engineering' facilitates learning hardware architecture by covering x86, x64, and ARM architectures. It offers a systematic approach to reverse engineering with hands-on exercises and real-world examples, making it suitable for those seeking practical knowledge in dealing with kernel-mode code, rootkits, drivers, and the use of virtual machine protection techniques .

Despite being somewhat outdated, the 'Secrets of Reverse Engineering' book offers key benefits to newcomers by providing an introduction to the impact of Windows EXE, Windows internals, and software cracking. Chapter 6 is particularly noted as interesting, providing foundational knowledge that aids in understanding reverse engineering concepts and processes .

Understanding Windows API is essential for effective malware analysis because malware often interacts heavily with the operating system via these APIs. The 'Practical Malware Analysis' book highlights Windows API as a critical component in both static and dynamic analysis, enabling reverse engineers to discern how malware manipulates system processes and data .

The 'Windows Internals' resource is significant for reverse engineers as it provides a profound understanding of Windows operating system mechanisms and algorithms. It deepens understanding of major concepts such as processes, threads, and virtual memory, which are crucial for analyzing how software interacts with the Windows OS .

The recommended roadmap encourages customization and personal methodology in reverse engineering by emphasizing that there is no single definitive approach. The document advises individuals to explore various resources, form personal strategies by combining different methodologies, and adapt the learning process according to personal strengths and interests, ensuring a tailored and effective learning experience .

The recommended prerequisites for someone new to reverse engineering and binary exploitation include a basic understanding of Assembly and C programming languages. Introductory resources such as tutorials on x86 and C, as well as the first two chapters of the "Secrets of Reverse Engineering" book, provide foundational knowledge. Additionally, studying "The Art of Exploitation" book's first two chapters is suggested, as it offers insights into programming from a hacker's perspective and introduces exploitation development .

The 'Malware Data Science' book contributes to malware analysis by offering insights into the application of data science techniques to understanding malicious software. It's a must-read in the advanced part of the roadmap because it equips reverse engineers with analytical skills to detect, categorize, and understand malware trends and behaviors effectively .

The recommended strategy for tackling practical malware analysis resources involves studying the 'Practical Malware Analysis' book and possibly aligning this study with the CNIT 126 course or the Pluralsight path. Incremental learning is emphasized to ensure that complex topics such as static and dynamic analysis, anti-reversing techniques, and Windows API usage are thoroughly understood and can be built upon progressively .

The 'Practical Binary Analysis' book plays a pivotal role in understanding ELF binaries by detailing reversing concepts and providing targeted exercises. It complements learning about Linux reverse engineering by focusing on the Linux environment, particularly the structure and functionality of ELF (Executable and Linkable Format) binaries, thereby cementing practical skills necessary for analyzing Linux-based executable programs .

You might also like