Competition and learning experience from one another are common in the field of reverse engineering
frameworks.
For example, Ida Pro recently incorporated the Undo feature which was previously available in Ghidra.
So this demonstrates how frameworks continually evolve and adapt to incorporate useful features from
their competitors.
So now let's take a closer look at some of the current strengths of Ghidra.
It is open source and free.
Ghidra is open source, which means it's freely available for use, including its decompiler.
And this makes it accessible to a wide range of users without any cost barriers.
So.
It has a lot of architecture support, so supports a wide range of architectures, even ones that may
not be supported by other frameworks you are currently using.
This flexibility allows you to work with different types of binaries and explore various platforms.
It has project based approach allows you to work on multiple binaries simultaneously within a project.
This feature is practically useful when dealing with related binaries such as executable and its associated
libraries.
It enables you to apply operations and analysis across multiple files efficiently.
You can do collaborative reverse engineering with Ghidra.
Ghidra is designed to support collaborative reverse engineering efforts.
Multiple users can work on the same project, facilitating teamwork and knowledge sharing with the reverse
engineering team.
You can handle large firmware images.
Ghidra is capable of handling large firmware images that are larger than one gigabyte without performance
uses.
This makes it suitable for analyzing and reverse engineering complex systems with substantial firmware
components.
Extensive documentation.
Ghidra provides a comprehensive documentation, including examples and courses like this one.
This wealth of resources helps users to understand the tools, features and capabilities, making it
easier to learn and utilize effectively.
Version.
Tracking data allows you to track different versions of binaries and compare functions and data between
them.
This functionality is valuable when working with a software that undergoes frequent updates or revisions.
In conclusion, it's beneficial to expand your knowledge by learning and exploring multiple reverse
engineering frameworks and Ghidra stands out as a powerful framework that offers unique features and
advantages.
By familiarizing familiarizing yourself with Ghidra.
You can leverage its capabilities to enhance your reverse engineering endeavors.
Now, let's provide an overview of Jupiter itself to understand its capabilities and why it is more
than just another open source Reverse Engineering framework.
Ghidra is a powerful and versatile reverse engineering tool that offers extensive functionality beyond
being an open source framework.
And in this lecture you will also we will also provide overview of Ghidra and highlight its unique features
and capabilities.
So at the time of creating this course, which is 2023, the latest version of Ghidra is ten .3.1,
which can be downloaded from official website or GitHub here.
So to install ghidra, it's recommended to download the latest version from the official website by
clicking on the just going to download here, you can also google it like ghidra here.
That's it.
And after that click on the first website download from GitHub and here you can download Ghidra from
here.
So now we will select this one here.
It's 351MB just in one click Ghidra can be downloaded.
So now let's explore the what ghidra has inside this files here.
It's already downloaded here.
Downloads.
Geneva.
And here in Ghidra we have several folders and extensions.
So here the docs directory here actually, instead of just here, let's actually.
Extract it.
And look at the files.
What does this have here?
Right.
So here.
And once you have downloaded the Ghidra archive file and decompressed it or extracted it, you will
find this following files.
Here we have docs.
This is the directory that contains the documentation and valuable resources, including learning courses
for all levels, cheat sheets and step by step installation guide here like that.
So let's actually check that.
Here we have.
We also have the change history here.
Which as you hear improvements, parks and so on.
We have the cheat sheet here.
This might especially well be useful when doing practical tests with reverse engineering here and ghidra.
There's a search and so on.
We also have Ghidra Javadoc.
We will learn that later.
Here we have the Java style.
Good.
So the purpose of the code Deuterostome accepted rules for code formatting, naming conventions, code
complexity and other best practices.
As you can see here, we also have the naming conventions here.
So name for classes, interfaces, methods, parameters, instances, variables and long lived.
Local variables should not contain abbreviations and acronyms except for well known ones.
And here we have several.
This is for the developer team.
Mainly we have the installation grid for us.
Here.
This is the minimum requirements hardware for four gigabyte Ram and one gigabyte search for installed
binaries.
And here we have also dual monitors strongly suggested.
But it's not just it's just a it's not a requirements but suggestion here.
You can also use single monitor.
Sort fair here.
We also have the Java we need to install Java development kit also.
And that's it.
So we can run the data with graphical user interface mode, which we will do.
And we also have the user agreement here.
So remember, Jatra is free and open source.
And this is the what's new here.
So.
And you can hear we can as I said, we we have the cheat sheets and step by step installation grid also.
And here we also have the extensions.
This this directory contains optional ghidra extensions that enhance its functionality and allow integration
with other tools.
And you can explore these extensions to customize and expand ghidra according to your specific needs.
And we also have the Ghidra folder.
This is the core directory that houses the program itself, and it contains the necessary files and
components for running Ghidra.
We have the GPL.
This directory contains standalone GPL support programs that accompany ghidra.
We have the licenses.
Here you can find the licenses used by Ghidra and its associated components.
And we have the server here.
This directory includes files related to ghidra server installation and administration.
So Ghidra server enables collaborative reverse engineering capabilities and allows multiple users to
work on the same project simultaneously.
We have support here.
So this directory provides advanced configuration options for running ghidra and controlling its launch
behavior.
It allows you to launch ghidra in different modes, including debugging mode.
Here.
That's it here.
And we have the Ghidra run shell script here.
So Ghidra run and Ghidra run that.
But these scripts are used to launch Ghidra on Linux and Windows respectively, and you will in Linux
you will use Ghidra Run, but in Windows you will use Ghidra run that path here.
So they provide convenient shortcuts for starting Ghidra.
And lastly, we have the license here.
So this file contains the Ghidra license information and in addition to the downloading Precompiled
release versions of Ghidra, it's also possible to compile the program on your own and instruction for
compiling Ghidra can be found in the documentation provided with the tool, but it is not necessary
for because we already downloaded the compiled one here.
So learning Ghidra and familiarizing yourself with its capabilities can greatly expand your reverse
engineering toolkit.
While other frameworks like Ida Binary Ninja or Radare2 may have their own disadvantages, Ghidra offers
unique features, including its open source nature, extensive architecture support, collaborative
capabilities and efficient handling of large firmware images.
And it's important to embrace the idea of learning multiple frameworks to leverage their individual
strengths and benefits from the continuous advancements in the field.
By incorporating Ghidra into your repertoire, you can.
You are gaining access to a powerful and widely used reverse engineering framework that can enhance
your ability to analyze and understand software systems.