We may earn an affiliate commission when you visit our partners.
Course image
Geri Revay

In this course we will learn about the Radare 2 reverse engineering framework. It is an open source free alternative to IDA Pro. I started to work with it because I think nobody will buy IDA Pro unless it is paid by your employer. Radare 2 is a perfect free alternative, its only disadvantage is that it could be hard to start using it. This is where this course comes in. My goal was to get you over the hard part as fast as possible. So that you can get comfortable with Radare 2.

These are the things you will learn in this course:

Read more

In this course we will learn about the Radare 2 reverse engineering framework. It is an open source free alternative to IDA Pro. I started to work with it because I think nobody will buy IDA Pro unless it is paid by your employer. Radare 2 is a perfect free alternative, its only disadvantage is that it could be hard to start using it. This is where this course comes in. My goal was to get you over the hard part as fast as possible. So that you can get comfortable with Radare 2.

These are the things you will learn in this course:

  • Setting up Radare

  • Understanding its syntax

  • Understanding its config

  • Information gathering about the binary

  • Navigation in the binary

  • Cross references

  • Run-time debugging

  • Patching the binary

However there are a few things that are not goals of this course:

  • We are going to focus on the tool and not on assembly, so this is not an assembly course. You can follow along without understanding everything in assembly and that is fine, but don’t expect that you can learn assembly in a few hours.

  • We will learn some reverse engineering techniques but it is not our goal to learn everything.

However what you are definitely will learn is how to use Radare 2, and after this course if you need to analyse a binary you will be able to pull out radare from your sleeves anytime you need it.

All exercises are hand-on, so you are expected to repeat the exercises yourself. I have done quite a lot of trainings myself, live or online, and I can tell you that without practicing they won't stick. This is a really practical training so I encourage you to try everything yourself, because just watching the videos will only give you the illusion that you learnt something, 80% of the learning happens when you do the exercises.

Enroll now

Here's a deal for you

Save money when you learn with a deal that may be relevant to this course.
All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Learning objectives

  • How to use radare 2 to reverse engineer binaries.
  • Disassembling binaries.
  • Navigating in the binary.
  • Debugging executables.
  • Patching executables.

Syllabus

Understand the course and setup the work environment.

In this lecture I introduce the course, who should take it and how.

All ethical hacking courses should have a disclaimer, this is it for this course.

Read more

Quick introduction to the tool that we are going to discover in this course.

Link to the virtual machine that we are going to use in this course.

This lecture quickly introduces the target software that we are going to reverse engineer with Radare2.

This lecture shows how to use the provided virtual machine and how to install Radare2 on other computers.

First encounter with Radare2's not-so-obvious-but-cool syntax.

Quick introduction to Radare2's configuration file.

Learn to extract the general information about the binary with R2.

You are going to learn how to move around in the binary as your are trying to reverse different parts of it.

You will learn how to use cross references in Radare2, to find where elements are being used in the assembly code.

Radare2 is also great for dynamic debugging. This is what you will learn in this lecture.

Patching the tested binary on disk or in memory could allow you to execute parts of the code you would not reach otherwise. We will go through how this can be done with Radare2.

Cutter is the best graphical user interface that Radare2 had so far. We will try cutter through solving a challenge from the Fireeye FLARE-ON challenges.

In this lecture I will show you how to finish the FLARE-ON challenge.

You arrived to the end of this course, however there is still plenty to learn about reverse engineering. I will give you some tips on how you can proceed and then we say good bye.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides hands-on experience with Radare 2, a valuable open-source tool for reverse engineering and binary analysis, which is essential for identifying vulnerabilities and understanding software behavior
Focuses on practical application through hands-on exercises, reinforcing learning and building confidence in using Radare 2 for real-world reverse engineering tasks
Covers essential reverse engineering tasks such as disassembling, navigating, debugging, and patching binaries, which are fundamental skills for malware analysis and software security
Requires learners to set up a virtual machine and install Radare 2, which may pose a challenge for those unfamiliar with virtualization or command-line tools
Does not focus on assembly language, which may limit the depth of understanding for learners without prior experience in low-level programming
Includes a section on Cutter, a graphical user interface for Radare 2, which may be helpful for users who prefer a visual approach to reverse engineering

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Practical introduction to radare 2

