• Post category:StudyBullet-13
  • Reading time:8 mins read


Learn Reverse Engineering Using Ghidra On Linux And Windows

What you will 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…

Description

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.


Get Instant Notification of New Courses on our Telegram channel.


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
  • Static Analysis
  • 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
  • Solving Crackmes
  • and more …

Suitable for:

Anyone interested to learn Reverse Engineering on Linux and Windows executable files.

English
language

Content

Introduction

Introduction

Installing Kali Linux and Ghidra

How to Install Kali Linux
How to Create a Shared Folder
Installing Ghidra

Creating Projects and Importing Files

Creating Projects and Importing Files

Decompiling Code and Renaming Symbols

Decompiling Code and Renaming Symbols

Saving and Restoring Virtual Machine Snapshots

Saving and Restoring Virtual Machine Snapshots

Configuring Ghidra to Highlight All Similar Variables Based On Selection

Configuring Ghidra to Highlight All Similar Variables Based On Selection
Understanding Command Line Parameters In Depth

ASCII Code and Hex Numbers

ASCII Code and Hex Numbers

ASCII Code and Array Indexes

ASCII Code and Array Indexes

Stepping into functions and adding comments

Stepping into functions and adding comments
Tracing Return Values

Ghidra on Windows

Installing a Windows Virtual Machine
Installing Java SDK On Wndows
Installing Ghidra, Creating Shortcuts and Changing Icons

Reversing Workflows

Reversing Workflows

Reversing GUI CrackMe’s

Reversing GUI CrackMe’s, Function Graphs, Function Call Trees, WinMain, Strings

Converting data types, Using Debuggers, Creating Functions and Function Graph

Converting data types
Using debuggers to find interesting address to decompile with Ghidra
Creating Functions and Decompiling Assembly

How to run windows exe programs on Linux

How to run windows exe programs on Linux

Reversing using combination of listing assembly and decompiled view

Reversing using combination of listing assembly and decompiled view
Analyzing autogen serial crackme

Resources For Further Study

Bonus Lecture