1 min read

Let's Try Something New

Photo by ELLA DON / Unsplash
Photo by ELLA DON / Unsplash

For several years now, I've been teaching a master's course in software reverse engineering and protection at the University of Applied Sciences Western Switzerland (HES-SO).

This course consists of a theoretical part, in which I cover a whole range of basic concepts and technological reminders, and a practical part, in which students exercise their talents on crackmes and keygenmes of increasing difficulty.

This year, I've decided to innovate a bit and will distill the theoretical part into a free newsletter. Specifically, 21 bite-sized episodes will be sent out periodically during the 14-week course, starting on February 17th, 2025. These posts will contain the technical reminders and ideas that represent a minimum body of software reverse engineering knowledge presented to my students.

The following topics will be covered:

  • Reverse engineering basics, general process, and tools
  • Intel x86 and ARM architectures
  • Structure and life of an executable
  • Native and interpreted languages
  • Debugging and hooking
  • Binary instrumentation
  • Software protection basics
  • Code obfuscation
  • Code virtualization and tamper-proofing
  • Anti-debug tricks and jailbreak detection
  • Advanced reverse engineering and software protection techniques
  • Remote attestation

This is an introductory course aimed at people with no or little experience in reverse engineering, and the prerequisites are modest: basic computer science, a good working knowledge of a low-level programming language such as C, C++ or Rust, and of the Linux operating system.

If you'd like to find out more about these topics, or simply refresh your knowledge, don't hesitate to subscribe to this newsletter and spread the word!

In the first episode, I’ll cover the basics of reverse engineering. Stay tuned!


Thanks for reading Crumbs of Cybersecurity! Subscribe for free to receive new posts.