Course navigatorUnofficial student prototype · fictional course data

Overview›Seeing Through Obfuscated Code›Course information

Course outline and how this course runs

What the twelve weeks do, the one program they all work on, and the reading habit the whole course is built around.

All of Course information

This course asks one question for twelve weeks:

How much program meaning survives a change of representation, and which deobfuscation methods generalise beyond one implementation?

Everything here happens to one 483-line C file, frozen before anything was built from it. Because the source was fixed first, no difference between two of this course’s binaries can be a difference in the program. When the machine code changes, something changed it — and that is the only explanation available.

The shape of the twelve weeks

BlockWeeksWhat it establishes
11–3One program has several truthful descriptions, and they disagree about size.
24–6Something always simplifies obfuscated arithmetic for you — and it is usually not your analysis.
37–9What a proof is worth, and what still has to happen after one.
410–12Two results in this corpus look like successes and are not.

Each block opens with a spine lecture and carries three studio weeks.

The habit

Every week page ends with a ledger in two columns: what the week established, and what it withheld. The second column is the one that carries the marks. By week 12 you should be unable to read a claim about a binary without asking which representation it is about, which comparator it was measured against, and at which optimisation level.

Three sentences you will write all semester:

  1. Which representation am I looking at?
  2. What would have to be true for my answer to be wrong?
  3. This does not show that…

Where things live

The teaching weeks are listed in order in this course’s contents, with Assessments above them so the four briefs are in one place rather than scattered across the weeks they were set in. Reference material that does not belong to any one week — the terminology, the claim boundaries, the tool catalogue — sits under Other course resources, and is findable there without having to remember which page linked to it.

Demonstration content. Reused — course question, structure and framing from comp4020-ass2-Ky787 (src/course-config.ts, src/pages/index.astro)