pwncollege
DojosLeaderboardCommunity
Back to cse365-f2025

Module 5

cse365-f2025
0/48 challenges completed

In this fifth module we will learn how to take software apart and understand how it works: reverse engineering.

Questions and Discussions (Discord)

  • Chat about the content: Core Material > #intro-to-cybersecurity
  • Create a forum post: Core Material > #core-material-forum

Reverse Engineering

Welcome to your introduction to Reverse Engineering! Reverse Engineering is a critial art that you will evolve during your journey through pwn.college, and this journey starts here with the Connor Image Format, cIMG. You have never heard of cIMG before, and it does not actually exist in the wider world, but throughout this module you will reverse engineer it by analyzing various iterations of cIMG rendering binaries. By the time you solve the last level, you will have gone from no knowledge about cIMG to complete understanding of it, a path that you will walk many times with many different programs.

1
LECTURE: Introduction
2
LECTURE: Binary Files
3
LECTURE: Process Loading
4
LECTURE: Process Execution
5
LECTURE: Functions and Frames
6
LECTURE: Data Access
7
LECTURE: Static Tools
8
LECTURE: Dynamic Tools
9
LECTURE: Real-world Applications
10
File Formats: Magic Numbers (Python)
11
File Formats: Magic Numbers (C)
12
File Formats: Magic Numbers (x86)
13
Reading Endianness (Python)
14
Reading Endianness (C)
15
Reading Endianness (x86)
16
Version Information (Python)
17
Version Information (C)
18
Version Information (x86)
19
Metadata and Data (Python)
20
Metadata and Data (C)
21
Metadata and Data (x86)
22
Input Restrictions (Python)
23
Input Restrictions (C)
24
Input Restrictions (x86)
25
Behold the cIMG! (Python)
26
Behold the cIMG! (C)
27
Behold the cIMG! (x86)
28
A Basic cIMG (Python)
29
A Basic cIMG (C)
30
A Basic cIMG (x86)
31
Internal State Mini (C)
32
Internal State Mini (x86)
33
Internal State (C)
34
Internal State (x86)
35
File Formats: Directives (C)
36
File Formats: Directives
37
The Patch Directive
38
Optimizing for Space
39
Tweaking Images
40
Storage and Retrieval
41
Extracting Knowledge
42
Advanced Sprites
43
Accessing Resources
44
Unsafe Animations
45
Animations
46
Interoperability: Patching Data
47
Patching Code
48
Patching Control Flow