This repository contains all necessery material for an Angr introduction workshop
A Makefile is included that performs an automated build for installation.
A list of users is passed in via the USERS
environment variable, which will then build the binaries for each user listed.
To install an official pre-built multi-platform Ghidra release:
- Install JDK 17 64-bit
- Download a Ghidra release file
- NOTE: The official multi-platform release file is named
ghidra_<version>_<release>_<date>.zip
which can be found under the "Assets" drop-down. Downloading either of the files named "Source Code" is not correct for this step.
- NOTE: The official multi-platform release file is named
- Extract the Ghidra release file
- Launch Ghidra:
./ghidraRun
(orghidraRun.bat
for Windows)
Every thing we do with Ghidra is identifying adresses. So if you are confortable with assembly and that you like to live in your good old terminal then you can just use objdump
.
I advise you
objdump -D <binary_path> --disassembler-color=color | less
or to look for symbols (strings etc)
objdump -s <binary_path> | less
The make
command will build all the necessary binaries and put all the exercices template in obj/<username>/angr
make USERS='<username>' local
You can then go to the target directory (obj/<username>/angr
), you'll find the built binaries as well as the python files to play the levels
While compiling using "make USERS=<user> local
" you might have the following error:
fatal error: bits/libc-header-start.h: No such file or directory
One easy fix is to install the missing headers and libraries using:
sudo apt-get install gcc-multilib
The solutions of the exercices can be found in solutions.zip
with password: 4ngr2024
.
- NOTE: the addresses used in the solutions could differ from those compiled on your computer.