According to learners, this course is a highly effective introduction to the challenging Radare 2 reverse engineering framework. Students praise how the course successfully helps them overcome the tool's steep initial learning curve, which is often cited as a major barrier. The course emphasizes hands-on practice, and learners particularly value the practical exercises and labs. Key features of Radare 2, such as disassembly, navigation, debugging, and patching, are covered well, providing a solid foundation. While the course aims to teach the tool itself rather than assembly or advanced RE techniques, some learners note that having some prior background in assembly or reverse engineering concepts can make the material easier to digest.
Covers core Radare 2 functions like debugging.
"Good overview of disassembly, navigation, and patching."
"The debugging section was particularly helpful."
"Covers cross-references effectively."
"Includes a look at the Cutter GUI which is a bonus."
Practical labs reinforce core concepts effectively.
"Appreciated the hands-on nature of the course."
"The practical challenges were very useful."
"The exercises are key to understanding, doing them makes a difference."
"Learned the most by actually doing the labs."
Helps beginners navigate Radare 2's difficulty.
"This course really helped me overcome the initial difficulty of using Radare 2."
"Made the steep learning curve much more manageable."
"Provides a clear path to start using r2 effectively."
"Before this, R2 was a confusing mess. Now I can actually use it."
Assembly/RE background aids understanding.
"While not strictly required, some assembly knowledge helps a lot."
"Found it easier because I already knew some RE concepts."
"Beginners might struggle if they have zero RE background."
"Instructor moves quickly at times, assuming some familiarity."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Reverse Engineering with Radare 2 with these activities:
Review Assembly Language Fundamentals
Reinforce your understanding of assembly language, which is essential for effectively using Radare 2 to analyze disassembled code.
Browse courses on Assembly Language
Show steps
  • Review basic assembly instructions (MOV, ADD, SUB, JMP, etc.).
  • Study calling conventions and stack frames.
  • Practice reading simple assembly code snippets.
Read 'Reverse Engineering for Beginners'
Build a solid foundation in reverse engineering with a beginner-friendly guide that covers essential concepts and techniques.
View Alter Ego: A Novel on Amazon
Show steps
  • Read the introductory chapters on assembly language and disassembly.
  • Work through the examples provided in the book.
  • Use Radare 2 to practice the techniques learned from the book.
Read 'Practical Reverse Engineering'
Supplement your learning with a comprehensive guide to reverse engineering that covers various architectures and techniques.
Show steps
  • Read the chapters on disassembly and debugging.
  • Focus on the sections relevant to x86 and ARM architectures.
  • Experiment with the techniques described in the book using Radare 2.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Solve CrackMe Challenges
Sharpen your reverse engineering skills by tackling CrackMe challenges, which provide practical experience in analyzing and patching binaries.
Show steps
  • Download CrackMe challenges from online resources.
  • Use Radare 2 to disassemble and analyze the binaries.
  • Identify the key checks and vulnerabilities.
  • Patch the binaries to bypass the checks.
Write a Radare 2 Script for Automated Analysis
Automate common reverse engineering tasks by creating a Radare 2 script, which will deepen your understanding of the tool's capabilities.
Show steps
  • Identify a repetitive task in reverse engineering (e.g., finding all calls to a specific function).
  • Research Radare 2 scripting commands and syntax.
  • Write a script to automate the identified task.
  • Test the script on multiple binaries.
  • Document the script and share it with others.
Contribute to Radare 2 Documentation
Improve your understanding of Radare 2 by contributing to its documentation, which will require you to delve into its features and functionalities.
Show steps
  • Identify areas in the Radare 2 documentation that are unclear or incomplete.
  • Research the relevant features and functionalities.
  • Write clear and concise documentation to address the identified gaps.
  • Submit your contributions to the Radare 2 project.
Analyze a Malware Sample with Radare 2
Apply your Radare 2 skills to analyze a real-world malware sample, which will provide valuable experience in identifying malicious behavior and understanding reverse engineering in a security context.
Show steps
  • Obtain a malware sample from a reputable source (e.g., VirusTotal, Hybrid Analysis).
  • Set up a safe environment for analyzing the malware (e.g., a virtual machine).
  • Use Radare 2 to disassemble and analyze the malware's code.
  • Identify the malware's key functionalities and behaviors.
  • Document your findings in a report.

