exatlon

47 lines

1350 in disk

181 available

A harder Software Reverse Engineering (SRE) challenge. This one is only available on 64-bit Intel Linux machines.
If you're on windows use WSL or don't run it at all for an added challenge (it's 100% possible!).
If you're on mac you won't be able to run it, but it is still very possible.
Click here for amd64 Linux.
Show the sourcecode

int main(void)
{
    /*i thought you'd learn by now!!*/
    return 0;
}

simplySRE

29 lines

508 in disk

225 available

Ever wondered what's on the inside of an executable file? Try right clicking then hitting edit on an executable. It's all gibberish. Today, we'll learn how to read that gibberish.
Click here for Mac M1.
Click here for x64 Windows.
Click here for x64 Linux.

Programs needed:
- Ghidra downloaded from this direct link and unzipped (it’s fairly large, about 1-2GB)
- A working installation of JRE version 11+; I recommend downloading from here

Show the sourcecode

int main(void)
{
    /*now why would I give you the source code???*/
    return 0;
}

formatme

33 lines

932 in disk

163 available

A super cool demonstration of a format string vulnerability. Your goal is to get the secret which is the macro SUPER_SECRET in the code below.
Click here for Mac M1.
Click here for x64 Windows.
Click here for x64 Linux.
Show the sourcecode

#include <unistd.h>
#include <stdio.h>
int main()
{
    int secret_num = SUPER_SECRET;
    char name[64];
    read(0, name, 64);
    printf("Hello ");
    printf(name);
    printf("! You'll never get my secret!\n");
}

overflowme

44 lines

871 in disk

56 available

This is a super cool buffer overflow demonstration. Your goal is to get the program to output the "Yay! Your number is '68'"
Click here for Mac M1.
Click here for x64 Windows.
Click here for x64 Linux.
Show the sourcecode

#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
int main(int argc, char **argv)
{
    volatile int modified;
    char buffer[64];
    modified = 0;
    gets(buffer);
    if(modified != 0) {
        printf("Yay! Your number is \'%d\'\n", modified);
    } else {
        printf("Try again?\n");
    }
}

Announcements

11K viewed

627K in disk

46K available

reverse engineering

make a wish! it's 11/11. anyways, today we're doing software reverse engineering (sre) so, open simplySRE!! if you finish that, open exatlon (this can take hours to solve)

buffer overflow

open the overflowme file. after youre finished, open formatme file