Reverse Engineering: Ghidra For Beginners
What you'll learn
- Reverse Engineering
- Basics of Ghidra
- Solving Linux and Windows CrackMe's
- Understand Windows API's
- Identify Entry Points, Main and WinMain functions
- Analyzing using Function Graph and Function Call Trees
- Doing String Search and Defined Strings
- Windows API
- Function Call Graphs
- Creating Functions
- Converting data types
- Editing function signatures
- Cross referencing function calls and strings
- and more...
- Familiar with basic Linux Commands
- Some Basics of Assembly and C would be helpful but not strictly necessary
- Windows PC
If you have never used Ghidra before and want to learn how get started with using Ghidra to reverse engineer and analyse programs, then this is the course for you.
Ghidra is the strong competitor to IDA Pro and is used by NSA itself for Reverse Engineering. And the best thing is that it is totally free. It is used for Reverse Engineering, Malware Analysis and Exploits analysis. In this course we will learn Ghidra by solving Linux and Windows CrackMe challenges. A CrackMe is a small program designed to test a programmer's reverse engineering skills. This course is an introduction to Reverse Engineering for anyone who wants to get started in this field. It is suitable for software developers who want to learn how software works internally and also for reverse engineers who want to understand how Linux and Windows binaries work. This course will equip you with the knowledge and skill to use Ghidra in addition to whatever other tools you might already be familiar. It is also suitable for absolute beginners with no knowledge of reversing, as I will take you from zero to basics.
I will start off with showing you how to install Oracle Virtual Box. Then, installing Java SDK and Kali Linux in the Virtual Box. Then, we will reverse engineer Linux executable files.
Next, we will move on to installing Java SDK and Ghidra for Windows and reverse and analyze Windows programs. You will also learn how to reverse GUI CrackMe's. You will learn how to use Function Graphs, Function Call Trees, Search String, Defined Strings and more. The course will also cover how to identify program entry point and also find the main functions for command line interface apps and WinMain for GUI based apps.
By the end of this course, you will have the basic skills to start reversing and analyzing Linux and Windows binaries.
What you will learn:
How to disassemble programs into assembly code
How to decompile programs to C code
Understand Windows API's
Identify entry points, main and WinMain functions
Use String Search and Defined Strings
Visualizing the Call Stack using Function Graph and Function Call Trees
and more ...
Anyone interested to learn Reverse Engineering on Linux and Windows executable files.
Who this course is for:
- Anyone interested to learn how to get started with Ghidra on Linux and Windows
- Those who have never used Ghidra before and want to learn the basics
- Students with some basic experience with other disassemblers
I am a semi-retired college lecturer with more than 20 years experience in teaching computing and information technology. My interests range from reversing, coding to graphics design, apps, games development, music, health, spirituality and well-being. In my spare time, I also play the piano and keyboard. I enjoy teaching face-to-face and online and also love educating and inspiring others to succeed and live the life of their dreams.