Don't like this style? Click here to change it! blue.css

LOGIN:
Welcome .... Click here to logout

Class 3: Let's learn x86

OK, so we have been turning C into x86 and recognizing patterns.

The job today is to understand what really happens as a CPU runs a program and to learn the most important (basic) instructions and what they do.

Also I'm loving this Godbolt compiler explorer: https://godbolt.org/z/q9anfY8je

Radare2 and Debugging

OK so now let's introduce my favorite command-line reversing program:

Compile a simple C program and run r2 -Ad a.out then db main then dc then Vpp

Now you can navigate around using j and k, go into a command menu with : make a step with s or step over with S.

Let's look together at how registers work, how the instruction pointer moves, how the intruction addresses work, and see the above instructions in action.

You win when you can predict what will happen then see it happen.

First sets of "crackme"s

Find the flags: This GitHub Repo has crackme0x00a crackme0x00b and crackme0x01, solve them.

Here are some binaries from real CTFs of the recent past:

yopass CTF{sha256}

cat.elf ctf{sha256}

math.out

pwn_bazooka_bazooka CTF{sha256}