Career center

Learners who complete Reverse Engineering with Radare 2 will develop knowledge and skills that may be useful to these careers:
Reverse Engineer
The role of Reverse Engineer involves analyzing software or hardware to understand its functionality, often without access to the source code. This course on Radare 2 is directly relevant, as it provides hands-on experience with a powerful reverse engineering framework. You will learn how to disassemble binaries, navigate code, debug executables, and even patch binaries using Radare 2. These skills are essential for a Reverse Engineer who needs to quickly analyze and understand unfamiliar code. Radare 2 can be pulled out anytime you need it.
Malware Analyst
A Malware Analyst dissects malicious software to understand its behavior, identify its capabilities, and develop methods for detection and removal. This course on Reverse Engineering with Radare 2 is highly applicable, as it teaches you how to use a critical tool for analyzing binaries. As a Malware Analyst, you'll need to disassemble code, examine control flow, and identify malicious patterns, which are all skills you can develop through this course. Moreover, you will learn to patch tested binaries. After taking this course, as a Malware Analyst, you can pull out Radare 2 from your sleeves.
Exploit Developer
Exploit Developers create code that takes advantage of security vulnerabilities in software or hardware. Reverse engineering is a core skill for identifying vulnerabilities and crafting exploits. This course on Reverse Engineering with Radare 2 is highly applicable, as it teaches you how to use a critical tool for analyzing binaries. Exploit Developers can dissect code, examine control flow, and identify malicious patterns, which are all skills you can develop through this course. Moreover, you will learn to patch tested binaries, and after taking this course, can pull out Radare 2 from your sleeves.
Software Security Engineer
A Software Security Engineer focuses on building secure software by identifying vulnerabilities and implementing security best practices throughout the software development lifecycle. They may need to reverse engineer existing code to find and fix security flaws. The Radare 2 course will equip Software Security Engineers with the skills to analyze binaries, navigate code, debug executables, and patch vulnerabilities. This experience directly helps them to identify and address security weaknesses in software. After this course, Radare 2 will easily be pulled out anytime it is needed.
Security Researcher
Security Researchers investigate vulnerabilities in software and hardware systems, often employing reverse engineering techniques to uncover weaknesses. This course helps build a foundation in using Radare 2, a versatile reverse engineering framework. You will learn to extract information about binaries, dissect code, and debug executables. The course is highly relevant, as it focuses on hands-on exercises, enabling you to gain practical experience in reverse engineering. Security Researchers can apply the skills to uncover security flaws. After completing this course, Radare 2 can be pulled out anytime you need it.
Vulnerability Researcher
Vulnerability Researchers specialize in identifying and analyzing security vulnerabilities in software and hardware. Since this work involves reverse engineering, this course on Radare 2 is highly relevant. You will learn to disassemble binaries, analyze code, and debug executables. The course's focus on Radare 2 syntax, configuration, and cross-references helps with identifying vulnerabilities. The course's hands-on exercises are particularly helpful, as practical experience is crucial in vulnerability research. Vulnerability Researchers can apply the skills to report zero-day vulnerabilities.
Application Security Engineer
Application Security Engineers focus on securing software applications. This often involves understanding how applications work at a low level and identifying potential vulnerabilities. This course on Reverse Engineering with Radare 2 is highly applicable, as it teaches you how to use a critical tool for analyzing binaries. Application Security Engineers can dissect code, examine control flow, and identify malicious patterns, which are all skills you can develop through this course. Moreover, you will learn to patch tested binaries, and after taking this course, can pull out Radare 2 from your sleeves.
Firmware Engineer
Firmware Engineers develop and maintain the software embedded in hardware devices. Reverse engineering is a valuable skill for analyzing and modifying existing firmware, especially when source code isn't available. This Radare 2 course provides a foundation in reverse engineering. As a Firmware Engineer, you will learn to disassemble binaries, navigate code, debug executables, and even patch binaries using Radare 2. These skills are essential for a Firmware Engineer who needs to quickly analyze and understand unfamiliar code. Radare 2 can be pulled out anytime you need it.
Security Consultant
Security Consultants advise organizations on how to improve their security posture. While not always a primary skill, reverse engineering can be valuable for assessing the security of software and hardware systems. This course helps to learn Radare 2, a reverse engineering framework. The ability to disassemble binaries, navigate code, and patch executables can give a Security Consultant an edge in certain situations, especially when dealing with custom software or hardware. These skills are essential for a Security Consultant who needs to quickly analyze and understand unfamiliar code. Radare 2 can be pulled out anytime you need it.
Incident Responder
Incident Responders investigate and respond to security incidents. While not always a primary skill, reverse engineering can be valuable for analyzing malware or suspicious code found during an incident. This course helps to learn Radare 2, a reverse engineering framework. The ability to disassemble binaries, navigate code, and patch executables can give an Incident Responder an edge in certain situations, especially when dealing with custom software or malware. These skills are essential for an Incident Responder who needs to quickly analyze and understand unfamiliar code. Radare 2 can be pulled out anytime you need it.
Penetration Tester
Penetration Testers simulate attacks on computer systems to identify vulnerabilities and assess security measures. While not always a primary skill, reverse engineering can be valuable for understanding how software works and identifying potential weaknesses. This course helps to learn Radare 2, a reverse engineering framework. The ability to disassemble binaries, navigate code, and patch executables can give a Penetration Tester an edge in certain situations, especially when dealing with custom or obfuscated software. These skills are essential for a Penetration Tester who needs to quickly analyze and understand unfamiliar code. Radare 2 can be pulled out anytime you need it.
Security Architect
Security Architects design and implement security systems for organizations. They need a broad understanding of security principles and technologies. While reverse engineering isn't a core skill, it can be useful for evaluating the security of software and hardware components. This course helps to learn Radare 2, a reverse engineering framework. The ability to disassemble binaries and navigate code can give a Security Architect an edge in certain situations, especially when dealing with custom software or hardware. These skills are essential for a Security Architect who needs to analyze and understand unfamiliar code. Radare 2 can be pulled out anytime you need it.
Cryptographer
Cryptographers design and analyze encryption algorithms and security protocols. Reverse engineering can be used to analyze existing cryptographic implementations and identify potential weaknesses. This course may be useful for Cryptographers. It helps learn Radare 2, a reverse engineering framework. The ability to disassemble binaries and navigate code can be helpful in certain situations. Cryptographers can benefit from the course's hands-on exercises. The skills can be applied to understand and troubleshoot software.
Software Engineer
Software Engineers design, develop, and maintain software systems. While reverse engineering isn't a core skill, it can be useful for understanding legacy code, debugging complex issues, or analyzing third-party libraries. This course may be useful for Software Engineers. It helps learn Radare 2, a reverse engineering framework. The ability to disassemble binaries and navigate code can be helpful in certain situations. Software Engineers can benefit from the course's hands-on exercises. The skills can be applied to understand and troubleshoot software.
Information Security Analyst
Information Security Analysts protect an organization's computer systems and networks from cyber threats. This can involve a wide range of activities, including vulnerability assessments, security monitoring, and incident response. This course may be useful for Information Security Analysts. It helps learn Radare 2, a reverse engineering framework. The ability to disassemble binaries and navigate code can be helpful in certain situations. Information Security Analysts can benefit from the course's hands-on exercises. The skills can be applied to understand and troubleshoot software.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Reverse Engineering with Radare 2.
Provides a comprehensive guide to reverse engineering, covering x86, x64, and ARM architectures, as well as the Windows kernel. It delves into reversing tools and obfuscation techniques, offering practical examples and hands-on exercises. It serves as a valuable resource for understanding the underlying principles of reverse engineering and complements the Radare 2 course by providing a broader perspective on different architectures and platforms.
Is designed for individuals with little to no prior experience in reverse engineering. It provides a gentle introduction to the fundamental concepts and techniques, making it an excellent resource for beginners. The book covers essential topics such as assembly language, disassembly, and debugging, laying a solid foundation for using tools like Radare 2. It is particularly helpful for those who need to strengthen their understanding of the basics before diving into more advanced topics.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser