I'm organizing an introduction to reverse engineering weekend class in my city and wanted to get some feedback and advice on how to structure it. I'm considering two 5 hour sessions.

The objective is for the students to be able to use linux tools and and reverse engineering tools (specifically radare2/GDB) to start doing CTFs and crackmes to practice. The target audience is software engineers, developers and students. Having said that and after a few conversations with potential participants, quality here is mediocre at best so I rather prepare for the worse and assume some participants won't even know the behind the scenes of a compilation process.

What I have so far is the following:

  1. Linux usage
  2. Memory map
  3. Binary sections
  4. Passing function arguments
  5. Radare installation
  6. Quick intro to x86 assembler
  7. Gdb
  8. Stacks - return address
  9. stack canaries
  10. Buffer overflows
  11. Shellcode
  12. Nop slides
  13. CTF’s challenges
  • I'm voting to close this question as off-topic because this type of questions does not quite fit into the stack exchange model. It is better to use other means to find relevant and up-to-date references instead. – NirIzr Oct 22 '16 at 2:09

This type of questions does not quite fit into the stack exchange model. It is better to google for relevant and up-to-date references instead.

You can find an old similar question here, and you can see the reasoning behind closing such questions here.

I advise against writing/planning something for yourself, as a lot of time and effort was put by others and there are plenty of existing reverse engineering introduction materials.

Here's a short list of tutorial repositories and collections, that seemed constantly maintained for a period of time and relevant at the time of writing (October 2016).

Over 150 modules/articles (some include exercises) by the InfoSec Institute.

A two day class created by Matt Briggs

Video presentations and exercises by Symantec

Not the answer you're looking for? Browse other questions tagged or ask your own question.