Requirements:

For this Lab you will have to use the following tools:
You may also have to run x86 Linux binary codes.
You can either use your own machine, or use a Virtual Machine available on the Ensimag computers ...

All the necessary files are provided in this archive.

Exercise 1

Read, execute and understand this short tutorial.
(the example described in this tutorial is this one)


Exercise 2

Solve these two (easy !) reverse challenges (borrowed from the RootMe web site):

 Exercise 3

  1. Disassemble executable foo.exe (using IDA Pro or objdump).
  2.  What is the expected behavior of function foo ? How much time is it called ?
  3. Execute this code ...
  4. What do you conclude ? How is it possible ???
  5. To confirm your intuition run this code under gdb and disassemble function foo before each call (using breakpoints)

Exercise 4

  1. Write a (simple !) crakme in C.
  2. Compile it, and challenge your colleagues (giving them the executable file only ...)

Exercise 5

Try to solve the crakme provided in the virtual machine ...